Exemple #1
0
def test_put_get_and_ack(server):
    cl1 = Client('/tmp/sock')

    cl1.put('test', 'wow1', '1', 100)

    id, message = cl1.get('test', block=False)
    assert id == '1'
    assert message == 'wow1'

    cl1.put('test', 'wow2', '2', 500)

    time.sleep(1.1)

    id, message = cl1.get('test', block=False)
    assert id == '2'
    assert message == 'wow2'

    cl2 = Client('/tmp/sock')
    id, message = cl2.get('test', block=False)
    assert id == '1'
    assert message == 'wow1'

    cl3 = Client('/tmp/sock')
    id, message = cl3.get('test', block=False)
    assert id is None

    cl2.close()

    cl1.get_queue_size('test') == 2

    id, message = cl3.get('test', block=False)
    assert id == '1'
    assert message == 'wow1'

    cl1.ack('test', '2')
    id, message = cl1.get('test', block=False)
    assert id is None