def test_mds_process(self): mdsplugin = MDSExec( CocaineProxy(), {"srw_host": "http://localhost:%d" % self.get_http_port()}) conn = _FakeConnection() req = HTTPServerRequest( method="PUT", uri="/blabla", version="HTTP/1.1", headers={ "X-Cocaine-Service": "application", "X-Cocaine-Event": "event", "X-Srw-Key": "320.namespace:301123837.E150591:1046883323", "X-Srw-Namespace": "namespace", "X-Srw-Key-Type": "mds", "Authorization": "Basic aaabbb", }, connection=conn, body="body", host="localhost") req.logger = NULLLOGGER yield mdsplugin.process(req) self.assertEqual(conn.start_line.code, 202) self.assertEqual(conn.start_line.version, "HTTP/1.1") self.assertEqual(len(conn.chunks), 1) self.assertEqual(''.join(conn.chunks), "CHUNK1CHUNK2CHUNK3") self.assertEqual(conn.headers["A"], "B")
def test_400_invalid_request_error(self): proxy = mock.Mock() plugin = JSONRPC(proxy, {}) connection = mock.Mock(spec=[]) connection.write_headers = mock.MagicMock() connection.finish = mock.MagicMock() request = HTTPServerRequest( method='PUT', uri='/', version='HTTP/1.1', headers={ 'X-Cocaine-JSON-RPC': 'Enable', }, connection=connection, body='{"jsonrpc": 2.0, "method": "method", "params_": [], "id": 1}', host='localhost') request.logger = NULLLOGGER yield plugin.process(request) connection.write_headers.assert_called_with( ResponseStartLine(version='HTTP/1.1', code=400, reason='Bad JSON-RPC request'), mock.ANY, '{"message": "The JSON sent is not a valid Request object.", "code": -32600}' )
def test_400_parse_error(self): proxy = mock.Mock() plugin = JSONRPC(proxy, {}) connection = mock.Mock(spec=[]) connection.write_headers = mock.MagicMock() connection.finish = mock.MagicMock() request = HTTPServerRequest(method='PUT', uri='/', version='HTTP/1.1', headers={ 'X-Cocaine-JSON-RPC': 'Enable', }, connection=connection, body='{', host='localhost') request.logger = NULLLOGGER yield plugin.process(request) connection.write_headers.assert_called_with( ResponseStartLine(version='HTTP/1.1', code=400, reason='Bad JSON-RPC request'), mock.ANY, '{"message": "Parse error: Invalid JSON was received by the server.", "code": -32700}' )
def test_mds_process(self): mdsplugin = MDSExec(CocaineProxy(), {"srw_host": "http://localhost:%d" % self.get_http_port()}) conn = _FakeConnection() req = HTTPServerRequest(method="PUT", uri="/blabla", version="HTTP/1.1", headers={ "X-Cocaine-Service": "application", "X-Cocaine-Event": "event", "X-Srw-Key": "320.namespace:301123837.E150591:1046883323", "X-Srw-Namespace": "namespace", "X-Srw-Key-Type": "mds", "Authorization": "Basic aaabbb", }, connection=conn, body="body", host="localhost") req.logger = NULLLOGGER yield mdsplugin.process(req) self.assertEqual(conn.start_line.code, 202) self.assertEqual(conn.start_line.version, "HTTP/1.1") self.assertEqual(len(conn.chunks), 1) self.assertEqual(''.join(conn.chunks), "CHUNK1CHUNK2CHUNK3") self.assertEqual(conn.headers["A"], "B")