Skip to content

Commit c8835a6

Browse files
committed
Implemented microservice register worker
1 parent 03d3299 commit c8835a6

File tree

2 files changed

+28
-1
lines changed

2 files changed

+28
-1
lines changed

sage_utils/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
__title__ = 'sage-utils'
2-
__version__ = '0.2.0'
2+
__version__ = '0.3.0'
33
__license__ = 'BSD'
44
VERSION = __version__

sage_utils/amqp/workers.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
from sage_utils.amqp.base import AmqpWorker
2+
from sage_utils.amqp.clients import RpcAmqpClient
3+
4+
5+
class MicroserviceRegisterWorker(AmqpWorker):
6+
REQUEST_QUEUE_NAME = "auth.microservices.register"
7+
REQUEST_EXCHANGE_NAME = "open-matchmaking.direct"
8+
RESPONSE_EXCHANGE_NAME = "open-matchmaking.responses.direct"
9+
CONTENT_TYPE = 'application/json'
10+
11+
def get_microservice_data(self, app):
12+
raise NotImplementedError("The `get_microservice_data(data)` method "
13+
"must be implemented.")
14+
15+
async def run(self, *args, **kwargs):
16+
client = RpcAmqpClient(
17+
self.app,
18+
routing_key=self.REQUEST_QUEUE_NAME,
19+
request_exchange=self.REQUEST_EXCHANGE_NAME,
20+
response_queue='',
21+
response_exchange=self.RESPONSE_EXCHANGE_NAME
22+
)
23+
response = await client.send(self.get_microservice_data(self.app))
24+
25+
assert 'error' not in response.keys(), response['error']
26+
assert 'content' in response.keys()
27+
assert response['content'] == 'OK'

0 commit comments

Comments
 (0)