extern crate actix;
extern crate futures;
extern crate tokio;
use std::thread;
use std::time::Duration;
use actix::actors::{resolver, signal};
use actix::prelude::*;
use futures::Future;
#[test]
fn test_resolver() {
System::run(|| {
Arbiter::spawn({
let resolver = System::current().registry().get::<resolver::Resolver>();
resolver
.send(resolver::Resolve::host("localhost"))
.then(|_| {
System::current().stop();
Ok::<_, ()>(())
})
});
Arbiter::spawn({
let resolver = System::current().registry().get::<resolver::Resolver>();
resolver
.send(resolver::Connect::host("localhost:5000"))
.then(|_| Ok::<_, ()>(()))
});
});
}
#[test]
#[cfg(unix)]
fn test_signal() {
System::run(|| {
let _addr = signal::DefaultSignalsHandler::start_default();
let sig = System::current().registry().get::<signal::ProcessSignals>();
std::thread::spawn(move || {
thread::sleep(Duration::from_millis(100));
sig.do_send(signal::SignalType::Quit);
});
});
}
#[test]
#[cfg(unix)]
fn test_signal_term() {
System::run(|| {
let _addr = signal::DefaultSignalsHandler::start_default();
Arbiter::spawn(futures::lazy(move || {
let sig = System::current().registry().get::<signal::ProcessSignals>();
sig.do_send(signal::SignalType::Term);
Ok(())
}));
});
}
#[test]
#[cfg(unix)]
fn test_signal_int() {
System::run(|| {
let _addr = signal::DefaultSignalsHandler::start_default();
Arbiter::spawn(futures::lazy(move || {
let sig = System::current().registry().get::<signal::ProcessSignals>();
sig.do_send(signal::SignalType::Hup);
sig.do_send(signal::SignalType::Int);
Ok(())
}));
});
}