Skip to content

Commit

Permalink
fix: make tests work
Browse files Browse the repository at this point in the history
  • Loading branch information
purefunctor committed May 1, 2024
1 parent baedf39 commit 1d84f7e
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 76 deletions.
42 changes: 8 additions & 34 deletions test/backend/Register_Api_test.ml
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,16 @@ open Types_native.Definitions_j
open Types_native.Dynamic
open Utils

let double_hmac data =
let open Mirage_crypto.Hash in
let key = Cstruct.of_string "an_obviously_fake_key" in
data |> Cstruct.of_string |> SHA512.hmac ~key |> SHA512.hmac ~key
|> Cstruct.to_hex_string
let username = "purefunctor"
let auth_token = String.make 128 ' '
let client_random = String.make 16 ' ' |> Base64.encode_string

let it_works =
let inner () =
let%lwt cookie_headers = get_cookie_headers () in
let%lwt response, body =
let json =
string_of_register_user_payload
{
username = "purefunctor";
auth_token = String.make 128 'J';
client_random = String.make 16 'K';
}
string_of_register_user_payload { username; auth_token; client_random }
in
post_json cookie_headers json "http://localhost:8080/api/register"
in
Expand Down Expand Up @@ -62,25 +55,15 @@ let already_registered =
let%lwt cookie_headers = get_cookie_headers () in
let%lwt _, body =
let json =
string_of_register_user_payload
{
username = "purefunctor";
auth_token = String.make 128 'J';
client_random = String.make 16 'K';
}
string_of_register_user_payload { username; auth_token; client_random }
in
post_json cookie_headers json "http://localhost:8080/api/register"
in
Cohttp_lwt.Body.drain_body body;%lwt

let%lwt response, body =
let json =
string_of_register_user_payload
{
username = "purefunctor";
auth_token = String.make 128 'J';
client_random = String.make 16 'K';
}
string_of_register_user_payload { username; auth_token; client_random }
in
post_json cookie_headers json "http://localhost:8080/api/register"
in
Expand Down Expand Up @@ -116,12 +99,7 @@ let creates_session =

let%lwt response, body =
let json =
string_of_register_user_payload
{
username = "purefunctor";
auth_token = String.make 128 'J';
client_random = String.make 16 'K';
}
string_of_register_user_payload { username; auth_token; client_random }
in
post_json cookie_headers json "http://localhost:8080/api/register"
in
Expand All @@ -148,11 +126,7 @@ let invalid_username =
let%lwt response, body =
let json =
string_of_register_user_payload
{
username = "invalid&username";
auth_token = String.make 128 'J';
client_random = String.make 16 'K';
}
{ username = "invalid&username"; auth_token; client_random }
in
post_json cookie_headers json "http://localhost:8080/api/register"
in
Expand Down
32 changes: 7 additions & 25 deletions test/models/Secrets_test.ml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,9 @@ module Secrets = struct
]
end

