Skip to content

Commit 3d36025

Browse files
committed
- Fixed for new Config version.
issue #283
1 parent fddbca0 commit 3d36025

File tree

5 files changed

+38
-32
lines changed

5 files changed

+38
-32
lines changed

packages/plugins/minos-broker-rabbitmq/minos/plugins/rabbitmq/publisher.py

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,6 @@
88
Message,
99
connect,
1010
)
11-
from aio_pika.abc import (
12-
AbstractConnection,
13-
)
14-
from cached_property import (
15-
cached_property,
16-
)
1711

1812
from minos.common import (
1913
MinosConfig,
@@ -59,10 +53,12 @@ def __init__(self, *args, broker_host: str, broker_port: int, **kwargs):
5953

6054
@classmethod
6155
def _from_config(cls, config: MinosConfig, **kwargs) -> RabbitMQBrokerPublisher:
62-
kwargs["broker_host"] = config.broker.host
63-
kwargs["broker_port"] = config.broker.port
64-
# noinspection PyProtectedMember
65-
return cls(**config.broker.queue._asdict(), **kwargs)
56+
broker_config = config.get_interface_by_name("broker")
57+
common_config = broker_config["common"]
58+
59+
kwargs["broker_host"] = common_config["host"]
60+
kwargs["broker_port"] = common_config["port"]
61+
return cls(**kwargs)
6662

6763
async def _setup(self) -> None:
6864
await super()._setup()

packages/plugins/minos-broker-rabbitmq/minos/plugins/rabbitmq/subscriber.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
)
1616

