Ejemplo n.º 1
0
def test_broker_single_register():
    broker = Broker()
    data = {
        'pk': hexlify(b'this is a test').decode('utf-8'),
        'id': hexlify(b'someID').decode('utf-8')
    }
    broker.register(data, 'mix')
    cache = broker.fetch([], 'mix')
    assert len(cache) == 1
Ejemplo n.º 2
0
def test_broker_multiple_register():
    broker = Broker()
    data = [{
        'pk': hexlify(b'this is a test').decode('utf-8'),
        'id': hexlify(b'someID1').decode('utf-8')
    }, {
        'pk': hexlify(b'this is a test').decode('utf-8'),
        'id': hexlify(b'someID2').decode('utf-8')
    }, {
        'pk': hexlify(b'this is a test').decode('utf-8'),
        'id': hexlify(b'someID3').decode('utf-8')
    }, {
        'pk': hexlify(b'this is a test').decode('utf-8'),
        'id': hexlify(b'someID4').decode('utf-8')
    }, {
        'pk': hexlify(b'this is a test').decode('utf-8'),
        'id': hexlify(b'someID5').decode('utf-8')
    }]
    for entry in data:
        broker.register(entry, 'mix')
    cache = broker.fetch([], 'mix')
    assert len(cache) == 5
Ejemplo n.º 3
0
def test_broker_multiple_register_multithreaded():
    class Client(Thread):
        def __init__(self, data, broker):
            Thread.__init__(self)
            self.broker = broker
            self.data = data
            self.start()

        def run(self):
            self.broker.register(self.data, 'mix')

    broker = Broker()
    data = [{
        'pk': hexlify(b'this is a test').decode('utf-8'),
        'id': hexlify(b'someID1').decode('utf-8')
    }, {
        'pk': hexlify(b'this is a test').decode('utf-8'),
        'id': hexlify(b'someID2').decode('utf-8')
    }, {
        'pk': hexlify(b'this is a test').decode('utf-8'),
        'id': hexlify(b'someID3').decode('utf-8')
    }, {
        'pk': hexlify(b'this is a test').decode('utf-8'),
        'id': hexlify(b'someID4').decode('utf-8')
    }, {
        'pk': hexlify(b'this is a test').decode('utf-8'),
        'id': hexlify(b'someID5').decode('utf-8')
    }]
    threads = []
    for entry in data:
        threads.append(Client(entry, broker))
    for t1 in threads:
        t1.join()

    cache = broker.fetch([], 'mix')
    assert len(cache) == 5