class NetworkReporterTests(TestCase): def setUp(self): self.reporter = Network() @patch("job_runner.reporting.network.requests.post") def test_init_msg(self, post_mock): self.reporter.report(Init([], 0, 1)) self.assertTrue(post_mock.called) @patch("job_runner.reporting.network.requests.post") def test_failed_job_is_reported(self, post_mock): self.reporter.start_time = dt.now() job = Job( { "name": "failing job", "executable": "/dev/null", "argList": [] }, 0) self.reporter.report(Exited(job, 9).with_error("failed")) _, data = post_mock.call_args self.assertTrue(post_mock.called, "post not called for failed Exit") self.assertIn('"status": "exit"', data["data"], "no exit in data") self.assertIn('"error": true', data["data"], "no set err flag in data") @patch("job_runner.reporting.network.requests.post") def test_successful_job_not_reported(self, post_mock): self.reporter.report(Exited(None, 9)) self.assertFalse(post_mock.called, "post called on successful Exit") @patch("job_runner.reporting.network.requests.post") def test_successful_forward_model_reported(self, post_mock): self.reporter.start_time = dt.now() self.reporter.report(Finish()) _, data = post_mock.call_args self.assertTrue(post_mock.called, "post not called on OK Finish") self.assertIn('"status": "OK"', data["data"], "no OK in data") @patch("job_runner.reporting.network.requests.post") def test_failed_forward_model_not_reported(self, post_mock): self.reporter.report(Finish().with_error("failed")) self.assertFalse(post_mock.called, "post called on failed Finish")
class NetworkReporterTests(TestCase): def setUp(self): self.reporter = Network() @patch("job_runner.reporting.network.requests.post") def test_init_msg(self, post_mock): self.reporter.report(Init([], 0, 1)) self.assertTrue(post_mock.called) @patch("job_runner.reporting.network.requests.post") def test_exited_failure_msg(self, post_mock): self.reporter.start_time = dt.now() self.reporter.report(Exited(None, 9)) self.assertTrue(post_mock.called) @patch("job_runner.reporting.network.requests.post") def test_exited_success_msg(self, post_mock): self.reporter.start_time = dt.now() self.reporter.report(Exited(None, 9)) _, data = post_mock.call_args self.assertTrue(post_mock.called) self.assertIn('"status": "OK"', data["data"])
def setUp(self): self.reporter = Network()