Changeset View
Changeset View
Standalone View
Standalone View
swh/indexer/tests/storage/test_storage.py
Show First 20 Lines • Show All 217 Lines • ▼ Show 20 Lines | def add__update_in_place_duplicate(self): | ||||
'id': self.sha1_2, | 'id': self.sha1_2, | ||||
**example_data2, | **example_data2, | ||||
'tool': self.tools[tool_name], | 'tool': self.tools[tool_name], | ||||
}] | }] | ||||
# data did change as the v2 was used to overwrite v1 | # data did change as the v2 was used to overwrite v1 | ||||
self.assertEqual(actual_data, expected_data_v2) | self.assertEqual(actual_data, expected_data_v2) | ||||
def add__duplicate_twice(self): | |||||
# given | |||||
tool_id = self.tools[tool_name]['id'] | |||||
data_rev1 = { | |||||
'id': self.revision_id_2, | |||||
**example_data1, | |||||
'indexer_configuration_id': tool_id | |||||
} | |||||
data_rev2 = { | |||||
'id': self.revision_id_2, | |||||
**example_data2, | |||||
'indexer_configuration_id': tool_id | |||||
} | |||||
# when | |||||
endpoint(self, 'add')([data_rev1]) | |||||
with self.assertRaises(ValueError): | |||||
endpoint(self, 'add')( | |||||
[data_rev2, data_rev2], | |||||
conflict_update=True) | |||||
# then | |||||
actual_data = list(endpoint(self, 'get')( | |||||
[self.revision_id_2, self.revision_id_1])) | |||||
expected_data = [{ | |||||
'id': self.revision_id_2, | |||||
**example_data1, | |||||
'tool': self.tools[tool_name] | |||||
}] | |||||
self.assertEqual(actual_data, expected_data) | |||||
@rename | @rename | ||||
def get(self): | def get(self): | ||||
# given | # given | ||||
tool_id = self.tools[tool_name]['id'] | tool_id = self.tools[tool_name]['id'] | ||||
query = [self.sha1_2, self.sha1_1] | query = [self.sha1_2, self.sha1_1] | ||||
data1 = { | data1 = { | ||||
Show All 16 Lines | def get(self): | ||||
}] | }] | ||||
self.assertEqual(actual_data, expected_data) | self.assertEqual(actual_data, expected_data) | ||||
return ( | return ( | ||||
missing, | missing, | ||||
add__drop_duplicate, | add__drop_duplicate, | ||||
add__update_in_place_duplicate, | add__update_in_place_duplicate, | ||||
add__duplicate_twice, | |||||
get, | get, | ||||
) | ) | ||||
class CommonTestStorage: | class CommonTestStorage: | ||||
"""Base class for Indexer Storage testing. | """Base class for Indexer Storage testing. | ||||
""" | """ | ||||
Show All 29 Lines | def test_check_config(self): | ||||
self.assertTrue(self.storage.check_config(check_write=True)) | self.assertTrue(self.storage.check_config(check_write=True)) | ||||
self.assertTrue(self.storage.check_config(check_write=False)) | self.assertTrue(self.storage.check_config(check_write=False)) | ||||
# generate content_mimetype tests | # generate content_mimetype tests | ||||
( | ( | ||||
test_content_mimetype_missing, | test_content_mimetype_missing, | ||||
test_content_mimetype_add__drop_duplicate, | test_content_mimetype_add__drop_duplicate, | ||||
test_content_mimetype_add__update_in_place_duplicate, | test_content_mimetype_add__update_in_place_duplicate, | ||||
test_content_mimetype_add__duplicate_twice, | |||||
test_content_mimetype_get, | test_content_mimetype_get, | ||||
) = gen_generic_endpoint_tests( | ) = gen_generic_endpoint_tests( | ||||
endpoint_type='content_mimetype', | endpoint_type='content_mimetype', | ||||
tool_name='file', | tool_name='file', | ||||
example_data1={ | example_data1={ | ||||
'mimetype': 'text/plain', | 'mimetype': 'text/plain', | ||||
'encoding': 'utf-8', | 'encoding': 'utf-8', | ||||
}, | }, | ||||
example_data2={ | example_data2={ | ||||
'mimetype': 'text/html', | 'mimetype': 'text/html', | ||||
'encoding': 'us-ascii', | 'encoding': 'us-ascii', | ||||
}, | }, | ||||
) | ) | ||||
# content_language tests | # content_language tests | ||||
( | ( | ||||
test_content_language_missing, | test_content_language_missing, | ||||
test_content_language_add__drop_duplicate, | test_content_language_add__drop_duplicate, | ||||
test_content_language_add__update_in_place_duplicate, | test_content_language_add__update_in_place_duplicate, | ||||
test_content_language_add__duplicate_twice, | |||||
test_content_language_get, | test_content_language_get, | ||||
) = gen_generic_endpoint_tests( | ) = gen_generic_endpoint_tests( | ||||
endpoint_type='content_language', | endpoint_type='content_language', | ||||
tool_name='pygments', | tool_name='pygments', | ||||
example_data1={ | example_data1={ | ||||
'lang': 'haskell', | 'lang': 'haskell', | ||||
}, | }, | ||||
example_data2={ | example_data2={ | ||||
'lang': 'common-lisp', | 'lang': 'common-lisp', | ||||
}, | }, | ||||
) | ) | ||||
# content_ctags tests | # content_ctags tests | ||||
( | ( | ||||
test_content_ctags_missing, | test_content_ctags_missing, | ||||
# the following tests are disabled because CTAGS behave differently | # the following tests are disabled because CTAGS behave differently | ||||
_, # test_content_ctags_add__drop_duplicate, | _, # test_content_ctags_add__drop_duplicate, | ||||
_, # test_content_ctags_add__update_in_place_duplicate, | _, # test_content_ctags_add__update_in_place_duplicate, | ||||
_, # test_content_ctags_add__duplicate_twice, | |||||
_, # test_content_ctags_get, | _, # test_content_ctags_get, | ||||
) = gen_generic_endpoint_tests( | ) = gen_generic_endpoint_tests( | ||||
endpoint_type='content_ctags', | endpoint_type='content_ctags', | ||||
tool_name='universal-ctags', | tool_name='universal-ctags', | ||||
example_data1={ | example_data1={ | ||||
'ctags': [{ | 'ctags': [{ | ||||
'name': 'done', | 'name': 'done', | ||||
'kind': 'variable', | 'kind': 'variable', | ||||
▲ Show 20 Lines • Show All 390 Lines • ▼ Show 20 Lines | def test_content_fossology_license_add__new_license_added(self): | ||||
# license did not change as the v2 was dropped. | # license did not change as the v2 was dropped. | ||||
self.assertEqual(actual_licenses, [expected_license]) | self.assertEqual(actual_licenses, [expected_license]) | ||||
# content_metadata tests | # content_metadata tests | ||||
( | ( | ||||
test_content_metadata_missing, | test_content_metadata_missing, | ||||
test_content_metadata_add__drop_duplicate, | test_content_metadata_add__drop_duplicate, | ||||
test_content_metadata_add__update_in_place_duplicate, | test_content_metadata_add__update_in_place_duplicate, | ||||
test_content_metadata_add__duplicate_twice, | |||||
test_content_metadata_get, | test_content_metadata_get, | ||||
) = gen_generic_endpoint_tests( | ) = gen_generic_endpoint_tests( | ||||
endpoint_type='content_metadata', | endpoint_type='content_metadata', | ||||
tool_name='swh-metadata-detector', | tool_name='swh-metadata-detector', | ||||
example_data1={ | example_data1={ | ||||
'translated_metadata': { | 'translated_metadata': { | ||||
'other': {}, | 'other': {}, | ||||
'codeRepository': { | 'codeRepository': { | ||||
Show All 14 Lines | ) = gen_generic_endpoint_tests( | ||||
}, | }, | ||||
) | ) | ||||
# revision_metadata tests | # revision_metadata tests | ||||
( | ( | ||||
test_revision_metadata_missing, | test_revision_metadata_missing, | ||||
test_revision_metadata_add__drop_duplicate, | test_revision_metadata_add__drop_duplicate, | ||||
test_revision_metadata_add__update_in_place_duplicate, | test_revision_metadata_add__update_in_place_duplicate, | ||||
test_revision_metadata_add__duplicate_twice, | |||||
test_revision_metadata_get, | test_revision_metadata_get, | ||||
) = gen_generic_endpoint_tests( | ) = gen_generic_endpoint_tests( | ||||
endpoint_type='revision_metadata', | endpoint_type='revision_metadata', | ||||
tool_name='swh-metadata-detector', | tool_name='swh-metadata-detector', | ||||
example_data1={ | example_data1={ | ||||
'translated_metadata': { | 'translated_metadata': { | ||||
'other': {}, | 'other': {}, | ||||
'codeRepository': { | 'codeRepository': { | ||||
▲ Show 20 Lines • Show All 771 Lines • Show Last 20 Lines |