Changeset View
Changeset View
Standalone View
Standalone View
swh/storage/tests/test_storage.py
Show First 20 Lines • Show All 332 Lines • ▼ Show 20 Lines | def test_content_add_metadata_collision(self, swh_storage): | ||||
assert cm.value.args[0] in ['sha1', 'sha1_git', 'blake2s256'] | assert cm.value.args[0] in ['sha1', 'sha1_git', 'blake2s256'] | ||||
def test_skipped_content_add(self, swh_storage): | def test_skipped_content_add(self, swh_storage): | ||||
cont = data.skipped_cont | cont = data.skipped_cont | ||||
cont2 = data.skipped_cont2 | cont2 = data.skipped_cont2 | ||||
cont2['blake2s256'] = None | cont2['blake2s256'] = None | ||||
missing = list(swh_storage.skipped_content_missing([cont, cont2])) | missing = list(swh_storage.skipped_content_missing([cont, cont2])) | ||||
assert missing == [ | |||||
{ | |||||
'sha1': cont['sha1'], | |||||
'sha1_git': cont['sha1_git'], | |||||
'blake2s256': cont['blake2s256'], | |||||
'sha256': cont['sha256'] | |||||
}, | |||||
{ | |||||
'sha1': cont2['sha1'], | |||||
'sha1_git': cont2['sha1_git'], | |||||
'blake2s256': cont2['blake2s256'], | |||||
'sha256': cont2['sha256'] | |||||
}, | |||||
olasd: ?? | |||||
] | |||||
actual_result = swh_storage.skipped_content_add([cont, cont, cont2]) | |||||
assert 2 <= actual_result.pop('skipped_content:add') <= 3 | |||||
assert actual_result == {} | |||||
missing = list(swh_storage.skipped_content_missing([cont, cont2])) | |||||
assert missing == [] | |||||
def test_skipped_content_add_missing_hashes(self, swh_storage): | |||||
cont = data.skipped_cont | |||||
cont2 = data.skipped_cont2 | |||||
cont['sha1_git'] = cont2['sha1_git'] = None | |||||
missing = list(swh_storage.skipped_content_missing([cont, cont2])) | |||||
assert len(missing) == 2 | assert len(missing) == 2 | ||||
actual_result = swh_storage.skipped_content_add([cont, cont, cont2]) | actual_result = swh_storage.skipped_content_add([cont, cont, cont2]) | ||||
assert 2 <= actual_result.pop('skipped_content:add') <= 3 | assert 2 <= actual_result.pop('skipped_content:add') <= 3 | ||||
assert actual_result == {} | assert actual_result == {} | ||||
missing = list(swh_storage.skipped_content_missing([cont, cont2])) | missing = list(swh_storage.skipped_content_missing([cont, cont2])) | ||||
assert missing == [] | assert missing == [] | ||||
def test_skipped_content_missing_partial_hash(self, swh_storage): | |||||
cont = data.skipped_cont | |||||
cont2 = cont.copy() | |||||
cont2['sha1_git'] = None | |||||
missing = list(swh_storage.skipped_content_missing([cont, cont2])) | |||||
assert len(missing) == 2 | |||||
actual_result = swh_storage.skipped_content_add([cont]) | |||||
assert actual_result.pop('skipped_content:add') == 1 | |||||
assert actual_result == {} | |||||
missing = list(swh_storage.skipped_content_missing([cont, cont2])) | |||||
assert missing == [{ | |||||
'sha1': cont2['sha1'], | |||||
'sha1_git': cont2['sha1_git'], | |||||
'blake2s256': cont2['blake2s256'], | |||||
'sha256': cont2['sha256'] | |||||
}] | |||||
@pytest.mark.property_based | @pytest.mark.property_based | ||||
@settings(deadline=None) # this test is very slow | @settings(deadline=None) # this test is very slow | ||||
@given(strategies.sets( | @given(strategies.sets( | ||||
elements=strategies.sampled_from( | elements=strategies.sampled_from( | ||||
['sha256', 'sha1_git', 'blake2s256']), | ['sha256', 'sha1_git', 'blake2s256']), | ||||
min_size=0)) | min_size=0)) | ||||
def test_content_missing(self, swh_storage, algos): | def test_content_missing(self, swh_storage, algos): | ||||
algos |= {'sha1'} | algos |= {'sha1'} | ||||
▲ Show 20 Lines • Show All 3,455 Lines • Show Last 20 Lines |
??