summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@baturin.org>2016-12-23 08:18:24 +0700
committerDaniil Baturin <daniil@baturin.org>2016-12-23 08:18:24 +0700
commit774f08fe9ac955202c484ec040d014eb982c6827 (patch)
tree2a9b97b46f5d4c0bfa403ad76623a0f4ddb133ec /test
parent98072015c4be78f3bb4bb048b07d261287173b81 (diff)
parent2809c58e50206a2c94a1629f80c28a22af28e8c3 (diff)
downloadvyconf-774f08fe9ac955202c484ec040d014eb982c6827.tar.gz
vyconf-774f08fe9ac955202c484ec040d014eb982c6827.zip
Merge branch 'philsummers-master'
Diffstat (limited to 'test')
-rw-r--r--test/data/interface_definition_sample.xml1
-rw-r--r--test/reference_tree_test.ml72
2 files changed, 73 insertions, 0 deletions
diff --git a/test/data/interface_definition_sample.xml b/test/data/interface_definition_sample.xml
index 6a4f201..c6185c0 100644
--- a/test/data/interface_definition_sample.xml
+++ b/test/data/interface_definition_sample.xml
@@ -5,6 +5,7 @@
<node name="login" owner="login">
<children>
<tagNode name="user">
+ <keepChildOrder/>
<properties>
<help>User name</help>
<constraint>
diff --git a/test/reference_tree_test.ml b/test/reference_tree_test.ml
index 078fc00..6dfac5a 100644
--- a/test/reference_tree_test.ml
+++ b/test/reference_tree_test.ml
@@ -91,6 +91,66 @@ let test_is_hidden_invalid test_ctxt =
let r = load_from_xml r (in_testdata_dir test_ctxt ["interface_definition_sample.xml"]) in
assert_equal (is_hidden r ["system"; "login"; "user"; "full-name"]) false
+let test_is_tag_valid test_ctxt =
+ let r = Vytree.make default_data "root" in
+ let r = load_from_xml r (in_testdata_dir test_ctxt ["interface_definition_sample.xml"]) in
+ assert_equal (is_tag r ["system"; "login"; "user"]) true
+
+let test_is_tag_invalid test_ctxt =
+ let r = Vytree.make default_data "root" in
+ let r = load_from_xml r (in_testdata_dir test_ctxt ["interface_definition_sample.xml"]) in
+ assert_equal (is_tag r ["system"; "login"]) false
+
+let test_is_leaf_valid test_ctxt =
+ let r = Vytree.make default_data "root" in
+ let r = load_from_xml r (in_testdata_dir test_ctxt ["interface_definition_sample.xml"]) in
+ assert_equal (is_leaf r ["system"; "login"; "user"; "full-name"]) true
+
+let test_is_leaf_invalid test_ctxt =
+ let r = Vytree.make default_data "root" in
+ let r = load_from_xml r (in_testdata_dir test_ctxt ["interface_definition_sample.xml"]) in
+ assert_equal (is_leaf r ["system"; "login"; "user"]) false
+
+let test_is_valueless_valid test_ctxt =
+ let r = Vytree.make default_data "root" in
+ let r = load_from_xml r (in_testdata_dir test_ctxt ["interface_definition_sample.xml"]) in
+ assert_equal (is_valueless r ["system"; "options"; "reboot-on-panic"]) true
+
+let test_is_valueless_invalid test_ctxt =
+ let r = Vytree.make default_data "root" in
+ let r = load_from_xml r (in_testdata_dir test_ctxt ["interface_definition_sample.xml"]) in
+ assert_equal (is_valueless r ["system"; "login"; "user"; "full-name"]) false
+
+let test_get_keep_order_valid test_ctxt =
+ let r = Vytree.make default_data "root" in
+ let r = load_from_xml r (in_testdata_dir test_ctxt ["interface_definition_sample.xml"]) in
+ assert_equal (get_keep_order r ["system"; "login"; "user"]) true
+
+let test_get_keep_order_invalid test_ctxt =
+ let r = Vytree.make default_data "root" in
+ let r = load_from_xml r (in_testdata_dir test_ctxt ["interface_definition_sample.xml"]) in
+ assert_equal (get_keep_order r ["system"; "login"; "user"; "full-name"]) false
+
+let test_get_owner_valid test_ctxt =
+ let r = Vytree.make default_data "root" in
+ let r = load_from_xml r (in_testdata_dir test_ctxt ["interface_definition_sample.xml"]) in
+ assert_equal (get_owner r ["system"; "login"]) (Some "login")
+
+let test_get_owner_invalid test_ctxt =
+ let r = Vytree.make default_data "root" in
+ let r = load_from_xml r (in_testdata_dir test_ctxt ["interface_definition_sample.xml"]) in
+ assert_equal (get_owner r ["system"; "login"; "user"]) None
+
+let test_get_help_string_valid test_ctxt =
+ let r = Vytree.make default_data "root" in
+ let r = load_from_xml r (in_testdata_dir test_ctxt ["interface_definition_sample.xml"]) in
+ assert_equal (get_help_string r ["system"; "login"; "user"; "full-name"]) ("User full name")
+
+let test_get_help_string_default test_ctxt =
+ let r = Vytree.make default_data "root" in
+ let r = load_from_xml r (in_testdata_dir test_ctxt ["interface_definition_sample.xml"]) in
+ assert_equal (get_help_string r ["system"; "host-name"]) ("No help available")
+
let suite =
"Util tests" >::: [
"test_load_valid_definition" >:: test_load_valid_definition;
@@ -109,6 +169,18 @@ let suite =
"test_is_secret_invalid" >:: test_is_secret_invalid;
"test_is_hidden_valid" >:: test_is_hidden_valid;
"test_is_hidden_invalid" >:: test_is_hidden_invalid;
+ "test_is_tag_valid" >:: test_is_tag_valid;
+ "test_is_tag_invalid" >:: test_is_tag_invalid;
+ "test_is_leaf_valid" >:: test_is_leaf_valid;
+ "test_is_leaf_invalid" >:: test_is_leaf_invalid;
+ "test_is_valueless_valid" >:: test_is_valueless_valid;
+ "test_is_valueless_invalid" >:: test_is_valueless_invalid;
+ "test_get_keep_order_valid" >:: test_get_keep_order_valid;
+ "test_get_keep_order_invalid" >:: test_get_keep_order_invalid;
+ "test_get_owner_valid" >:: test_get_owner_valid;
+ "test_get_owner_invalid" >:: test_get_owner_invalid;
+ "test_get_help_string_valid" >:: test_get_help_string_valid;
+ "test_get_help_string_default" >:: test_get_help_string_default;
]
let () =