Changeset View
Changeset View
Standalone View
Standalone View
swh/storage/tests/test_storage.py
Show First 20 Lines • Show All 185 Lines • ▼ Show 20 Lines | def setUp(self): | ||||
'type': 'file', | 'type': 'file', | ||||
'target': b'12345678901234567890', | 'target': b'12345678901234567890', | ||||
'perms': from_disk.DentryPerms.content, | 'perms': from_disk.DentryPerms.content, | ||||
}, | }, | ||||
], | ], | ||||
} | } | ||||
self.dir4 = { | |||||
'id': hash_to_bytes('33e45d56f88993aae6a0198013efa80716fd8922'), | |||||
'entries': [ | |||||
{ | |||||
'name': b'subdir1', | |||||
'type': 'dir', | |||||
'target': self.dir3['id'], | |||||
'perms': from_disk.DentryPerms.directory, | |||||
}, | |||||
] | |||||
} | |||||
self.minus_offset = datetime.timezone(datetime.timedelta(minutes=-120)) | self.minus_offset = datetime.timezone(datetime.timedelta(minutes=-120)) | ||||
self.plus_offset = datetime.timezone(datetime.timedelta(minutes=120)) | self.plus_offset = datetime.timezone(datetime.timedelta(minutes=120)) | ||||
self.revision = { | self.revision = { | ||||
'id': b'56789012345678901234', | 'id': b'56789012345678901234', | ||||
'message': b'hello', | 'message': b'hello', | ||||
'author': { | 'author': { | ||||
'name': b'Nicolas Dandrimont', | 'name': b'Nicolas Dandrimont', | ||||
▲ Show 20 Lines • Show All 723 Lines • ▼ Show 20 Lines | def test_directory_get_recursive(self): | ||||
self._transform_entries(self.dir, prefix=b'subdir/'))) | self._transform_entries(self.dir, prefix=b'subdir/'))) | ||||
self.assertCountEqual(expected_data, actual_data) | self.assertCountEqual(expected_data, actual_data) | ||||
def test_directory_entry_get_by_path(self): | def test_directory_entry_get_by_path(self): | ||||
# given | # given | ||||
init_missing = list(self.storage.directory_missing([self.dir3['id']])) | init_missing = list(self.storage.directory_missing([self.dir3['id']])) | ||||
self.assertEqual([self.dir3['id']], init_missing) | self.assertEqual([self.dir3['id']], init_missing) | ||||
actual_result = self.storage.directory_add([self.dir3]) | actual_result = self.storage.directory_add([self.dir3, self.dir4]) | ||||
self.assertEqual(actual_result, {'directory:add': 1}) | self.assertEqual(actual_result, {'directory:add': 2}) | ||||
expected_entries = [ | expected_entries = [ | ||||
{ | { | ||||
'dir_id': self.dir3['id'], | 'dir_id': self.dir3['id'], | ||||
'name': b'foo', | 'name': b'foo', | ||||
'type': 'file', | 'type': 'file', | ||||
'target': self.cont['sha1_git'], | 'target': self.cont['sha1_git'], | ||||
'sha1': None, | 'sha1': None, | ||||
Show All 32 Lines | def test_directory_entry_get_by_path(self): | ||||
# when (all must be found here) | # when (all must be found here) | ||||
for entry, expected_entry in zip(self.dir3['entries'], | for entry, expected_entry in zip(self.dir3['entries'], | ||||
expected_entries): | expected_entries): | ||||
actual_entry = self.storage.directory_entry_get_by_path( | actual_entry = self.storage.directory_entry_get_by_path( | ||||
self.dir3['id'], | self.dir3['id'], | ||||
[entry['name']]) | [entry['name']]) | ||||
self.assertEqual(actual_entry, expected_entry) | self.assertEqual(actual_entry, expected_entry) | ||||
# same, but deeper | |||||
for entry, expected_entry in zip(self.dir3['entries'], | |||||
expected_entries): | |||||
actual_entry = self.storage.directory_entry_get_by_path( | |||||
self.dir4['id'], | |||||
[b'subdir1', entry['name']]) | |||||
expected_entry = expected_entry.copy() | |||||
expected_entry['name'] = b'subdir1/' + expected_entry['name'] | |||||
self.assertEqual(actual_entry, expected_entry) | |||||
# when (nothing should be found here since self.dir is not persisted.) | # when (nothing should be found here since self.dir is not persisted.) | ||||
for entry in self.dir['entries']: | for entry in self.dir['entries']: | ||||
actual_entry = self.storage.directory_entry_get_by_path( | actual_entry = self.storage.directory_entry_get_by_path( | ||||
self.dir['id'], | self.dir['id'], | ||||
[entry['name']]) | [entry['name']]) | ||||
self.assertIsNone(actual_entry) | self.assertIsNone(actual_entry) | ||||
def test_revision_add(self): | def test_revision_add(self): | ||||
▲ Show 20 Lines • Show All 2,370 Lines • Show Last 20 Lines |