def test_process_status_once(): status_queue = Queue() under_test = InThreadStatusTracker(status_queue) status_update = StatusMessage( "name", "version", "service_id", "host_name", "process_id", update_interval=5, status_json= '{"state":"writing","job_id":"some_job_id","file_being_written":"some_file_name.nxs"}', ) assert status_queue.empty() now = datetime.now() under_test.process_status(status_update) under_test.send_status_if_updated(now) assert not status_queue.empty() assert type(status_queue.get()) is WorkerStatus assert len(under_test.known_jobs) == 1 keys = under_test.known_jobs.keys() print(list(keys)[0]) assert under_test.known_jobs[list(keys) [0]].file_name == "some_file_name.nxs" assert under_test.known_jobs[list(keys)[0]].state == JobState.WRITING assert under_test.known_jobs[list(keys)[0]].metadata == { "state": "writing", "job_id": "some_job_id", "file_being_written": "some_file_name.nxs", }
def test_process_status_twice_two_updates_2(): status_queue = Queue() under_test = InThreadStatusTracker(status_queue) status_update = StatusMessage( "name", "version", "service_id", "host_name", "process_id", update_interval=5, status_json= '{"state":"writing","job_id":"some_job_id","file_being_written":"some_file_name.nxs"}', ) assert status_queue.empty() now = datetime.now() under_test.process_status(status_update) under_test.send_status_if_updated(now) assert not status_queue.empty() assert type(status_queue.get()) is WorkerStatus status_update = StatusMessage( "name", "version", "service_id", "host_name", "process_id", update_interval=5, status_json='{"state":"idle"}', ) now = datetime.now() under_test.process_status(status_update) under_test.send_status_if_updated(now) assert not status_queue.empty()
def test_process_msg_status(): status_msg = serialise_status("sw", "v1", "service_id", "host", 12, 142, status_json="{}") status_queue = Queue() under_test = InThreadStatusTracker(status_queue) under_test.process_status = Mock() under_test.process_message(status_msg) under_test.process_status.assert_called_once_with( deserialise_status(status_msg))