self = <swh.storage.tests.algos.test_diff.TestDiffRevisions testMethod=test_twolevels_diff>
mock_get_dir = <MagicMock name='_get_dir' id='139986086053200'>
mock_get_rev = <MagicMock name='_get_rev' id='139985594117872'>
def test_twolevels_diff(self, mock_get_dir, mock_get_rev):
rev_from = "898ff03e1e7925ecde3da66327d3cdc7e07625ba"
rev_to = "647c3d381e67490e82cdbbe6c96e46d5e1628ce2"
from_dir_model = DirectoryModel()
from_dir_model.add_file(b"file1", "ea15f54ca215e7920c60f564315ebb7f911a5204")
from_dir_model.add_file(
b"dir1/file1", "8335fca266811bac7ae5c8e1621476b4cf4156b6"
)
from_dir_model.add_file(
b"dir1/file2", "a6127d909e79f1fcb28bbf220faf86e7be7831e5"
)
from_dir_model.add_file(
b"dir1/file3", "18049b8d067ce1194a7e1cce26cfa3ae4242a43d"
)
from_dir_model.add_file(b"file2", "d3c00f9396c6d0277727cec522ff6ad1ea0bc2da")
to_dir_model = DirectoryModel()
to_dir_model.add_file(b"file1", "3ee0f38ee0ea23cc2c8c0b9d66b27be4596b002b")
to_dir_model.add_file(b"dir1/file2", "de3548b32a8669801daa02143a66dae21fe852fd")
to_dir_model.add_file(b"dir1/file3", "18049b8d067ce1194a7e1cce26cfa3ae4242a43d")
to_dir_model.add_file(b"dir1/file4", "f5c3f42aec5fe7b92276196c350cbadaf4c51f87")
to_dir_model.add_file(b"file2", "d3c00f9396c6d0277727cec522ff6ad1ea0bc2da")
expected_changes = [
{
"type": "delete",
"from": from_dir_model.get_path_data(b"dir1/file1"),
"from_path": b"dir1/file1",
"to": None,
"to_path": None,
},
{
"type": "modify",
"from": from_dir_model.get_path_data(b"dir1/file2"),
"from_path": b"dir1/file2",
"to": to_dir_model.get_path_data(b"dir1/file2"),
"to_path": b"dir1/file2",
},
{
"type": "insert",
"from": None,
"from_path": None,
"to": to_dir_model.get_path_data(b"dir1/file4"),
"to_path": b"dir1/file4",
},
{
"type": "modify",
"from": from_dir_model.get_path_data(b"file1"),
"from_path": b"file1",
"to": to_dir_model.get_path_data(b"file1"),
"to_path": b"file1",
},
]
self.diff_revisions(
rev_from,
rev_to,
from_dir_model,
to_dir_model,
expected_changes,
mock_get_dir,
> mock_get_rev,
)
.tox/py3/lib/python3.7/site-packages/swh/storage/tests/algos/test_diff.py:266:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
.tox/py3/lib/python3.7/site-packages/swh/storage/tests/algos/test_diff.py:65: in diff_revisions
None, rev_from_bytes, rev_to_bytes, track_renaming=True
.tox/py3/lib/python3.7/site-packages/swh/storage/algos/diff.py:388: in diff_revisions
from_dir = _get_rev(storage, from_rev)["directory"]
/usr/lib/python3.7/unittest/mock.py:960: in __call__
return _mock_self._mock_call(*args, **kwargs)
/usr/lib/python3.7/unittest/mock.py:1026: in _mock_call
result = effect(*args, **kwargs)
.tox/py3/lib/python3.7/site-packages/swh/storage/tests/algos/test_diff.py:52: in _get_rev
return {"directory": from_dir_model["target"]}
.tox/py3/lib/python3.7/site-packages/swh/storage/tests/algos/test_dir_iterator.py:33: in __getitem__
return hash_to_bytes(directory_identifier(self))
.tox/py3/lib/python3.7/site-packages/swh/model/identifiers.py:52: in directory_identifier
return hash_to_hex(model.Directory.from_dict(directory).id)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
cls = <class 'swh.model.model.Directory'>
d = <swh.storage.tests.algos.test_dir_iterator.DirectoryModel object at 0x7f50ef9c6668>
@classmethod
def from_dict(cls, d):
> d = d.copy()
E AttributeError: 'DirectoryModel' object has no attribute 'copy'
.tox/py3/lib/python3.7/site-packages/swh/model/model.py:706: AttributeError
TEST RESULT
TEST RESULT
- Run At
- Sep 28 2021, 5:27 PM