Example #1
0
def test_spawn_invalid_shutdown() -> None:
    manager = StateMachineManager()

    # Set manager into reset mode
    manager._mode = "Junk"

    # Spawn manager and ensure shutdowns
    manager.spawn()
    start_time = time.time()
    while True:
        time.sleep(0.1)
        if manager.is_shutdown:
            break
    assert manager._mode == modes.INVALID
Example #2
0
def test_spawn_shutdown() -> None:
    manager = StateMachineManager()

    # Spawn manager and ensure transitions to normal mode
    manager.spawn()
    start_time = time.time()
    while True:
        time.sleep(0.1)
        if manager._mode == modes.NORMAL:
            break

    # Ensure thread shutsdown
    message, status = manager.shutdown()
    assert status == 200
    start_time = time.time()
    while True:
        time.sleep(0.1)
        if manager.is_shutdown:
            break
Example #3
0
def test_spawn_error_shutdown() -> None:
    manager = StateMachineManager()

    # Set manager into reset mode
    manager._mode = modes.ERROR

    # Spawn manager and ensure transitions to error mode
    manager.spawn()
    start_time = time.time()
    while True:
        time.sleep(0.1)
        if manager._mode == modes.ERROR:
            break

    # Ensure thread shutsdown
    message, status = manager.shutdown()
    assert status == 200
    start_time = time.time()
    while True:
        time.sleep(0.1)
        if manager.is_shutdown:
            break
Example #4
0
def test_create_shutdown_event() -> None:
    manager = StateMachineManager()

    # Spawn manager and ensure transitions to normal mode
    manager.spawn()
    start_time = time.time()
    while True:
        time.sleep(0.1)
        if manager._mode == modes.NORMAL:
            break

    # Create shutdown event
    request = {"type": events.SHUTDOWN}
    message, status = manager.create_event(request)
    assert status == 200

    # Ensure thread shutsdown
    start_time = time.time()
    while True:
        time.sleep(0.1)
        if manager.is_shutdown:
            break