示例#1
0
def test_process_answer_set_stop_time_twice():
    status_queue = Queue()
    under_test = InThreadStatusTracker(status_queue)
    answer = Response(
        "service_id",
        "job_id",
        "command_id",
        ActionType.SetStopTime,
        ActionOutcome.Success,
        "some message",
        0,
        datetime.now(),
    )
    assert status_queue.empty()
    now = datetime.now()
    under_test.process_answer(answer)
    under_test.send_status_if_updated(now)
    assert not status_queue.empty()
    assert type(status_queue.get()) is WorkerStatus
    assert type(status_queue.get()) is JobStatus
    assert type(status_queue.get()) is CommandStatus
    now = datetime.now()
    under_test.process_answer(answer)
    under_test.send_status_if_updated(now)
    assert not status_queue.empty()
    assert type(status_queue.get()) is JobStatus
    assert type(status_queue.get()) is CommandStatus
    assert status_queue.empty()
示例#2
0
def test_process_msg_answer():
    answ_msg = serialise_answer(
        "service id",
        "job id",
        "command id",
        ActionType.StartJob,
        ActionOutcome.Success,
        "some message",
        0,
        datetime.now(),
    )
    status_queue = Queue()
    under_test = InThreadStatusTracker(status_queue)
    under_test.process_answer = Mock()
    under_test.process_message(answ_msg)
    under_test.process_answer.assert_called_once_with(
        deserialise_answer(answ_msg))