let client_random_value = String.make 16 ' ' |> Base64.encode_exn
let username = "purefunctor"
let auth_token = String.make 128 ' '
let client_random = String.make 16 ' ' |> Base64.encode_exn
let encrypted_master_key = String.make 512 ' ' |> Base64.encode_exn
let master_key_iv = String.make 12 ' ' |> Base64.encode_exn
let encrypted_protection_key = String.make 512 ' ' |> Base64.encode_exn
Expand All @@ -65,12 +67,7 @@ let insert =
let inner db =
let open Lwt_result.Syntax in
let* _ = Initialize.initialize db in
let* user_id, _ =
let username = "insert.test" in
let auth_token = String.make 128 ' ' in
let client_random = String.make 16 ' ' in
User.insert ~username ~auth_token ~client_random db
in
let* user_id, _ = User.insert ~username ~auth_token ~client_random db in
let* _ =
Secrets.insert ~user_id ~encrypted_master_key ~master_key_iv
~encrypted_protection_key ~protection_key_iv ~exported_protection_key
Expand All @@ -85,12 +82,7 @@ let insert_existing =
let inner db =
let open Lwt_result.Syntax in
let* _ = Initialize.initialize db in
let* user_id, _ =
let username = "insert.test" in
let auth_token = String.make 128 ' ' in
let client_random = String.make 16 ' ' in
User.insert ~username ~auth_token ~client_random db
in
let* user_id, _ = User.insert ~username ~auth_token ~client_random db in
let* _ =
Secrets.insert ~user_id ~encrypted_master_key ~master_key_iv
~encrypted_protection_key ~protection_key_iv ~exported_protection_key
Expand All @@ -113,12 +105,7 @@ let get_by_user_id =
let inner db =
let open Lwt_result.Syntax in
let* _ = Initialize.initialize db in
let* user_id, _ =
let username = "insert.test" in
let auth_token = String.make 128 ' ' in
let client_random = String.make 16 ' ' in
User.insert ~username ~auth_token ~client_random db
in
let* user_id, _ = User.insert ~username ~auth_token ~client_random db in
let* _ =
Secrets.insert ~user_id ~encrypted_master_key ~master_key_iv
~encrypted_protection_key ~protection_key_iv ~exported_protection_key
Expand Down Expand Up @@ -152,12 +139,7 @@ let get_by_username =
let inner db =
let open Lwt_result.Syntax in
let* _ = Initialize.initialize db in
let username = "insert.test" in
let* user_id, _ =
let auth_token = String.make 128 ' ' in
let client_random = String.make 16 ' ' in
User.insert ~username ~auth_token ~client_random db
in
let* user_id, _ = User.insert ~username ~auth_token ~client_random db in
let* _ =
Secrets.insert ~user_id ~encrypted_master_key ~master_key_iv
~encrypted_protection_key ~protection_key_iv ~exported_protection_key
Expand Down
22 changes: 5 additions & 17 deletions test/models/User_test.ml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@ module User = struct
&& String.equal x.auth_token y.auth_token
end

let username = "maho.akashi"
let auth_token = String.make 128 ' '
let client_random = String.make 16 ' ' |> Base64.encode_exn

let initialize =
let inner db =
let open Lwt_result.Syntax in
Expand All @@ -33,16 +37,9 @@ let insert =
let inner db =
let open Lwt_result.Syntax in
let* _ = Initialize.initialize db in
let* first_id, _ =
let username = "maho.akashi" in
let auth_token = String.make 128 ' ' in
let client_random = String.make 16 ' ' in
User.insert ~username ~auth_token ~client_random db
in
let* first_id, _ = User.insert ~username ~auth_token ~client_random db in
let* second_id, _ =
let username = "rinku.aimoto" in
let auth_token = String.make 128 ' ' in
let client_random = String.make 16 ' ' in
User.insert ~username ~auth_token ~client_random db
in
let _ = Alcotest.(check int32) "first_id = 1" first_id 1l in
Expand All @@ -55,9 +52,6 @@ let insert_existing =
let inner db =
let open Lwt_result.Syntax in
let* _ = Initialize.initialize db in
let username = "maho.akashi" in
let auth_token = String.make 128 ' ' in
let client_random = String.make 16 ' ' in
let* _ = User.insert ~username ~auth_token ~client_random db in
let errorful = User.insert ~username ~auth_token ~client_random db in
Lwt.bind errorful @@ function
Expand All @@ -70,9 +64,6 @@ let get_by_id =
let inner db =
let open Lwt_result.Syntax in
let* _ = Initialize.initialize db in
let username = "maho.akashi" in
let auth_token = String.make 128 ' ' in
let client_random = String.make 16 ' ' in
let* id, public_id = User.insert ~username ~auth_token ~client_random db in
let expected =
User.{ id; public_id; username; auth_token; client_random }
Expand All @@ -90,9 +81,6 @@ let get_by_username =
let inner db =
let open Lwt_result.Syntax in
let* _ = Initialize.initialize db in
let username = "maho.akashi" in
let auth_token = String.make 128 ' ' in
let client_random = String.make 16 ' ' in
let* id, public_id = User.insert ~username ~auth_token ~client_random db in
let expected =
User.{ id; public_id; username; auth_token; client_random }
Expand Down

0 comments on commit 1d84f7e

Please sign in to comment.