@@ -57,7 +57,8 @@ def test_transform_data(self):
5757 data , err = transform_data (data , transformer )
5858
5959 expect_name = [u'about_resource' , u'name' , u'version' ]
60- expected_data = [dict (OrderedDict ([(u'about_resource' , u'/tmp/test.c' ), (u'name' , u'test.c' ), (u'version' , u'1' )]))]
60+ expected_data = [dict (OrderedDict (
61+ [(u'about_resource' , u'/tmp/test.c' ), (u'name' , u'test.c' ), (u'version' , u'1' )]))]
6162
6263 assert len (data ) == len (expected_data )
6364 for d in data :
@@ -84,22 +85,23 @@ def test_normalize_dict_data_scancode(self):
8485 json_data = read_json (test_file )
8586 data = normalize_dict_data (json_data )
8687 expected_data = [OrderedDict ([(u'path' , u'samples' ),
87- (u'type' , u'directory' ),
88- (u'name' , u'samples' ),
89- (u'base_name' , u'samples' ),
90- (u'extension' , u'' ), (u'size' , 0 ),
91- (u'date' , None ), (u'sha1' , None ), (u'md5' , None ),
92- (u'mime_type' , None ), (u'file_type' , None ),
93- (u'programming_language' , None ),
94- (u'is_binary' , False ), (u'is_text' , False ),
95- (u'is_archive' , False ), (u'is_media' , False ),
96- (u'is_source' , False ), (u'is_script' , False ),
97- (u'licenses' , []), (u'license_expressions' , []),
98- (u'copyrights' , []), (u'holders' , []),
99- (u'authors' , []), (u'packages' , []),
100- (u'emails' , []), (u'urls' , []),
101- (u'files_count' , 33 ), (u'dirs_count' , 10 ),
102- (u'size_count' , 1161083 ), (u'scan_errors' , [])])]
88+ (u'type' , u'directory' ),
89+ (u'name' , u'samples' ),
90+ (u'base_name' , u'samples' ),
91+ (u'extension' , u'' ), (u'size' , 0 ),
92+ (u'date' , None ), (u'sha1' ,
93+ None ), (u'md5' , None ),
94+ (u'mime_type' , None ), (u'file_type' , None ),
95+ (u'programming_language' , None ),
96+ (u'is_binary' , False ), (u'is_text' , False ),
97+ (u'is_archive' , False ), (u'is_media' , False ),
98+ (u'is_source' , False ), (u'is_script' , False ),
99+ (u'licenses' , []), (u'license_expressions' , []),
100+ (u'copyrights' , []), (u'holders' , []),
101+ (u'authors' , []), (u'packages' , []),
102+ (u'emails' , []), (u'urls' , []),
103+ (u'files_count' , 33 ), (u'dirs_count' , 10 ),
104+ (u'size_count' , 1161083 ), (u'scan_errors' , [])])]
103105 assert data == expected_data
104106
105107 def test_normalize_dict_data_json (self ):
@@ -116,19 +118,19 @@ def test_normalize_dict_data_json(self):
116118
117119 def test_normalize_dict_data_json_array (self ):
118120 json_data = [OrderedDict ([(u'Directory/Filename' , u'/aboutcode-toolkit/' ),
119- (u'Component' , u'AboutCode-toolkit' ),
120- (u'version' , u'1.0' ), (u'temp' , u'fpp' )]),
121- OrderedDict ([(u'Directory/Filename' , u'/aboutcode-toolkit1/' ),
122- (u'Component' , u'AboutCode-toolkit1' ),
123- (u'version' , u'1.1' ), (u'temp' , u'foo' )])]
121+ (u'Component' , u'AboutCode-toolkit' ),
122+ (u'version' , u'1.0' ), (u'temp' , u'fpp' )]),
123+ OrderedDict ([(u'Directory/Filename' , u'/aboutcode-toolkit1/' ),
124+ (u'Component' , u'AboutCode-toolkit1' ),
125+ (u'version' , u'1.1' ), (u'temp' , u'foo' )])]
124126 data = normalize_dict_data (json_data )
125127 expected_data = [OrderedDict ([(u'Directory/Filename' , u'/aboutcode-toolkit/' ),
126- (u'Component' , u'AboutCode-toolkit' ),
127- (u'version' , u'1.0' ), (u'temp' , u'fpp' )]),
128- OrderedDict ([(u'Directory/Filename' , u'/aboutcode-toolkit1/' ),
129- (u'Component' , u'AboutCode-toolkit1' ),
130- (u'version' , u'1.1' ),
131- (u'temp' , u'foo' )])]
128+ (u'Component' , u'AboutCode-toolkit' ),
129+ (u'version' , u'1.0' ), (u'temp' , u'fpp' )]),
130+ OrderedDict ([(u'Directory/Filename' , u'/aboutcode-toolkit1/' ),
131+ (u'Component' , u'AboutCode-toolkit1' ),
132+ (u'version' , u'1.1' ),
133+ (u'temp' , u'foo' )])]
132134 assert data == expected_data
133135
134136 def test_check_duplicate_fields (self ):
@@ -144,8 +146,10 @@ def test_strip_trailing_fields_csv(self):
144146 assert result == expected
145147
146148 def test_strip_trailing_fields_json (self ):
147- test = [OrderedDict ([(u'about_resource' , u'/this.c' ), (u'name ' , u'this.c' ), (u' version ' , u'0.11.0' )])]
148- expected = [OrderedDict ([(u'about_resource' , u'/this.c' ), (u'name' , u'this.c' ), (u'version' , u'0.11.0' )])]
149+ test = [OrderedDict ([(u'about_resource' , u'/this.c' ),
150+ (u'name ' , u'this.c' ), (u' version ' , u'0.11.0' )])]
151+ expected = [OrderedDict (
152+ [(u'about_resource' , u'/this.c' ), (u'name' , u'this.c' ), (u'version' , u'0.11.0' )])]
149153 result = strip_trailing_fields_json (test )
150154 assert result == expected
151155
@@ -190,4 +194,66 @@ def test_transform_json(self):
190194 'Component' : 'AboutCode-toolkit' ,
191195 'Confirmed Version' : '123' , 'notes' : '' }]
192196 assert len (err ) == 0
193- assert data == expected
197+ assert data == expected
198+
199+ def test_apply_renamings (self ):
200+ data = [OrderedDict ([(u'Directory/Filename' , u'/tmp/test.c' ),
201+ (u'Component' , u'test.c' ), (u'version' , u'1' ),
202+ (u'notes' , u'test' ), (u'temp' , u'foo' )])]
203+ configuration = get_test_loc ('test_transform/configuration' )
204+ transformer = Transformer .from_file (configuration )
205+
206+ expected = [OrderedDict ([(u'about_resource' , u'/tmp/test.c' ), (u'name' ,
207+ u'test.c' ), (u'version' , u'1' ), (u'notes' , u'test' ), (u'temp' , u'foo' )])]
208+ renamed_field_data = transformer .apply_renamings (data )
209+ assert renamed_field_data == expected
210+
211+ def test_apply_renamings_nested_list (self ):
212+ data = [{'path' : 'samples/JGroups-error.log' , 'name' : 'JGroups-error.log' , 'license_detections' : [{'license_expression' : 'apache-1.1 AND apache-2.0' , 'matches' : [
213+ {'score' : 90.0 , 'start_line' : 4 , 'end_line' : 4 , 'license_expression' : 'apache-1.1' }, {'score' : 100.0 , 'start_line' : 5 , 'end_line' : 5 , 'license_expression' : 'apache-2.0' }]}]}]
214+ configuration = get_test_loc ('test_transform/configuration3' )
215+ transformer = Transformer .from_file (configuration )
216+
217+ expected = [{'about_resource' : 'samples/JGroups-error.log' , 'name' : 'JGroups-error.log' , 'license_detections' : [{'license_expression' : 'apache-1.1 AND apache-2.0' , 'matches' : [
218+ {'score_renamed' : 90.0 , 'start_line' : 4 , 'end_line' : 4 , 'license_expression' : 'apache-1.1' }, {'score_renamed' : 100.0 , 'start_line' : 5 , 'end_line' : 5 , 'license_expression' : 'apache-2.0' }]}]}]
219+ updated_data = transformer .apply_renamings (data )
220+ assert updated_data == expected
221+
222+ def test_filter_excluded (self ):
223+ data = [OrderedDict ([(u'Directory/Filename' , u'/tmp/test.c' ),
224+ (u'Component' , u'test.c' ), (u'version' , u'1' ),
225+ (u'notes' , u'test' ), (u'temp' , u'foo' )])]
226+ configuration = get_test_loc ('test_transform/configuration' )
227+ transformer = Transformer .from_file (configuration )
228+
229+ expected = [OrderedDict ([(u'Directory/Filename' , u'/tmp/test.c' ), (u'Component' ,
230+ u'test.c' ), (u'version' , u'1' ), (u'notes' , u'test' )])]
231+ updated_data = transformer .filter_excluded (data )
232+ assert updated_data == expected
233+
234+ def test_filter_excluded_nested_list (self ):
235+ data = [{'path' : 'samples/JGroups-error.log' , 'type' : 'file' , 'name' : 'JGroups-error.log' , 'license_detections' : [{'license_expression' : 'apache-1.1 AND apache-2.0' , 'matches' : [
236+ {'score' : 90.0 , 'start_line' : 4 , 'end_line' : 4 , 'license_expression' : 'apache-1.1' }, {'score' : 100.0 , 'start_line' : 5 , 'end_line' : 5 , 'license_expression' : 'apache-2.0' }]}]}]
237+ configuration = get_test_loc ('test_transform/configuration3' )
238+ transformer = Transformer .from_file (configuration )
239+
240+ expected = [{'path' : 'samples/JGroups-error.log' , 'name' : 'JGroups-error.log' , 'license_detections' : [{'license_expression' : 'apache-1.1 AND apache-2.0' , 'matches' : [
241+ {'score' : 90.0 , 'end_line' : 4 , 'license_expression' : 'apache-1.1' }, {'score' : 100.0 , 'end_line' : 5 , 'license_expression' : 'apache-2.0' }]}]}]
242+ updated_data = transformer .filter_excluded (data )
243+ assert updated_data == expected
244+
245+ def test_filter_fields (self ):
246+ data = [OrderedDict ([(u'about_resource' , u'/tmp/test.c' ),
247+ (u'name' , u'test.c' ), (u'version' , u'1' ),
248+ (u'notes' , u'test' ), (u'temp' , u'foo' )])]
249+ configuration = get_test_loc ('test_transform/configuration' )
250+ transformer = Transformer .from_file (configuration )
251+
252+ updated_data = transformer .filter_fields (data )
253+
254+ expected = [OrderedDict ([(u'about_resource' , u'/tmp/test.c' ),
255+ (u'name' , u'test.c' ), (u'version' , u'1' ),
256+ (u'temp' , u'foo' )])]
257+
258+ for d in updated_data :
259+ assert dict (d ) in expected
0 commit comments