Esempio n. 1
0
def test_service_container_is_worker_busy():
    now = time.time()
    container = broker.ServicesContainer()
    container.add_worker(b'w1-good', b'service-1', now + 5, now)

    assert container.is_busy_worker(b'w1-good') is False

    container.set_worker_busy(b'w1-good', now + 900.0)
    assert container.is_busy_worker(b'w1-good') is True

    assert container.is_busy_worker(b'unknown-worker') is False
Esempio n. 2
0
def test_service_container_yields_expired_busy_workers():
    now = time.time()
    container = broker.ServicesContainer()
    container.add_worker(b'w1-good', b'service-1', now + 5, now)
    container.add_worker(b'w2-good', b'service-2', now + 1, now)
    container.add_worker(b'w3-exp', b'service-1', now - 0.5, now)
    container.add_worker(b'w4-exp', b'service-2', now - 1000, now)
    container.set_worker_busy(b'w2-good', now - 1)

    expired = list(container.expired_workers())
    assert 3 == len(expired)
Esempio n. 3
0
def test_service_container_yields_heartbeat_workers():
    now = time.time()
    container = broker.ServicesContainer()
    container.add_worker(b'w1-good', b'service-1', now + 5, now + 1)
    container.add_worker(b'w2-good', b'service-2', now + 5, now + 2)
    container.add_worker(b'w3-time', b'service-1', now + 5, now)
    container.add_worker(b'w4-time', b'service-2', now + 5, now - 1)

    expired = list(container.heartbeat_workers())
    assert 2 == len(expired)
    for w in expired:
        assert w.id in {b'w3-time', b'w4-time'}
Esempio n. 4
0
def test_service_container_busy_worker_removed():
    now = time.time()
    container = broker.ServicesContainer()
    container.add_worker(b'w1-good', b'service-1', now + 5, now)
    container.set_worker_busy(b'w1-good', now + 900.0)

    assert 0 == len(list(container.expired_workers()))

    container.remove_worker(b'w1-good')

    with raises(error.StateError):
        container.set_worker_available(b'w1-good', now + 5, now + 1)
Esempio n. 5
0
def test_service_container_worker_removed():
    now = time.time()
    container = broker.ServicesContainer()
    container.add_worker(b'w1-good', b'service-1', now + 5, now)
    container.add_worker(b'w3-exp', b'service-1', now - 0.5, now)

    assert 1 == len(list(container.expired_workers()))

    for w in container.expired_workers():
        container.remove_worker(w.id)

    assert 0 == len(list(container.expired_workers()))
Esempio n. 6
0
def test_service_container_yields_expired_workers():
    now = time.time()
    container = broker.ServicesContainer()
    container.add_worker(b'w1-good', b'service-1', now + 5, now)
    container.add_worker(b'w2-good', b'service-2', now + 1, now)
    container.add_worker(b'w3-exp', b'service-1', now - 0.5, now)
    container.add_worker(b'w4-exp', b'service-2', now - 1000, now)

    expired = list(container.expired_workers())
    assert 2 == len(expired)
    for w in expired:
        assert w.id in {b'w3-exp', b'w4-exp'}
Esempio n. 7
0
def test_service_container_non_existing_worker_removed():
    container = broker.ServicesContainer()
    with raises(error.StateError):
        container.remove_worker(b'w1-good')