Esempio n. 1
0
 def show_queues():
     queues = get_queues(_get_properties())
     total_messages = 0
     for queue in queues:
         print "queue %s: %s messages" % (queue, _queue_size(queue))
         total_messages += _queue_size(queue)
     print "total messages: %s" % total_messages
Esempio n. 2
0
 def show_queues():
     queues = get_queues(_get_properties())
     total_messages = 0
     for queue in queues:
         print "queue %s: %s messages" % (queue, _queue_size(queue))
         total_messages += _queue_size(queue)
     print "total messages: %s" % total_messages
Esempio n. 3
0
    def test_consume_from_2_queues(self):
        """
        Check that worker consumes messages from 2 queues properly
        """
        self.counter = 0

        def show_queues():
            queues = get_queues(_get_properties())
            total_messages = 0
            for queue in queues:
                print "queue %s: %s messages" % (queue, _queue_size(queue))
                total_messages += _queue_size(queue)
            print "total messages: %s" % total_messages

        def check_queue_size(*args, **kwargs):
            """
            Closure to attach to _dispatch 
            counts how many messages processed
            """
            self.counter += 1

        #SetUp the TaskBroker but override _dispatch
        task_broker = _task_broker_factory(dispatch_func=check_queue_size)

        #Publish a Couple of Messages to both queues
        channel = task_broker.channel

        properties = {DEVICE_GROUP: "test", DEVICE_NAME: "testname"}
        queues = get_queues(properties)
        self.assertEquals(len(queues), 2)
        for queue in queues:
            foo_cmd_msg = CommandMessage(['foo'], '', 1, timeout=1)
            foo_msg = pack_message(foo_cmd_msg)
            channel.basic_publish(foo_msg,
                                  mandatory=True,
                                  exchange=queue,
                                  routing_key=queue)
            #
            bar_cmd_msg = CommandMessage(['bar'], '', 1, timeout=1)
            bar_msg = pack_message(bar_cmd_msg)
            channel.basic_publish(bar_msg,
                                  mandatory=True,
                                  exchange=queue,
                                  routing_key=queue)
            #
            baz_cmd_msg = CommandMessage(['bar'], '', 1, timeout=1)
            baz_msg = pack_message(baz_cmd_msg)
            channel.basic_publish(baz_msg,
                                  mandatory=True,
                                  exchange=queue,
                                  routing_key=queue)

        #Set to Consume
        task_broker._start_consume()

        while self.counter < 6:  # Process all messages
            channel.wait()

        for queue in queues:  # Make sure all queues are empty
            self.assertEquals(_queue_size(queue), 0)
Esempio n. 4
0
 def test_get_queues_device_group_name_and_id(self):
     properties = dict()
     properties["devicegroup"] = "test"
     properties["devicename"] = "testname"
     properties["deviceid"] = "hw1"
     queues = get_queues(properties)
     self.assertEquals(queues, [ "test.testname.hw1", "test.testname", "test"])
Esempio n. 5
0
 def test_get_queues_device_group_name_and_id(self):
     properties = dict()
     properties["devicegroup"] = "test"
     properties["devicename"] = "testname"
     properties["deviceid"] = "hw1"
     queues = get_queues(properties)
     self.assertEquals(queues,
                       ["test.testname.hw1", "test.testname", "test"])
Esempio n. 6
0
    def test_get_queues_device_group_only(self):

        properties = dict()
        properties["devicegroup"] = "test"
        queues = get_queues(properties)
        self.assertEquals(queues, ["test"])
Esempio n. 7
0
    def test_consume_from_2_queues(self):
        """
        Check that worker consumes messages from 2 queues properly
        """
        self.counter = 0

        def show_queues():
            queues = get_queues(_get_properties())
            total_messages = 0
            for queue in queues:
                print "queue %s: %s messages" % (queue, _queue_size(queue))
                total_messages += _queue_size(queue)
            print "total messages: %s" % total_messages

        
        def check_queue_size(*args,**kwargs):
            """
            Closure to attach to _dispatch 
            counts how many messages processed
            """
            self.counter += 1

        #SetUp the TaskBroker but override _dispatch
        task_broker = _task_broker_factory(dispatch_func = check_queue_size)

        #Publish a Couple of Messages to both queues
        channel = task_broker.channel

        properties = {DEVICE_GROUP : "test",
                      DEVICE_NAME : "testname"}
        queues = get_queues(properties)
        self.assertEquals(len(queues), 2)
        for queue in queues:
            foo_cmd_msg = CommandMessage(['foo'],'', 1, timeout = 1)
            foo_msg = pack_message(foo_cmd_msg) 
            channel.basic_publish(foo_msg,
                                  mandatory = True,
                                  exchange = queue,
                                  routing_key = queue)
            #
            bar_cmd_msg = CommandMessage(['bar'],'', 1, timeout = 1)
            bar_msg = pack_message(bar_cmd_msg) 
            channel.basic_publish(bar_msg,
                                  mandatory = True,
                                  exchange = queue,
                                  routing_key = queue)
            #
            baz_cmd_msg = CommandMessage(['bar'],'', 1, timeout = 1)
            baz_msg = pack_message(baz_cmd_msg) 
            channel.basic_publish(baz_msg,
                                  mandatory = True,
                                  exchange = queue,
                                  routing_key = queue)
            
        #Set to Consume
        task_broker._start_consume()

        while self.counter < 6: # Process all messages
            channel.wait()
        
        for queue in queues: # Make sure all queues are empty
            self.assertEquals(_queue_size(queue), 0)
Esempio n. 8
0
 def tearDown(self):
     queues = get_queues(_get_properties())
     queues.append("test_response_queue")
     for queue in queues:
         _queue_delete(queue)
Esempio n. 9
0
 def setUp(self):
     queues = get_queues(_get_properties())
     queues.append("test_response_queue")
     for queue in queues:
         _queue_delete(queue)
         self.assertTrue(_queue_size(queue) is None)
Esempio n. 10
0
 def tearDown(self):
     queues = get_queues(_get_properties())
     queues.append("test_response_queue")
     for queue in queues:
         _queue_delete(queue)
Esempio n. 11
0
 def setUp(self):
     queues = get_queues(_get_properties())
     queues.append("test_response_queue")
     for queue in queues:
         _queue_delete(queue)
         self.assertTrue(_queue_size(queue) is None)
Esempio n. 12
0
    def test_get_queues_device_group_only(self):

        properties = dict()
        properties["devicegroup"] = "test"
        queues = get_queues(properties)
        self.assertEquals(queues, ["test"])