refactor: move common test code into module

This commit is contained in:
Greg Heartsfield 2022-09-17 12:37:49 -05:00
parent 786a354776
commit 29b1e8ce58
2 changed files with 31 additions and 30 deletions

29
tests/common/mod.rs Normal file
View File

@ -0,0 +1,29 @@
use log::*;
use nostr_rs_relay::config;
use nostr_rs_relay::server::start_server;
use std::sync::mpsc as syncmpsc;
use std::sync::mpsc::{Receiver as MpscReceiver, Sender as MpscSender};
use std::thread;
use std::thread::JoinHandle;
pub struct Relay {
pub handle: JoinHandle<()>,
pub shutdown_tx: MpscSender<()>,
}
pub fn start_relay(port: u16) -> Relay {
let _ = env_logger::try_init();
info!("Starting up from main");
// replace default settings
let mut settings = config::Settings::default();
settings.database.in_memory = true;
settings.network.port = port;
let (shutdown_tx, shutdown_rx): (MpscSender<()>, MpscReceiver<()>) = syncmpsc::channel();
let handle = thread::spawn(|| {
let _ = start_server(settings, shutdown_rx);
});
return Relay {
handle,
shutdown_tx,
};
}

View File

@ -1,39 +1,11 @@
use console_subscriber::ConsoleLayer;
use log::*;
use nostr_rs_relay::config;
use nostr_rs_relay::server::start_server;
use std::sync::mpsc as syncmpsc;
use std::sync::mpsc::{Receiver as MpscReceiver, Sender as MpscSender};
use std::thread; use std::thread;
use std::thread::JoinHandle;
use std::time::Duration; use std::time::Duration;
struct Relay { mod common;
handle: JoinHandle<()>,
shutdown_tx: MpscSender<()>,
}
fn start_relay(port: u16) -> Relay {
ConsoleLayer::builder().with_default_env().init();
let _ = env_logger::try_init();
info!("Starting up from main");
// replace default settings
let mut settings = config::Settings::default();
settings.database.in_memory = true;
settings.network.port = port;
let (shutdown_tx, shutdown_rx): (MpscSender<()>, MpscReceiver<()>) = syncmpsc::channel();
let handle = thread::spawn(|| {
let _ = start_server(settings, shutdown_rx);
});
return Relay {
handle,
shutdown_tx,
};
}
#[test] #[test]
fn startup() { fn startup() {
let relay = start_relay(8080); let relay = common::start_relay(8080);
// just make sure we can startup and shut down. // just make sure we can startup and shut down.
// if we send a shutdown message before the server is listening, // if we send a shutdown message before the server is listening,
// we will get a SendError. Keep sending until someone is // we will get a SendError. Keep sending until someone is