Fix clippy warnings

This commit is contained in:
notplants 2021-11-04 22:39:40 +01:00
parent 64e083f516
commit 4f6fb17069
3 changed files with 34 additions and 97 deletions

View File

@ -29,10 +29,9 @@ pub mod routes;
#[cfg(test)]
mod tests;
pub mod utils;
mod ws;
use std::{env, thread};
use log::{debug, error, info};
use log::{info, error};
use std::process;
use rocket::{catchers, routes, Rocket, Build, fs::FileServer};
use rocket_dyn_templates::Template;
@ -47,7 +46,7 @@ use crate::routes::scuttlebutt::*;
use crate::routes::settings::admin::*;
use crate::routes::settings::dns::*;
use crate::routes::settings::network::*;
use crate::ws::*;
pub type BoxError = Box<dyn std::error::Error>;
@ -140,5 +139,8 @@ async fn main() {
// launch rocket
info!("Launching Rocket");
rocket.launch().await;
if let Err(e) = rocket.launch().await {
error!("Error in Rocket application: {}", e);
process::exit(1);
}
}

View File

@ -3,9 +3,9 @@ use std::io::Read;
use rocket::http::{ContentType, Status};
use rocket::local::blocking::Client;
use rocket::serde::json::{json, Json, Value};
use crate::utils::build_json_response;
use super::init_rocket;
@ -15,7 +15,7 @@ where
T: Into<Option<&'static str>>,
{
let client = Client::tracked(init_rocket()).unwrap();
let mut response = client.get(path).dispatch();
let response = client.get(path).dispatch();
assert_eq!(response.status(), status);
let body_data = response.into_bytes();
@ -40,7 +40,7 @@ fn read_file_content(path: &str) -> Vec<u8> {
#[test]
fn index_html() {
let client = Client::tracked(init_rocket()).expect("valid rocket instance");
let mut response = client.get("/").dispatch();
let response = client.get("/").dispatch();
assert_eq!(response.status(), Status::Ok);
assert_eq!(response.content_type(), Some(ContentType::HTML));
let body = response.into_string().unwrap();
@ -55,7 +55,7 @@ fn index_html() {
#[test]
fn network_card_html() {
let client = Client::tracked(init_rocket()).expect("valid rocket instance");
let mut response = client.get("/network").dispatch();
let response = client.get("/network").dispatch();
assert_eq!(response.status(), Status::Ok);
assert_eq!(response.content_type(), Some(ContentType::HTML));
let body = response.into_string().unwrap();
@ -73,7 +73,7 @@ fn network_card_html() {
#[test]
fn network_list_html() {
let client = Client::tracked(init_rocket()).expect("valid rocket instance");
let mut response = client.get("/network/wifi").dispatch();
let response = client.get("/network/wifi").dispatch();
assert_eq!(response.status(), Status::Ok);
assert_eq!(response.content_type(), Some(ContentType::HTML));
let body = response.into_string().unwrap();
@ -95,7 +95,7 @@ fn network_detail_html() {
#[test]
fn network_add_html() {
let client = Client::tracked(init_rocket()).expect("valid rocket instance");
let mut response = client.get("/network/wifi/add").dispatch();
let response = client.get("/network/wifi/add").dispatch();
assert_eq!(response.status(), Status::Ok);
assert_eq!(response.content_type(), Some(ContentType::HTML));
let body = response.into_string().unwrap();
@ -109,7 +109,7 @@ fn network_add_html() {
#[test]
fn network_add_ssid_html() {
let client = Client::tracked(init_rocket()).expect("valid rocket instance");
let mut response = client.get("/network/wifi/add?ssid=Home").dispatch();
let response = client.get("/network/wifi/add?ssid=Home").dispatch();
assert_eq!(response.status(), Status::Ok);
assert_eq!(response.content_type(), Some(ContentType::HTML));
let body = response.into_string().unwrap();
@ -123,7 +123,7 @@ fn network_add_ssid_html() {
#[test]
fn device_html() {
let client = Client::tracked(init_rocket()).expect("valid rocket instance");
let mut response = client.get("/device").dispatch();
let response = client.get("/device").dispatch();
assert_eq!(response.status(), Status::Ok);
assert_eq!(response.content_type(), Some(ContentType::HTML));
let body = response.into_string().unwrap();
@ -136,7 +136,7 @@ fn device_html() {
#[test]
fn help_html() {
let client = Client::tracked(init_rocket()).expect("valid rocket instance");
let mut response = client.get("/help").dispatch();
let response = client.get("/help").dispatch();
assert_eq!(response.status(), Status::Ok);
assert_eq!(response.content_type(), Some(ContentType::HTML));
let body = response.into_string().unwrap();
@ -146,7 +146,7 @@ fn help_html() {
#[test]
fn login_html() {
let client = Client::tracked(init_rocket()).expect("valid rocket instance");
let mut response = client.get("/login").dispatch();
let response = client.get("/login").dispatch();
assert_eq!(response.status(), Status::Ok);
assert_eq!(response.content_type(), Some(ContentType::HTML));
let body = response.into_string().unwrap();
@ -156,7 +156,7 @@ fn login_html() {
#[test]
fn messages_html() {
let client = Client::tracked(init_rocket()).expect("valid rocket instance");
let mut response = client.get("/messages").dispatch();
let response = client.get("/messages").dispatch();
assert_eq!(response.status(), Status::Ok);
assert_eq!(response.content_type(), Some(ContentType::HTML));
let body = response.into_string().unwrap();
@ -166,7 +166,7 @@ fn messages_html() {
#[test]
fn peers_html() {
let client = Client::tracked(init_rocket()).expect("valid rocket instance");
let mut response = client.get("/peers").dispatch();
let response = client.get("/peers").dispatch();
assert_eq!(response.status(), Status::Ok);
assert_eq!(response.content_type(), Some(ContentType::HTML));
let body = response.into_string().unwrap();
@ -176,7 +176,7 @@ fn peers_html() {
#[test]
fn profile_html() {
let client = Client::tracked(init_rocket()).expect("valid rocket instance");
let mut response = client.get("/profile").dispatch();
let response = client.get("/profile").dispatch();
assert_eq!(response.status(), Status::Ok);
assert_eq!(response.content_type(), Some(ContentType::HTML));
let body = response.into_string().unwrap();
@ -186,7 +186,7 @@ fn profile_html() {
#[test]
fn shutdown_html() {
let client = Client::tracked(init_rocket()).expect("valid rocket instance");
let mut response = client.get("/shutdown").dispatch();
let response = client.get("/shutdown").dispatch();
assert_eq!(response.status(), Status::Ok);
assert_eq!(response.content_type(), Some(ContentType::HTML));
let body = response.into_string().unwrap();
@ -196,7 +196,7 @@ fn shutdown_html() {
#[test]
fn network_usage_html() {
let client = Client::tracked(init_rocket()).expect("valid rocket instance");
let mut response = client.get("/network/wifi/usage").dispatch();
let response = client.get("/network/wifi/usage").dispatch();
assert_eq!(response.status(), Status::Ok);
assert_eq!(response.content_type(), Some(ContentType::HTML));
let body = response.into_string().unwrap();
@ -287,7 +287,7 @@ fn activate_client() {
#[test]
fn return_ip() {
let client = Client::tracked(init_rocket()).expect("valid rocket instance");
let mut response = client
let response = client
.get("/api/v1/network/ip")
.header(ContentType::JSON)
.dispatch();
@ -301,7 +301,7 @@ fn return_ip() {
#[test]
fn return_rssi() {
let client = Client::tracked(init_rocket()).expect("valid rocket instance");
let mut response = client
let response = client
.get("/api/v1/network/rssi")
.header(ContentType::JSON)
.dispatch();
@ -314,7 +314,7 @@ fn return_rssi() {
#[test]
fn return_ssid() {
let client = Client::tracked(init_rocket()).expect("valid rocket instance");
let mut response = client
let response = client
.get("/api/v1/network/ssid")
.header(ContentType::JSON)
.dispatch();
@ -327,7 +327,7 @@ fn return_ssid() {
#[test]
fn return_state() {
let client = Client::tracked(init_rocket()).expect("valid rocket instance");
let mut response = client
let response = client
.get("/api/v1/network/state")
.header(ContentType::JSON)
.dispatch();
@ -342,7 +342,7 @@ fn return_state() {
#[test]
fn return_status() {
let client = Client::tracked(init_rocket()).expect("valid rocket instance");
let mut response = client
let response = client
.get("/api/v1/network/status")
.header(ContentType::JSON)
.dispatch();
@ -355,7 +355,7 @@ fn return_status() {
#[test]
fn scan_networks() {
let client = Client::tracked(init_rocket()).expect("valid rocket instance");
let mut response = client
let response = client
.get("/api/v1/network/wifi")
.header(ContentType::JSON)
.dispatch();
@ -368,7 +368,7 @@ fn scan_networks() {
#[test]
fn add_wifi() {
let client = Client::tracked(init_rocket()).expect("valid rocket instance");
let mut response = client
let response = client
.post("/api/v1/network/wifi")
.header(ContentType::JSON)
.body(r#"{ "ssid": "Home", "pass": "Password" }"#)
@ -382,7 +382,7 @@ fn add_wifi() {
#[test]
fn remove_wifi() {
let client = Client::tracked(init_rocket()).expect("valid rocket instance");
let mut response = client
let response = client
.post("/api/v1/network/wifi/forget")
.header(ContentType::JSON)
.body(r#"{ "ssid": "Home" }"#)
@ -396,7 +396,7 @@ fn remove_wifi() {
#[test]
fn new_password() {
let client = Client::tracked(init_rocket()).expect("valid rocket instance");
let mut response = client
let response = client
.post("/api/v1/network/wifi/modify")
.header(ContentType::JSON)
.body(r#"{ "ssid": "Home", "pass": "Password" }"#)
@ -410,7 +410,7 @@ fn new_password() {
#[test]
fn ping_pong() {
let client = Client::tracked(init_rocket()).expect("valid rocket instance");
let mut response = client
let response = client
.get("/api/v1/ping")
.header(ContentType::JSON)
.dispatch();
@ -474,7 +474,7 @@ fn invalid_get_request() {
let client = Client::tracked(init_rocket()).unwrap();
// try to get a path that doesn't exist
let mut res = client
let res = client
.get("/message/99")
.header(ContentType::JSON)
.dispatch();

View File

@ -1,65 +0,0 @@
// NOTE: websockets are not currently in use for PeachCloud but may be in the
// future.
use std::io;
use std::thread;
use log::{debug, info};
use websocket::sync::Server;
use websocket::{Message, OwnedMessage};
pub fn websocket_server(address: String) -> io::Result<()> {
// start listening for WebSocket connections
let ws_server = Server::bind(address)?;
info!("Listening for WebSocket connections.");
for connection in ws_server.filter_map(Result::ok) {
// spawn a new thread for each connection
thread::spawn(move || {
if !connection
.protocols()
.contains(&"rust-websocket".to_string())
{
connection.reject().unwrap();
return;
}
let mut client = connection.use_protocol("rust-websocket").accept().unwrap();
let client_ip = client.peer_addr().unwrap();
debug!("Websocket connection from {}.", client_ip);
let msg_text = "Websocket successfully connected.".to_string();
let message = Message::text(msg_text);
client.send_message(&message).unwrap();
let (mut receiver, mut sender) = client.split().unwrap();
for message in receiver.incoming_messages() {
let message = message.unwrap();
match message {
OwnedMessage::Close(_) => {
debug!("Received close message.");
let message = Message::close();
sender.send_message(&message).unwrap();
debug!("Websocket client {} disconnected.", client_ip);
return;
}
OwnedMessage::Ping(data) => {
debug!("Received ping message.");
let message = Message::pong(data);
sender.send_message(&message).unwrap();
}
_ => {
sender.send_message(&message).unwrap();
debug!("Received unknown message: {:?}", message);
}
}
}
});
}
Ok(())
}