simple-learning

Simple learning web program
git clone git://git.laack.co/simple-learning.git
Log | Files | Refs | README | LICENSE

test_server.ml (1936B)


      1 open Learning
      2 
      3 let test_server = Dream.test @@ Dream.router Server.routes
      4 let root_response = test_server (Dream.request ~target:"/" "")
      5 
      6 let course_0_response =
      7   test_server (Dream.request ~target:"/course/course_0/" "")
      8 
      9 let course_1_response =
     10   test_server (Dream.request ~target:"/course/course_1/" "")
     11 
     12 let course_0_page_0_response =
     13   test_server (Dream.request ~target:"/course/course_0/page/0_example.sl" "")
     14 
     15 let course_dne_response =
     16   test_server (Dream.request ~target:"/course/this_course_doesnt_exist/" "")
     17 
     18 let course_dne_page_dne_response =
     19   test_server
     20     (Dream.request
     21        ~target:"/course/this_course_doesnt_exist/page/this_page_doesnt_exist.sl"
     22        "")
     23 
     24 let page_dne_response =
     25   test_server
     26     (Dream.request ~target:"/course/course_0/page/this_page_doesnt_exist.sl" "")
     27 
     28 let empty_page_response =
     29   test_server (Dream.request ~target:"/course/course_1/page/1_example.sl" "")
     30 
     31 let test_server () =
     32   assert (not (Server.is_safe_path "../"));
     33   assert (not (Server.is_safe_path ".."));
     34   assert (not (Server.is_safe_path "smt/../../../"));
     35   assert (not (Server.is_safe_path "smt/../"));
     36   assert (Server.is_safe_path "smt.sl");
     37   assert (Server.is_safe_path "smt");
     38   assert (Server.is_safe_path "0_course_1.sl");
     39   assert (Server.is_safe_path "1_course_1.sl");
     40 
     41   (* Requests to test dream server handling routes. *)
     42   assert (Dream.status_to_int (Dream.status root_response) = 200);
     43   assert (Dream.status_to_int (Dream.status course_0_response) = 200);
     44   assert (Dream.status_to_int (Dream.status course_1_response) = 200);
     45   assert (Dream.status_to_int (Dream.status course_dne_response) = 404);
     46   assert (Dream.status_to_int (Dream.status course_dne_page_dne_response) = 404);
     47   assert (Dream.status_to_int (Dream.status page_dne_response) = 404);
     48   assert (Dream.status_to_int (Dream.status course_0_page_0_response) = 200);
     49   assert (Dream.status_to_int (Dream.status empty_page_response) = 200)