mirror of
https://github.com/rojo-rbx/rojo.git
synced 2026-10-23 05:51:39 +00:00
Add test utilities for server
This commit is contained in:
parent
9e0e12358c
commit
27d5bd3d6f
2 changed files with 26 additions and 16 deletions
22
server/tests/test_util/mod.rs
Normal file
22
server/tests/test_util/mod.rs
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
use rouille::Request;
|
||||
|
||||
use librojo::web::Server;
|
||||
|
||||
pub trait HttpTestUtil {
|
||||
fn get_string(&self, url: &str) -> String;
|
||||
}
|
||||
|
||||
impl HttpTestUtil for Server {
|
||||
fn get_string(&self, url: &str) -> String {
|
||||
let info_request = Request::fake_http("GET", url, vec![], vec![]);
|
||||
let response = self.handle_request(&info_request);
|
||||
|
||||
assert_eq!(response.status_code, 200);
|
||||
|
||||
let (mut reader, _) = response.data.into_reader_and_size();
|
||||
let mut body = String::new();
|
||||
reader.read_to_string(&mut body).unwrap();
|
||||
|
||||
body
|
||||
}
|
||||
}
|
||||
|
|
@ -4,30 +4,18 @@ extern crate serde;
|
|||
|
||||
extern crate librojo;
|
||||
|
||||
mod test_util;
|
||||
use test_util::*;
|
||||
|
||||
use std::collections::HashMap;
|
||||
use std::path::PathBuf;
|
||||
|
||||
use rouille::Request;
|
||||
|
||||
use librojo::{
|
||||
session::Session,
|
||||
project::Project,
|
||||
web::{Server, WebConfig, ServerInfoResponse},
|
||||
};
|
||||
|
||||
fn get(server: &Server, url: &str) -> String {
|
||||
let info_request = Request::fake_http("GET", url, vec![], vec![]);
|
||||
let response = server.handle_request(&info_request);
|
||||
|
||||
assert_eq!(response.status_code, 200);
|
||||
|
||||
let (mut reader, _) = response.data.into_reader_and_size();
|
||||
let mut body = String::new();
|
||||
reader.read_to_string(&mut body).unwrap();
|
||||
|
||||
body
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn empty() {
|
||||
let project_path = {
|
||||
|
|
@ -44,7 +32,7 @@ fn empty() {
|
|||
let server = Server::new(web_config);
|
||||
|
||||
{
|
||||
let body = get(&server, "/api/rojo");
|
||||
let body = server.get_string("/api/rojo");
|
||||
let response = serde_json::from_str::<ServerInfoResponse>(&body).unwrap();
|
||||
|
||||
assert_eq!(response.server_id, "0");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue