Skip to content
This repository has been archived by the owner on Jan 28, 2022. It is now read-only.

Commit

Permalink
ISSUE #457
Browse files Browse the repository at this point in the history
* Remove `service_name: str` from `BrokerMessage`.
  • Loading branch information
Sergio García Prado committed Nov 29, 2021
1 parent 81f64b6 commit 9c00d38
Show file tree
Hide file tree
Showing 7 changed files with 29 additions and 86 deletions.
11 changes: 1 addition & 10 deletions minos/networks/brokers/messages.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ class BrokerMessage(DeclarativeModel):

topic: str
data: Any
service_name: str
identifier: UUID
reply_topic: Optional[str]
user: Optional[UUID]
Expand All @@ -44,7 +43,6 @@ def __init__(
self,
topic: str,
data: Any,
service_name: str,
*,
identifier: Optional[UUID] = None,
status: Optional[BrokerMessageStatus] = None,
Expand All @@ -61,14 +59,7 @@ def __init__(
if headers is None:
headers = dict()
super().__init__(
topic=topic,
data=data,
service_name=service_name,
identifier=identifier,
status=status,
strategy=strategy,
headers=headers,
**kwargs
topic=topic, data=data, identifier=identifier, status=status, strategy=strategy, headers=headers, **kwargs
)

@property
Expand Down
7 changes: 1 addition & 6 deletions minos/networks/brokers/publishers/publishers.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,14 +34,10 @@
class BrokerPublisher(BrokerPublisherSetup):
"""Broker Publisher class."""

def __init__(self, *args, service_name: str, **kwargs):
super().__init__(*args, **kwargs)
self.service_name = service_name

@classmethod
def _from_config(cls, *args, config: MinosConfig, **kwargs) -> BrokerPublisher:
# noinspection PyProtectedMember
return cls(*args, service_name=config.service.name, **config.broker.queue._asdict(), **kwargs)
return cls(*args, **config.broker.queue._asdict(), **kwargs)

# noinspection PyMethodOverriding
async def send(
Expand Down Expand Up @@ -78,7 +74,6 @@ async def send(
status=status,
reply_topic=reply_topic,
user=user,
service_name=self.service_name,
strategy=strategy,
headers=headers,
)
Expand Down
20 changes: 7 additions & 13 deletions tests/test_networks/test_brokers/test_handlers/test_entries.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,9 @@ class TestHandlerEntry(unittest.IsolatedAsyncioTestCase):
def setUp(self) -> None:
self.identifier = uuid4()
self.user = uuid4()
self.service_name = "foo"

self.message = BrokerMessage(
"AddOrder",
FakeModel("foo"),
self.service_name,
identifier=self.identifier,
user=self.user,
reply_topic="UpdateTicket",
"AddOrder", FakeModel("foo"), identifier=self.identifier, user=self.user, reply_topic="UpdateTicket",
)

def test_constructor(self):
Expand All @@ -54,12 +48,12 @@ def test_constructor_extended(self):

def test_sort(self):
unsorted = [
BrokerHandlerEntry(1, "", 0, BrokerMessage("", "foo", "").avro_bytes, 1),
BrokerHandlerEntry(1, "", 0, BrokerMessage("", 4, "").avro_bytes, 1),
BrokerHandlerEntry(1, "", 0, BrokerMessage("", 2, "").avro_bytes, 1),
BrokerHandlerEntry(1, "", 0, BrokerMessage("", 3, "").avro_bytes, 1),
BrokerHandlerEntry(1, "", 0, BrokerMessage("", 1, "").avro_bytes, 1),
BrokerHandlerEntry(1, "", 0, BrokerMessage("", "bar", "").avro_bytes, 1),
BrokerHandlerEntry(1, "", 0, BrokerMessage("", "foo").avro_bytes, 1),
BrokerHandlerEntry(1, "", 0, BrokerMessage("", 4).avro_bytes, 1),
BrokerHandlerEntry(1, "", 0, BrokerMessage("", 2).avro_bytes, 1),
BrokerHandlerEntry(1, "", 0, BrokerMessage("", 3).avro_bytes, 1),
BrokerHandlerEntry(1, "", 0, BrokerMessage("", 1).avro_bytes, 1),
BrokerHandlerEntry(1, "", 0, BrokerMessage("", "bar").avro_bytes, 1),
]

expected = [unsorted[0], unsorted[4], unsorted[2], unsorted[3], unsorted[1], unsorted[5]]
Expand Down
21 changes: 6 additions & 15 deletions tests/test_networks/test_brokers/test_handlers/test_handlers.py
Original file line number Diff line number Diff line change
Expand Up @@ -83,12 +83,10 @@ def setUp(self) -> None:

self.identifier = uuid4()
self.user = uuid4()
self.service_name = self.config.service.name

self.message = BrokerMessage(
"AddOrder",
FakeModel("foo"),
self.service_name,
identifier=self.identifier,
user=self.user,
reply_topic="UpdateTicket",
Expand Down Expand Up @@ -242,7 +240,7 @@ async def test_dispatch(self):

async def test_dispatch_wrong(self):
instance_1 = namedtuple("FakeCommand", ("topic", "avro_bytes"))("AddOrder", bytes(b"Test"))
instance_2 = BrokerMessage("NoActionTopic", FakeModel("Foo"), self.service_name)
instance_2 = BrokerMessage("NoActionTopic", FakeModel("Foo"))

queue_id_1 = await self._insert_one(instance_1)
queue_id_2 = await self._insert_one(instance_2)
Expand All @@ -257,9 +255,7 @@ async def test_dispatch_concurrent(self):

identifier = uuid4()

instance = BrokerMessage(
"AddOrder", [FakeModel("foo")], self.service_name, identifier=identifier, reply_topic="UpdateTicket"
)
instance = BrokerMessage("AddOrder", [FakeModel("foo")], identifier=identifier, reply_topic="UpdateTicket")
instance_wrong = namedtuple("FakeCommand", ("topic", "avro_bytes"))("AddOrder", bytes(b"Test"))

for _ in range(10):
Expand All @@ -283,7 +279,7 @@ async def test_dispatch_one(self):
lookup_mock = MagicMock(return_value=callback_mock)

topic = "TicketAdded"
event = BrokerMessage(topic, FakeModel("Foo"), self.service_name)
event = BrokerMessage(topic, FakeModel("Foo"))
entry = BrokerHandlerEntry(1, topic, 0, event.avro_bytes, 1, callback_lookup=lookup_mock)

await self.handler.dispatch_one(entry)
Expand Down Expand Up @@ -346,8 +342,8 @@ async def _fn2(request):
self.handler.get_action = MagicMock(return_value=_fn2)

events = [
BrokerMessage("TicketAdded", FakeModel("uuid1"), self.service_name),
BrokerMessage("TicketAdded", FakeModel("uuid2"), self.service_name),
BrokerMessage("TicketAdded", FakeModel("uuid1")),
BrokerMessage("TicketAdded", FakeModel("uuid2")),
]

for event in events:
Expand All @@ -369,12 +365,7 @@ async def _fn2(request):

events = list()
for i in range(1, 6):
events.extend(
[
BrokerMessage("TicketAdded", ["uuid1", i], self.service_name),
BrokerMessage("TicketAdded", ["uuid2", i], self.service_name),
]
)
events.extend([BrokerMessage("TicketAdded", ["uuid1", i]), BrokerMessage("TicketAdded", ["uuid2", i])])
shuffle(events)

for event in events:
Expand Down
17 changes: 4 additions & 13 deletions tests/test_networks/test_brokers/test_handlers/test_requests.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,7 @@ class TestHandlerRequest(unittest.IsolatedAsyncioTestCase):
def setUp(self) -> None:
self.data = [FakeModel("foo"), FakeModel("bar")]
self.identifier = uuid4()
self.service_name = "foo"
self.raw = BrokerMessage(
"FooCreated", self.data, self.service_name, identifier=self.identifier, reply_topic="AddOrderReply"
)
self.raw = BrokerMessage("FooCreated", self.data, identifier=self.identifier, reply_topic="AddOrderReply")

def test_repr(self):
request = BrokerRequest(self.raw)
Expand All @@ -32,9 +29,7 @@ def test_eq_true(self):

def test_eq_false(self):
another = BrokerRequest(
BrokerMessage(
"FooUpdated", self.data, self.service_name, identifier=self.identifier, reply_topic="AddOrderReply"
)
BrokerMessage("FooUpdated", self.data, identifier=self.identifier, reply_topic="AddOrderReply")
)
self.assertNotEqual(BrokerRequest(self.raw), another)

Expand All @@ -52,17 +47,13 @@ async def test_content(self):

async def test_content_single(self):
request = BrokerRequest(
BrokerMessage(
"FooCreated", self.data[0], self.service_name, identifier=self.identifier, reply_topic="AddOrderReply"
)
BrokerMessage("FooCreated", self.data[0], identifier=self.identifier, reply_topic="AddOrderReply")
)
self.assertEqual(self.data[0], await request.content())

async def test_content_simple(self):
request = BrokerRequest(
BrokerMessage(
"FooCreated", 1234, self.service_name, identifier=self.identifier, reply_topic="AddOrderReply"
)
BrokerMessage("FooCreated", 1234, identifier=self.identifier, reply_topic="AddOrderReply")
)
self.assertEqual(1234, await request.content())

Expand Down
15 changes: 4 additions & 11 deletions tests/test_networks/test_brokers/test_messages.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,12 @@ def setUp(self) -> None:
self.reply_topic = "AddOrderReply"
self.status = BrokerMessageStatus.SUCCESS
self.user = uuid4()
self.service_name = "foo"
self.strategy = BrokerMessageStrategy.MULTICAST

def test_constructor_simple(self):
message = BrokerMessage(self.topic, self.data, self.service_name)
message = BrokerMessage(self.topic, self.data)
self.assertEqual(self.topic, message.topic)
self.assertEqual(self.data, message.data)
self.assertEqual(self.service_name, message.service_name)
self.assertIsInstance(message.identifier, UUID)
self.assertEqual(None, message.reply_topic)
self.assertEqual(None, message.user)
Expand All @@ -40,7 +38,6 @@ def test_constructor(self):
message = BrokerMessage(
self.topic,
self.data,
self.service_name,
identifier=self.identifier,
reply_topic=self.reply_topic,
user=self.user,
Expand All @@ -53,15 +50,12 @@ def test_constructor(self):
self.assertEqual(self.reply_topic, message.reply_topic)
self.assertEqual(self.user, message.user)
self.assertEqual(self.status, message.status)
self.assertEqual(self.service_name, message.service_name)
self.assertEqual(self.strategy, message.strategy)

def test_ok(self):
self.assertTrue(BrokerMessage(self.topic, self.data, self.service_name, status=BrokerMessageStatus.SUCCESS).ok)
self.assertFalse(BrokerMessage(self.topic, self.data, self.service_name, status=BrokerMessageStatus.ERROR).ok)
self.assertFalse(
BrokerMessage(self.topic, self.data, self.service_name, status=BrokerMessageStatus.SYSTEM_ERROR).ok
)
self.assertTrue(BrokerMessage(self.topic, self.data, status=BrokerMessageStatus.SUCCESS).ok)
self.assertFalse(BrokerMessage(self.topic, self.data, status=BrokerMessageStatus.ERROR).ok)
self.assertFalse(BrokerMessage(self.topic, self.data, status=BrokerMessageStatus.SYSTEM_ERROR).ok)

def test_avro_serialization(self):
message = BrokerMessage(
Expand All @@ -71,7 +65,6 @@ def test_avro_serialization(self):
reply_topic=self.reply_topic,
user=self.user,
status=self.status,
service_name=self.service_name,
strategy=self.strategy,
)
observed = BrokerMessage.from_avro_bytes(message.avro_bytes)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ async def test_send(self):
self.assertEqual("fake", args[0])
self.assertEqual(BrokerMessageStrategy.UNICAST, args[1])

expected = BrokerMessage("fake", FakeModel("Foo"), service_name="Order", identifier=observed)
expected = BrokerMessage("fake", FakeModel("Foo"), identifier=observed)
self.assertEqual(expected, Model.from_avro_bytes(args[2]))

async def test_send_with_identifier(self):
Expand All @@ -78,7 +78,7 @@ async def test_send_with_identifier(self):
self.assertEqual("fake", args[0])
self.assertEqual(BrokerMessageStrategy.UNICAST, args[1])

expected = BrokerMessage("fake", FakeModel("Foo"), service_name="Order", identifier=identifier)
expected = BrokerMessage("fake", FakeModel("Foo"), identifier=identifier)
self.assertEqual(expected, Model.from_avro_bytes(args[2]))

async def test_send_with_reply_topic(self):
Expand All @@ -93,9 +93,7 @@ async def test_send_with_reply_topic(self):
args = mock.call_args.args
self.assertEqual("fake", args[0])
self.assertEqual(BrokerMessageStrategy.UNICAST, args[1])
expected = BrokerMessage(
"fake", FakeModel("foo"), identifier=observed, reply_topic="ekaf", service_name="Order"
)
expected = BrokerMessage("fake", FakeModel("foo"), identifier=observed, reply_topic="ekaf")
self.assertEqual(expected, Model.from_avro_bytes(args[2]))

async def test_send_with_user(self):
Expand All @@ -112,9 +110,7 @@ async def test_send_with_user(self):
args = mock.call_args.args
self.assertEqual("fake", args[0])
self.assertEqual(BrokerMessageStrategy.UNICAST, args[1])
expected = BrokerMessage(
"fake", FakeModel("foo"), identifier=observed, reply_topic="ekaf", user=user, service_name="Order"
)
expected = BrokerMessage("fake", FakeModel("foo"), identifier=observed, reply_topic="ekaf", user=user)
self.assertEqual(expected, Model.from_avro_bytes(args[2]))

async def test_send_with_status(self):
Expand All @@ -133,11 +129,7 @@ async def test_send_with_status(self):
self.assertEqual(BrokerMessageStrategy.UNICAST, args[1])

expected = BrokerMessage(
reply_topic,
FakeModel("foo"),
identifier=observed,
status=BrokerMessageStatus.SUCCESS,
service_name=self.config.service.name,
reply_topic, FakeModel("foo"), identifier=observed, status=BrokerMessageStatus.SUCCESS,
)
observed = Model.from_avro_bytes(args[2])
self.assertEqual(expected, observed)
Expand All @@ -158,11 +150,7 @@ async def test_send_with_multicast_strategy(self):
self.assertEqual(BrokerMessageStrategy.MULTICAST, args[1])

expected = BrokerMessage(
topic,
FakeModel("foo"),
identifier=observed,
service_name=self.config.service.name,
strategy=BrokerMessageStrategy.MULTICAST,
topic, FakeModel("foo"), identifier=observed, strategy=BrokerMessageStrategy.MULTICAST,
)
observed = Model.from_avro_bytes(args[2])
self.assertEqual(expected, observed)
Expand Down

0 comments on commit 9c00d38

Please sign in to comment.