Skip to content

Commit

Permalink
test: Catch errors in write_addition if unique_key isn't implemented
Browse files Browse the repository at this point in the history
Adding a test that ensures that an exception is raised if the
object passed to write_addition function doesn't have a unique_key.
  • Loading branch information
KShivendu committed Apr 16, 2021
1 parent fe820a2 commit 236a002
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 0 deletions.
1 change: 1 addition & 0 deletions CONTRIBUTORS
@@ -0,0 +1 @@
Kumar Shivendu
14 changes: 14 additions & 0 deletions swh/journal/tests/test_inmemory.py
@@ -0,0 +1,14 @@
import pytest

from swh.journal.writer import model_object_dict_sanitizer
from swh.journal.writer.inmemory import InMemoryJournalWriter
from swh.model.model import BaseModel


def test_write_addition_errors_without_unique_key():
writer = InMemoryJournalWriter[BaseModel](
value_sanitizer=model_object_dict_sanitizer
)

with pytest.raises(NotImplementedError):
writer.write_addition("BaseModel", BaseModel())
12 changes: 12 additions & 0 deletions swh/journal/tests/test_kafka_writer.py
Expand Up @@ -234,3 +234,15 @@ def test_write_BufferError_give_up(kafka_prefix: str, kafka_server: str, caplog)

with pytest.raises(KafkaDeliveryError):
writer.write_addition("directory", empty_dir)


def test_write_addition_errors_without_unique_key(kafka_prefix: str, kafka_server: str):
writer = KafkaJournalWriter[BaseModel](
brokers=[kafka_server],
client_id="kafka_writer",
prefix=kafka_prefix,
value_sanitizer=model_object_dict_sanitizer,
)

with pytest.raises(NotImplementedError):
writer.write_addition("BaseModel", BaseModel())

0 comments on commit 236a002

Please sign in to comment.