forked from fgpv-vpgf/rcs
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_schema.py
More file actions
80 lines (70 loc) · 2.41 KB
/
test_schema.py
File metadata and controls
80 lines (70 loc) · 2.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
import json, os, unittest, requests, random
from jsonschema import validate, ValidationError
doc_sample_v11 = """
{
"version": "1.0.0",
"payload_type": "wms",
"en": {
"service_url": "http://wms.ess-ws.nrcan.gc.ca/wms/toporama_en",
"layer": "limits",
"metadata": { "uuid": "7" }
},
"fr": {
"service_url": "http://wms.ess-ws.nrcan.gc.ca/wms/toporama_fr",
"layer": "limits",
"metadata": { "uuid": "7" }
}
}
"""
doc_sample_url_v11 = """
{
"version": "1.0.0",
"payload_type": "wms",
"en": {
"service_url": "http://wms.ess-ws.nrcan.gc.ca/wms/toporama_en",
"layer": "limits",
"metadata": { "catalogue_url": "http://example.com", "metadata_url": "http://example.com" }
},
"fr": {
"service_url": "http://wms.ess-ws.nrcan.gc.ca/wms/toporama_fr",
"layer": "limits",
"metadata": { "catalogue_url": "http://example.com", "metadata_url": "http://example.com" }
}
}
"""
doc_sample_v1 = """
{
"version": "1.0.0",
"payload_type": "wms",
"en": {
"service_url": "http://wms.ess-ws.nrcan.gc.ca/wms/toporama_en",
"layer": "limits"
},
"fr": {
"service_url": "http://wms.ess-ws.nrcan.gc.ca/wms/toporama_fr",
"layer": "limits"
}
}
"""
class SchemaTestCase(unittest.TestCase):
def setUp(self):
self.schema110 = json.load( open(os.path.join('schemas','rcs_reg_schema_v1_1_0.json')) )
self.schema100 = json.load( open(os.path.join('schemas','rcs_reg_schema_v1_0_0.json')) )
def test_doc_sample_forward_compat(self):
fragment = json.loads( doc_sample_v1 )
r = validate( fragment, self.schema110 )
self.assertEquals( r, None )
def test_url_v11(self):
fragment = json.loads( doc_sample_url_v11 )
r = validate( fragment, self.schema110 )
self.assertEquals( r, None )
def test_doc_sample_v11(self):
fragment = json.loads( doc_sample_v11 )
r = validate( fragment, self.schema110 )
self.assertEquals( r, None )
def test_doc_sample_v1(self):
fragment = json.loads( doc_sample_v1 )
r = validate( fragment, self.schema100 )
self.assertEquals( r, None )
if __name__ == '__main__':
unittest.main()