1717
from minos.common import (
18-
MinosConfig,
18+
MinosConfig, Config,
1919
)
2020
from minos.networks import (
2121
BrokerMessage,
@@ -72,16 +72,19 @@ async def _receive(self) -> BrokerMessage:
7272
class RabbitMQBrokerSubscriberBuilder(BrokerSubscriberBuilder):
7373
"""RabbitMQ Broker Subscriber Builder class."""
7474

75-
def with_config(self, config: MinosConfig) -> BrokerSubscriberBuilder:
75+
def with_config(self, config: Config) -> BrokerSubscriberBuilder:
7676
"""Set config.
7777
7878
:param config: The config to be set.
7979
:return: This method return the builder instance.
8080
"""
81+
broker_config = config.get_interface_by_name("broker")
82+
common_config = broker_config["common"]
83+
8184
self.kwargs |= {
82-
"group_id": config.service.name,
83-
"broker_host": config.broker.host,
84-
"broker_port": config.broker.port,
85+
"group_id": config.get_name(),
86+
"broker_host": common_config["host"],
87+
"broker_port": common_config["port"],
8588
}
8689
return self
8790

packages/plugins/minos-broker-rabbitmq/tests/test_config.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
service:
22
name: Order
33
aggregate: tests.utils.Order
4+
services:
5+
- minos.networks.BrokerHandlerPort
46
services:
57
- tests.services.commands.CommandService
68
- tests.services.queries.QueryService

packages/plugins/minos-broker-rabbitmq/tests/test_rabbitmq/test_publisher.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import aio_pika
88

99
from minos.common import (
10-
MinosConfig,
10+
MinosConfig, Config,
1111
)
1212
from minos.networks import (
1313
BrokerMessage,
@@ -32,12 +32,14 @@ def test_is_subclass(self):
3232
self.assertTrue(issubclass(RabbitMQBrokerPublisher, BrokerPublisher))
3333

3434
def test_from_config(self):
35-
config = MinosConfig(CONFIG_FILE_PATH)
35+
config = Config(CONFIG_FILE_PATH)
36+
broker_config = config.get_interface_by_name("broker")["common"]
37+
3638
publisher = RabbitMQBrokerPublisher.from_config(config)
3739

3840
self.assertIsInstance(publisher, RabbitMQBrokerPublisher)
39-
self.assertEqual(config.broker.host, publisher.broker_host)
40-
self.assertEqual(config.broker.port, publisher.broker_port)
41+
self.assertEqual(broker_config["host"], publisher.broker_host)
42+
self.assertEqual(broker_config["port"], publisher.broker_port)
4143

4244
@patch("minos.plugins.rabbitmq.publisher.connect")
4345
async def test_send(self, connect_mock):

packages/plugins/minos-broker-rabbitmq/tests/test_rabbitmq/test_subscriber.py

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
)
1010

1111
from minos.common import (
12-
MinosConfig,
12+
MinosConfig, Config,
1313
)
1414
from minos.networks import (
1515
BrokerMessageV1,
@@ -37,11 +37,12 @@ def test_is_subclass(self):
3737
self.assertTrue(issubclass(RabbitMQBrokerSubscriber, BrokerSubscriber))
3838

3939
async def test_from_config(self):
40-
config = MinosConfig(CONFIG_FILE_PATH)
40+
config = Config(CONFIG_FILE_PATH)
41+
broker_config = config.get_interface_by_name("broker")["common"]
4142
async with RabbitMQBrokerSubscriber.from_config(config, topics={"foo", "bar"}) as subscriber:
42-
self.assertEqual(config.broker.host, subscriber.broker_host)
43-
self.assertEqual(config.broker.port, subscriber.broker_port)
44-
self.assertEqual(config.service.name, subscriber.group_id)
43+
self.assertEqual(broker_config["host"], subscriber.broker_host)
44+
self.assertEqual(broker_config["port"], subscriber.broker_port)
45+
self.assertEqual(config.get_name(), subscriber.group_id)
4546
self.assertEqual(False, subscriber.remove_topics_on_destroy)
4647
self.assertEqual({"foo", "bar"}, subscriber.topics)
4748

@@ -61,31 +62,33 @@ async def test_receive(self, connect_mock, mock_avro):
6162

6263
class TestRabbitMQBrokerSubscriberBuilder(unittest.TestCase):
6364
def setUp(self) -> None:
64-
self.config = MinosConfig(CONFIG_FILE_PATH)
65+
self.config = Config(CONFIG_FILE_PATH)
6566

6667
def test_with_config(self):
6768
builder = RabbitMQBrokerSubscriberBuilder().with_config(self.config)
69+
common_config = self.config.get_interface_by_name("broker")["common"]
6870

6971
expected = {
70-
"group_id": self.config.service.name,
71-
"broker_host": self.config.broker.host,
72-
"broker_port": self.config.broker.port,
72+
"group_id": self.config.get_name(),
73+
"broker_host": common_config["host"],
74+
"broker_port": common_config["port"],
7375
}
7476
self.assertEqual(expected, builder.kwargs)
7577

7678
def test_build(self):
79+
common_config = self.config.get_interface_by_name("broker")["common"]
7780
builder = RabbitMQBrokerSubscriberBuilder().with_config(self.config).with_topics({"one", "two"})
7881
subscriber = builder.build()
7982

8083
self.assertIsInstance(subscriber, RabbitMQBrokerSubscriber)
8184
self.assertEqual({"one", "two"}, subscriber.topics)
82-
self.assertEqual(self.config.broker.port, subscriber.broker_port)
83-
self.assertEqual(self.config.broker.host, subscriber.broker_host)
85+
self.assertEqual(common_config["host"], subscriber.broker_host)
86+
self.assertEqual(common_config["port"], subscriber.broker_port)
8487

8588

8689
class TestPostgreSqlQueuedRabbitMQBrokerSubscriberBuilder(unittest.TestCase):
8790
def setUp(self) -> None:
88-
self.config = MinosConfig(CONFIG_FILE_PATH)
91+
self.config = Config(CONFIG_FILE_PATH)
8992

9093
def test_build(self):
9194
builder = PostgreSqlQueuedRabbitMQBrokerSubscriberBuilder().with_config(self.config).with_topics({"one", "two"})
@@ -98,7 +101,7 @@ def test_build(self):
98101

99102
class TestInMemoryQueuedRabbitMQBrokerSubscriberBuilder(unittest.TestCase):
100103
def setUp(self) -> None:
101-
self.config = MinosConfig(CONFIG_FILE_PATH)
104+
self.config = Config(CONFIG_FILE_PATH)
102105

103106
def test_build(self):
104107
builder = InMemoryQueuedRabbitMQBrokerSubscriberBuilder().with_config(self.config).with_topics({"one", "two"})

0 commit comments

Comments
 (0)