summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/value_checker_test.ml45
1 files changed, 45 insertions, 0 deletions
diff --git a/test/value_checker_test.ml b/test/value_checker_test.ml
new file mode 100644
index 0000000..f7161f2
--- /dev/null
+++ b/test/value_checker_test.ml
@@ -0,0 +1,45 @@
+open OUnit2
+open Value_checker
+
+let validators = Hashtbl.create 256
+let () = Hashtbl.add validators "anything" "true";
+ Hashtbl.add validators "nothing" "false"
+
+let test_check_regex_valid test_ctxt =
+ let c = Regex "[a-z]+" in
+ let v = "fgsfds" in
+ assert_equal (validate_value validators c v) true
+
+let test_check_regex_invalid test_ctxt =
+ let c = Regex "[a-z]+" in
+ let v = "FGSFDS" in
+ assert_equal (validate_value validators c v) false
+
+let test_check_external_valid test_ctxt =
+ let c = External ("anything", "") in
+ let v = "fgsfds" in
+ assert_equal (validate_value validators c v) true
+
+let test_check_external_invalid test_ctxt =
+ let c = External ("nothing", "") in
+ let v = "fgsfds" in
+ assert_equal (validate_value validators c v) false
+
+let test_check_external_bad_validator test_ctxt =
+ let c = External ("invalid", "") in
+ let v = "fgsfds" in
+ assert_raises (Bad_validator "invalid") (fun () -> validate_value validators c v)
+
+
+let suite =
+ "VyConf value checker tests" >::: [
+ "test_check_regex_valid" >:: test_check_regex_valid;
+ "test_check_regex_invalid" >:: test_check_regex_invalid;
+ "test_check_external_valid" >:: test_check_external_valid;
+ "test_check_external_invalid" >:: test_check_external_invalid;
+ "test_check_external_bad_validator" >:: test_check_external_bad_validator;
+ ]
+
+let () =
+ run_test_tt_main suite
+