Page MenuHomeSoftware Heritage
Paste P667

swh.search: making search test go green but it's ugly
ActivePublic

Authored by ardumont on May 12 2020, 2:01 PM.
Staged
modified swh/search/tests/test_cli.py
@@ -9,6 +9,7 @@ import yaml
import pytest
+from typing import Dict, Set
from unittest.mock import patch, MagicMock
from click.testing import CliRunner
@@ -37,11 +38,28 @@ journal:
class MockedKafkaConsumerWithTopics(MockedKafkaConsumer):
def list_topics(self, timeout=None):
- return {
+ class FakeTopic:
+ def __init__(self, topics: Set[str]):
+ self.topics: Dict[str, str] = {
+ kv: kv for kv in topics
+ }
+
+ return FakeTopic({
"swh.journal.objects.origin",
"swh.journal.objects.origin_visit",
- }
+ })
+
+ def subscribe(self, topics):
+ """Adapt implementation
+
+ """
+ unknown_topics = set(topics) - set(self.list_topics().topics.values())
+ if unknown_topics:
+ raise ValueError("Unknown topics %s" % ", ".join(unknown_topics))
def invoke(catch_exceptions, args, config="", *, elasticsearch_host):