summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorYujun Zhang <zhang.yujunz@zte.com.cn>2016-07-08 00:27:21 +0000
committerGerrit Code Review <gerrit@172.30.200.206>2016-07-08 00:27:21 +0000
commit0d1fd0e1cc96bfe0a9445a22aa082638bc82554e (patch)
tree71034f55223c44f693272e1f45f7a37baf49e820 /tests
parent910362d520450f29d1ed3dcf49671a84dc1acf69 (diff)
parentc5e6b3c7a5e1df16d6840bb261169cd7b6df2bc4 (diff)
Merge "Schema checking for yaml file in test_cases."
Diffstat (limited to 'tests')
-rw-r--r--tests/schema/test_bm_schema.yaml75
-rw-r--r--tests/schema/test_vm_schema.yaml80
-rw-r--r--tests/yaml_schema_test.py16
3 files changed, 171 insertions, 0 deletions
diff --git a/tests/schema/test_bm_schema.yaml b/tests/schema/test_bm_schema.yaml
new file mode 100644
index 00000000..740725f5
--- /dev/null
+++ b/tests/schema/test_bm_schema.yaml
@@ -0,0 +1,75 @@
+type: map
+mapping:
+ Scenario:
+ type: map
+ mapping:
+ benchmark:
+ type: str
+ required: True
+ host:
+ type: str
+ server:
+ type: str
+ allowempty: True
+ client:
+ type: str
+ allowempty: True
+ topology:
+ type: str
+ allowempty: True
+ benchmark_details:
+ type: map
+ mapping:
+ duration:
+ type: int
+ protocol:
+ type: str
+ bandwidthGbps:
+ type: int
+ description:
+ type: str
+ 1Run:
+ type: str
+
+ Context:
+ type: map
+ mapping:
+ Host_Machines:
+ type: map
+ required: True
+ mapping:
+ regex;(^machine):
+ type: map
+ mapping:
+ role:
+ type: str
+ ip:
+ type: str
+ pw:
+ type: str
+ allowempty: True
+ Virtual_Machines:
+ type: map
+ allowempty: True
+ Proxy_Environment:
+ type: map
+ mapping:
+ http_proxy:
+ type: str
+ https_proxy:
+ type: str
+ no_proxy:
+ type: str
+
+ Test_Description:
+ type: map
+ mapping:
+ Test_category:
+ type: str
+ allowempty: True
+ Benchmark:
+ type: str
+ allowempty: True
+ Overview:
+ type: str
+ allowempty: True
diff --git a/tests/schema/test_vm_schema.yaml b/tests/schema/test_vm_schema.yaml
new file mode 100644
index 00000000..524f8fe4
--- /dev/null
+++ b/tests/schema/test_vm_schema.yaml
@@ -0,0 +1,80 @@
+type: map
+mapping:
+ Scenario:
+ type: map
+ mapping:
+ benchmark:
+ type: str
+ required: True
+ host:
+ type: str
+ server:
+ type: str
+ allowempty: True
+ 1Run:
+ type: str
+ client:
+ type: str
+ allowempty: True
+ topology:
+ type: str
+ allowempty: True
+ benchmark_details:
+ type: map
+ mapping:
+ duration:
+ type: int
+ protocol:
+ type: str
+ bandwidthGbps:
+ type: int
+ teststream:
+ type: str
+ description:
+ type: str
+
+ Context:
+ type: map
+ mapping:
+ Host_Machines:
+ type: map
+ allowempty: True
+ Virtual_Machines:
+ type: map
+ required: True
+ mapping:
+ regex;(^virtualmachine):
+ type: map
+ mapping:
+ availability_zone:
+ type: str
+ OS_image:
+ type: str
+ public_network:
+ type: str
+ role:
+ type: str
+ flavor:
+ type: str
+ Proxy_Environment:
+ type: map
+ mapping:
+ http_proxy:
+ type: str
+ https_proxy:
+ type: str
+ no_proxy:
+ type: str
+
+ Test_Description:
+ type: map
+ mapping:
+ Test_category:
+ type: str
+ allowempty: True
+ Benchmark:
+ type: str
+ allowempty: True
+ Overview:
+ type: str
+ allowempty: True
diff --git a/tests/yaml_schema_test.py b/tests/yaml_schema_test.py
new file mode 100644
index 00000000..a975dca6
--- /dev/null
+++ b/tests/yaml_schema_test.py
@@ -0,0 +1,16 @@
+import os
+import os.path
+from pykwalify.core import Core
+
+
+class TestClass:
+ def test_schema_success(self):
+ for root, dirs, files in os.walk("test_cases"):
+ for name in files:
+ print root + "/" + name
+ if "_bm" in name:
+ schema = "tests/schema/test_bm_schema.yaml"
+ if "_vm" in name:
+ schema = "tests/schema/test_vm_schema.yaml"
+ c = Core(source_file=root + "/" + name, schema_files=[schema])
+ c.validate(raise_exception=True)