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)
示例#5
0
    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)
示例#9
0
    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
示例#10
0
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)
示例#11
0
 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)