2626from attributecode .transform import strip_trailing_fields_json
2727from attributecode .transform import Transformer
2828from attributecode .transform import read_csv_rows , read_excel , read_json
29+ from attributecode .transform import transform_csv , transform_excel , transform_json
2930
3031
3132class TransformTest (unittest .TestCase ):
@@ -36,16 +37,12 @@ def test_transform_data_new_col(self):
3637 configuration = get_test_loc ('test_transform/configuration_new_cols' )
3738 transformer = Transformer .from_file (configuration )
3839
39- field_name , data , err = transform_data (data , transformer )
40+ data , err = transform_data (data , transformer )
4041
41- expect_name = [u'path' , u'about_resource' , u'name' , u'version' , u'notes' , u'temp' ]
4242 expected_data = [dict (OrderedDict ([(u'path' , u'/tmp/test.c' ),
4343 (u'about_resource' , u'/tmp/test.c' ),
4444 (u'name' , u'test.c' ), (u'version' , u'1' ),
4545 (u'notes' , u'test' ), (u'temp' , u'foo' )]))]
46- assert len (field_name ) == len (expect_name )
47- for name in field_name :
48- assert name in expect_name
4946 assert len (data ) == len (expected_data )
5047 for d in data :
5148 assert dict (d ) in expected_data
@@ -57,14 +54,11 @@ def test_transform_data(self):
5754 configuration = get_test_loc ('test_transform/configuration' )
5855 transformer = Transformer .from_file (configuration )
5956
60- field_name , data , err = transform_data (data , transformer )
57+ data , err = transform_data (data , transformer )
6158
6259 expect_name = [u'about_resource' , u'name' , u'version' ]
6360 expected_data = [dict (OrderedDict ([(u'about_resource' , u'/tmp/test.c' ), (u'name' , u'test.c' ), (u'version' , u'1' )]))]
6461
65- assert len (field_name ) == len (expect_name )
66- for name in field_name :
67- assert name in expect_name
6862 assert len (data ) == len (expected_data )
6963 for d in data :
7064 assert dict (d ) in expected_data
@@ -75,15 +69,12 @@ def test_transform_data_mutli_rows(self):
7569 configuration = get_test_loc ('test_transform/configuration2' )
7670 transformer = Transformer .from_file (configuration )
7771
78- field_name , data , err = transform_data (data , transformer )
72+ data , err = transform_data (data , transformer )
7973
8074 expect_name = [u'about_resource' , u'name' , u'version' ]
8175 expected_data = [dict (OrderedDict ([(u'about_resource' , u'/tmp/test.c' ), (u'name' , u'test.c' ), (u'version' , u'v0.01' )])),
8276 dict (OrderedDict ([(u'about_resource' , u'/tmp/tmp.h' ), (u'name' , u'tmp.h' ), (u'version' , None )]))]
8377
84- assert len (field_name ) == len (expect_name )
85- for name in field_name :
86- assert name in expect_name
8778 assert len (data ) == len (expected_data )
8879 for d in data :
8980 assert dict (d ) in expected_data
@@ -173,3 +164,30 @@ def test_read_csv_rows(self):
173164 ['/test.c' , 'test.c' , 'mit' ],
174165 ['/test2.c' , 'test2.c' , 'mit and apache-2.0' ]]
175166 assert list (data ) == expected
167+
168+ def test_transform_csv (self ):
169+ test_file = get_test_loc ('test_transform/input.csv' )
170+ data , err = transform_csv (test_file )
171+ expected = [{'Directory/Filename' : '/aboutcode-toolkit/' ,
172+ 'Component' : 'AboutCode-toolkit' ,
173+ 'Confirmed Version' : '123' , 'notes' : '' }]
174+ assert len (err ) == 0
175+ assert data == expected
176+
177+ def test_transform_excel (self ):
178+ test_file = get_test_loc ('test_transform/input.xlsx' )
179+ data , err = transform_excel (test_file )
180+ expected = [OrderedDict ([('Directory/Filename' , '/aboutcode-toolkit/' ),
181+ ('Component' , 'AboutCode-toolkit' ),
182+ ('Confirmed Version' , 123 ), ('notes' , '' )])]
183+ assert len (err ) == 0
184+ assert data == expected
185+
186+ def test_transform_json (self ):
187+ test_file = get_test_loc ('test_transform/input.json' )
188+ data , err = transform_json (test_file )
189+ expected = [{'Directory/Filename' : '/aboutcode-toolkit/' ,
190+ 'Component' : 'AboutCode-toolkit' ,
191+ 'Confirmed Version' : '123' , 'notes' : '' }]
192+ assert len (err ) == 0
193+ assert data == expected
0 commit comments