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;
|
extern crate librojo;
|
||||||
|
|
||||||
|
mod test_util;
|
||||||
|
use test_util::*;
|
||||||
|
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
|
|
||||||
use rouille::Request;
|
|
||||||
|
|
||||||
use librojo::{
|
use librojo::{
|
||||||
session::Session,
|
session::Session,
|
||||||
project::Project,
|
project::Project,
|
||||||
web::{Server, WebConfig, ServerInfoResponse},
|
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]
|
#[test]
|
||||||
fn empty() {
|
fn empty() {
|
||||||
let project_path = {
|
let project_path = {
|
||||||
|
|
@ -44,7 +32,7 @@ fn empty() {
|
||||||
let server = Server::new(web_config);
|
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();
|
let response = serde_json::from_str::<ServerInfoResponse>(&body).unwrap();
|
||||||
|
|
||||||
assert_eq!(response.server_id, "0");
|
assert_eq!(response.server_id, "0");
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue