replayer_storage_and_client = (<swh.storage.in_memory.InMemoryStorage object at 0x7f3bcec9b160>, <swh.journal.client.JournalClient object at 0x7f3bcec9b978>)
caplog = <_pytest.logging.LogCaptureFixture object at 0x7f3be2b8f978>
def test_storage_play_with_collision(replayer_storage_and_client, caplog):
"""Another replayer scenario with collisions.
This:
- writes objects to the topic, including colliding contents
- replayer consumes objects from the topic and replay them
- This drops the colliding contents from the replay when detected
"""
src, replayer = replayer_storage_and_client
# Fill Kafka using a source storage
nb_sent = 0
for object_type, objects in TEST_OBJECTS.items():
method = getattr(src, object_type + "_add")
> method(objects)
.tox/py3/lib/python3.7/site-packages/swh/storage/tests/test_replay.py:114:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
.tox/py3/lib/python3.7/site-packages/swh/storage/cassandra/storage.py:892: in origin_visit_add
snapshot=None,
.tox/py3/lib/python3.7/site-packages/swh/storage/cassandra/storage.py:902: in _origin_visit_status_add
converters.visit_status_to_row(visit_status)
.tox/py3/lib/python3.7/site-packages/swh/storage/cassandra/converters.py:113: in visit_status_to_row
return OriginVisitStatusRow.from_dict({**d, "metadata": json.dumps(d["metadata"])})
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
cls = <class 'swh.storage.cassandra.model.OriginVisitStatusRow'>
d = {'date': datetime.datetime(2013, 5, 7, 4, 20, 39, 369271, tzinfo=datetime.timezone.utc), 'metadata': 'null', 'origin': 'https://somewhere.org/den/fox', 'snapshot': None, ...}
@classmethod
def from_dict(cls: Type[T], d: Dict[str, Any]) -> T:
> return cls(**d) # type: ignore
E TypeError: __init__() missing 1 required positional argument: 'type'
.tox/py3/lib/python3.7/site-packages/swh/storage/cassandra/model.py:45: TypeError
TEST RESULT
TEST RESULT
- Run At
- Jan 12 2021, 6:34 PM