33from src .python_lib_osw_validation import OSWValidation
44
55PARENT_DIR = os .path .dirname (os .path .dirname (os .path .abspath (__file__ )))
6+ SRC_DIR = os .path .dirname (os .path .dirname (os .path .dirname (os .path .abspath (__file__ ))))
67ASSETS_PATH = os .path .join (PARENT_DIR , 'assets' )
8+ SCHEMA_DIR = os .path .join (SRC_DIR , 'src/python_lib_osw_validation/schema' )
9+ SCHEMA_FILE_PATH = os .path .join (SCHEMA_DIR , 'opensidewalks.schema.json' )
10+ INVALID_SCHEMA_FILE_PATH = os .path .join (SCHEMA_DIR , 'opensidewalk.schema.json' )
711
812
913class TestOSWValidation (unittest .TestCase ):
@@ -15,43 +19,116 @@ def setUp(self):
1519 self .edges_invalid_zipfile = os .path .join (ASSETS_PATH , 'edges_invalid.zip' )
1620 self .points_invalid_zipfile = os .path .join (ASSETS_PATH , 'points_invalid.zip' )
1721 self .missing_files_zipfile = os .path .join (ASSETS_PATH , 'invalid_files.zip' )
22+ self .schema_file_path = SCHEMA_FILE_PATH
23+ self .invalid_schema_file_path = INVALID_SCHEMA_FILE_PATH
1824
1925 def test_valid_zipfile (self ):
20- validation = OSWValidation (self .valid_zipfile )
26+ validation = OSWValidation (zipfile_path = self .valid_zipfile )
2127 result = validation .validate ()
2228 self .assertTrue (result )
2329 self .assertIsNone (validation .error )
2430
31+ def test_valid_zipfile_with_schema (self ):
32+ validation = OSWValidation (zipfile_path = self .valid_zipfile , schema_file_path = self .schema_file_path )
33+ result = validation .validate ()
34+ self .assertTrue (result )
35+ self .assertIsNone (validation .error )
36+
37+ def test_valid_zipfile_with_invalid_schema (self ):
38+ with self .assertRaises (Exception ):
39+ validation = OSWValidation (zipfile_path = self .valid_zipfile , schema_file_path = self .invalid_schema_file_path )
40+ validation .validate ()
41+
2542 def test_invalid_zipfile (self ):
26- validation = OSWValidation (self .invalid_zipfile )
43+ validation = OSWValidation (zipfile_path = self .invalid_zipfile )
2744 result = validation .validate ()
2845 self .assertFalse (result )
2946 self .assertIsNotNone (validation .error )
3047
48+ def test_invalid_zipfile_with_schema (self ):
49+ validation = OSWValidation (zipfile_path = self .invalid_zipfile , schema_file_path = self .schema_file_path )
50+ result = validation .validate ()
51+ self .assertFalse (result )
52+ self .assertIsNotNone (validation .error )
53+
54+ def test_invalid_zipfile_with_invalid_schema (self ):
55+ with self .assertRaises (Exception ):
56+ validation = OSWValidation (zipfile_path = self .invalid_zipfile ,
57+ schema_file_path = self .invalid_schema_file_path )
58+ validation .validate ()
59+
3160 def test_nodes_invalid_zipfile (self ):
32- validation = OSWValidation (self .nodes_invalid_zipfile )
61+ validation = OSWValidation (zipfile_path = self .nodes_invalid_zipfile )
3362 result = validation .validate ()
3463 self .assertFalse (result )
3564 self .assertIsNotNone (validation .error )
3665
66+ def test_nodes_invalid_zipfile_with_schema (self ):
67+ validation = OSWValidation (zipfile_path = self .nodes_invalid_zipfile , schema_file_path = self .schema_file_path )
68+ result = validation .validate ()
69+ self .assertFalse (result )
70+ self .assertIsNotNone (validation .error )
71+
72+ def test_nodes_invalid_zipfile_with_invalid_schema (self ):
73+ with self .assertRaises (Exception ):
74+ validation = OSWValidation (zipfile_path = self .nodes_invalid_zipfile ,
75+ schema_file_path = self .invalid_schema_file_path )
76+ validation .validate ()
77+
3778 def test_edges_invalid_zipfile (self ):
38- validation = OSWValidation (self .edges_invalid_zipfile )
79+ validation = OSWValidation (zipfile_path = self .edges_invalid_zipfile )
3980 result = validation .validate ()
4081 self .assertFalse (result )
4182 self .assertIsNotNone (validation .error )
4283
84+ def test_edges_invalid_zipfile_with_schema (self ):
85+ validation = OSWValidation (zipfile_path = self .edges_invalid_zipfile , schema_file_path = self .schema_file_path )
86+ result = validation .validate ()
87+ self .assertFalse (result )
88+ self .assertIsNotNone (validation .error )
89+
90+ def test_edges_invalid_zipfile_with_invalid_schema (self ):
91+ with self .assertRaises (Exception ):
92+ validation = OSWValidation (zipfile_path = self .edges_invalid_zipfile ,
93+ schema_file_path = self .invalid_schema_file_path )
94+ validation .validate ()
95+
4396 def test_points_invalid_zipfile (self ):
44- validation = OSWValidation (self .points_invalid_zipfile )
97+ validation = OSWValidation (zipfile_path = self .points_invalid_zipfile )
4598 result = validation .validate ()
4699 self .assertFalse (result )
47100 self .assertIsNotNone (validation .error )
48101
102+ def test_points_invalid_zipfile_with_schema (self ):
103+ validation = OSWValidation (zipfile_path = self .points_invalid_zipfile , schema_file_path = self .schema_file_path )
104+ result = validation .validate ()
105+ self .assertFalse (result )
106+ self .assertIsNotNone (validation .error )
107+
108+ def test_points_invalid_zipfile_with_invalid_schema (self ):
109+ with self .assertRaises (Exception ):
110+ validation = OSWValidation (zipfile_path = self .points_invalid_zipfile ,
111+ schema_file_path = self .invalid_schema_file_path )
112+ validation .validate ()
113+
49114 def test_missing_files_inside_zipfile (self ):
50- validation = OSWValidation (self .missing_files_zipfile )
115+ validation = OSWValidation (zipfile_path = self .missing_files_zipfile )
51116 result = validation .validate ()
52117 self .assertFalse (result )
53118 self .assertIsNotNone (validation .error )
54119
120+ def test_missing_files_inside_zipfile_with_schema (self ):
121+ validation = OSWValidation (zipfile_path = self .missing_files_zipfile , schema_file_path = self .schema_file_path )
122+ result = validation .validate ()
123+ self .assertFalse (result )
124+ self .assertIsNotNone (validation .error )
125+
126+ def test_missing_files_inside_zipfile_with_invalid_schema (self ):
127+ with self .assertRaises (Exception ):
128+ validation = OSWValidation (zipfile_path = self .missing_files_zipfile ,
129+ schema_file_path = self .invalid_schema_file_path )
130+ validation .validate ()
131+
55132
56133if __name__ == '__main__' :
57134 unittest .main ()
0 commit comments