diff --git a/swh/journal/tests/test_inmemory.py b/swh/journal/tests/test_inmemory.py --- a/swh/journal/tests/test_inmemory.py +++ b/swh/journal/tests/test_inmemory.py @@ -3,6 +3,45 @@ from swh.journal.writer import model_object_dict_sanitizer from swh.journal.writer.inmemory import InMemoryJournalWriter from swh.model.model import BaseModel +from swh.model.tests.swh_model_data import TEST_OBJECTS + +OBJECT_TYPE = "content" +TEST_CONTENT = TEST_OBJECTS[OBJECT_TYPE] + + +def test_write_additions_with_test_objects(): + writer = InMemoryJournalWriter[BaseModel]( + value_sanitizer=model_object_dict_sanitizer + ) + writer.write_additions(OBJECT_TYPE, TEST_CONTENT) + + expected = [] + for content in TEST_CONTENT: + expected.append((OBJECT_TYPE, content)) + + assert sorted(expected, key=lambda x: x[1].swhid()) == sorted( + writer.objects, key=lambda x: x[1].swhid() + ) + + assert len(writer.privileged_objects) == 0 + + +def test_write_additions_with_privileged_test_objects(): + writer = InMemoryJournalWriter[BaseModel]( + value_sanitizer=model_object_dict_sanitizer + ) + + writer.write_additions(OBJECT_TYPE, TEST_CONTENT, True) + + expected = [] + for content in TEST_CONTENT: + expected.append((OBJECT_TYPE, content)) + + assert sorted(expected, key=lambda x: x[1].swhid()) == sorted( + writer.privileged_objects, key=lambda x: x[1].swhid() + ) + + assert len(writer.objects) == 0 def test_write_addition_errors_without_unique_key():