def test_create_duplicate_queues(self): queue_info = { "queue_name": "dummy", "request_schema": { "type": "object" } } creator = Creator() creator.start() creator.create(queue_info) with pytest.raises(QueueAlreadyExists): creator.create(queue_info)
def test_create_without_request_schema(self): queue_info = { "queue_name": "bad-schema", } creator = Creator() creator.start() with pytest.raises(SchemaValidationFailed): creator.create(queue_info)
def create_status_queue(queue_name): queue_info = { "queue_name": queue_name, "queue_type": "sticky", "request_schema": {"type": "string"} } creator = Creator() creator.start() creator.create(queue_info)
def create_capability_queue(self, capability): qid = capability.unique_id queue_name = self.get_service_queue_name("capability/" + qid) queue_info = { "queue_name": queue_name, "request_schema": capability.schema } creator = Creator() creator.start() creator.create(queue_info)
def start(self): creator = Creator() creator.start() creator.create({ "queue_name": self.request_queue, "request_schema": self.request_schema }) creator.create({ "queue_name": self.response_queue, "request_schema": self.response_schema }) self.sender.start() self.receiver.start() self.receiver_thread.start() self.service.app.register_rpc_server(self)
def setup_class(cls): event = Event() cls.service = MessageService(CONFIG) cls.service.notify_start = lambda: event.set() cls.service_thread = Thread(target=cls.service.on_service_start) cls.service_thread.start() event.wait() creator = Creator() creator.start() for queue_info in TEST_QUEUES: creator.create(queue_info)
def test_create_incorrect_schema(self): queue_info = { "queue_name": "bad-schema", "request_schema": { "type": "wrong" } } creator = Creator() creator.start() with pytest.raises(SchemaValidationFailed): creator.create(queue_info)
def create_event_queue(self, event): qid = event.unique_id queue_name = self.get_service_queue_name("event/" + qid) queue_info = { "queue_name": queue_name, "request_schema": event.schema } creator = Creator() creator.start() creator.create(queue_info)
def start(self): creator = Creator() creator.start() try: creator.create({ "queue_name": self.queue, "queue_type": "sticky", "request_schema": { "type": "string" } }) except QueueAlreadyExists: pass self.sender.start() self.running = True
def create_events_queue(queue_name): queue_info = { "queue_name": queue_name, "queue_type": "keyedsticky", "request_schema": { "type": "object", "properties": { "name": {"type": "string"}, "description": {"type": "string"}, "params": {"type": "object"}, "id": {"type": "string"} } } } creator = Creator() creator.start() creator.create(queue_info)
def test_create_bad_schema_object(self): queue_info = {"queue_name": "bad-schema", "request_schema": [1, 2, 3]} creator = Creator() creator.start() with pytest.raises(SchemaValidationFailed): creator.create(queue_info)