ChatKit-server/src/main.rs

85 lines
2.3 KiB
Rust

mod lib;
use clap::{App, Arg};
use crate::lib::server::Server;
use crate::lib::foundation::ICooperative;
fn main() {
let _args = App::new("--rust chat server--")
.version("0.1.5")
.author("Mitchel Hardie <mitch161>, Michael Bailey <michael-bailey>")
.about("this is a chat server developed in rust, depending on the version one of two implementations will be used")
.arg(
Arg::with_name("config")
.short("p")
.long("port")
.value_name("PORT")
.help("sets the port the server runs on.")
.takes_value(true))
.get_matches();
let server = Server::new();
loop {
server.tick();
}
}
// MARK: - general testing zone
// #[cfg(test)]
// mod tests {
// use crate::server::server_profile::Server;
// use crate::client_api::ClientApi;
// use std::collections::HashMap;
// use crate::commands::Commands;
// use std::{thread, time};
// #[test]
// fn test_server_info() {
// // setup the server
// let name = "Server-01";
// let address = "0.0.0.0:6000";
// let owner = "noreply@email.com";
// let mut server = Server::new(name, address, owner);
// let result = server.start();
// assert_eq!(result.is_ok(), true);
// let dur = time::Duration::from_millis(1000);
// thread::sleep(dur);
// let api = ClientApi::get_info("127.0.0.1:6000");
// assert_eq!(api.is_ok(), true);
// if let Ok(api) = api {
// println!("received: {:?}", api);
// let mut map = HashMap::new();
// map.insert("name".to_string(), name.to_string());
// map.insert("owner".to_string(), owner.to_string());
// let expected = Commands::Info(Some(map));
// println!("expected: {:?}", expected);
// assert_eq!(api, expected);
// }
// }
// #[test]
// fn test_server_connect() {
// let name = "Server-01";
// let address = "0.0.0.0:6001";
// let owner = "noreply@email.com";
// let mut server = Server::new(name, address, owner);
// let _ = server.start().unwrap();
// let api_result = ClientApi::new(address);
// assert_eq!(api_result.is_ok(), true);
// if api_result.is_ok() {
// std::thread::sleep(std::time::Duration::from_secs(2));
// }
// }
// }