def test_exceptions(self):
     # Check that we gracefully handle failed servers
     server = MriServerDispatch({}, 'http://thiswontworkatall', 'test', 'tester')
     result = server._send_request('/', 'GET', None)
     self.assertEqual(result, None)
     # Check that we fail gracefully on invalid urls
     server = MriServerDispatch({}, 'http://744.255.255.1', 'test', 'tester')
     result = server._send_request('/get', 'GET', None)
     self.assertEqual(result, None)
     # Check that we can detect 404s
     server = MriServerDispatch({}, HTTP_BIN, 'test', 'tester')
     result = server._send_request('/thisisntarealpath', 'GET', None)
     self.assertEqual(result.status_code, 404)
 def test_basic_requests(self):
     # Check basic functionality
     server = MriServerDispatch({}, HTTP_BIN, 'test', 'tester')
     result = server._send_request('/get', 'GET', None)
     self.assertEqual(result.status_code, 200)
     # Check auth
     server = MriServerDispatch({}, HTTP_BIN, 'test', 'tester')
     result = server._send_request('/basic-auth/test/tester', 'GET', None)
     self.assertEqual(result.status_code, 200)
     # Check post
     server = MriServerDispatch({}, HTTP_BIN, 'test', 'tester')
     data = json.dumps({'introducing': 'kitton mittons'})
     result = server._send_request('/post', 'POST', data)
     self.assertEqual(result.status_code, 200)
 def test_train_event(self):
     # Check post
     server = MriServerDispatch({}, HTTP_BIN, 'test', 'tester')
     data = json.dumps(
         {"type": "train.abcde", "properties": {"iteration": 100, "loss": 200, "accuracy": 300}}
     )
     result = server._send_request('/post', 'POST', data)
     self.assertEqual(result.status_code, 200)
     self.assertTrue('train.abcde' in result.text)