tapir-rs/tests/simple_setup.rs

49 lines
1.9 KiB
Rust
Raw Normal View History

#[cfg(test)]
mod test {
use tapir::acns::tor::authentication::HashedPassword;
use tapir::acns::tor::TorProcess;
use rand::rngs::OsRng;
use tapir::primitives::identity::Identity;
use ed25519_dalek::SecretKey;
use tapir::connections::service::Service;
use tapir::applications::transcript_app::TranscriptApp;
use std::net::TcpStream;
use std::io::Write;
use tapir::applications::authentication_app::AuthenicationApp;
use tapir::primitives::transcript::Transcript;
#[test]
fn test_simple_setup() {
let mut auth_control_port = TorProcess::connect(9051).unwrap().authenticate(Box::new(HashedPassword::new(String::from("examplehashedpassword")))).unwrap();
let mut csprng = OsRng{};
let keypair = ed25519_dalek::Keypair::generate(&mut csprng);
match auth_control_port.add_onion_v3(SecretKey::from_bytes(&keypair.secret.to_bytes()).unwrap(), 9878, 10029) {
Ok(service_id) => {
// we authenticated!
let identity = Identity::initialize(keypair);
println!("Service Id: {}", service_id);
println!("Setup: {}", identity.hostname());
let mut service = Service::init(identity.clone());
let identity = identity.clone();
let function = |mut conn: TcpStream| {
let mut transcript = Transcript::new_transcript("tapir-transcript");
let mut auth_app = AuthenicationApp::new(identity);
auth_app.run(&mut conn, &mut transcript);
};
// let mut service = service.listen(10029, function.clone()).unwrap_or_else(|_|panic!());
service.connect("hejcfc3pduhcymo7i3zkoxezbjvw3vdsbavyy7gfsd677l5py7ccnlyd", function.clone());
// service.close();
loop{}
},
Err(err) => {
println!("{:?}", err)
}
}
}
}