def testEncodeMessage(self): config = remote.ProtocolConfig(protojson, 'proto2') self.assertEquals( '{"state": "SERVER_ERROR", "error_message": "bad error"}', config.encode_message( remote.RpcStatus(state=remote.RpcState.SERVER_ERROR, error_message="bad error")))
def testEmptyAlternativeTypes(self): config = remote.ProtocolConfig(protojson, 'proto2', alternative_content_types=()) self.assertEquals(protojson, config.protocol) self.assertEquals('proto2', config.name) self.assertEquals('application/json', config.default_content_type) self.assertEquals((), config.alternate_content_types) self.assertEquals(('application/json',), config.content_types)
def testEncodeMessage(self): config = remote.ProtocolConfig(protojson, 'proto2') encoded_message = config.encode_message( remote.RpcStatus(state=remote.RpcState.SERVER_ERROR, error_message='bad error')) # Convert back to a dictionary from JSON. dict_message = protojson.json.loads(encoded_message) self.assertEquals({'state': 'SERVER_ERROR', 'error_message': 'bad error'}, dict_message)
def testConstructorDefaults(self): config = remote.ProtocolConfig(protojson, 'proto2') self.assertEquals(protojson, config.protocol) self.assertEquals('proto2', config.name) self.assertEquals('application/json', config.default_content_type) self.assertEquals(('application/x-javascript', 'text/javascript', 'text/x-javascript', 'text/x-json', 'text/json'), config.alternate_content_types) self.assertEquals( ('application/json', 'application/x-javascript', 'text/javascript', 'text/x-javascript', 'text/x-json', 'text/json'), config.content_types)
def testConstructor(self): config = remote.ProtocolConfig(protojson, 'proto1', 'application/X-Json', iter(['text/Json', 'text/JavaScript'])) self.assertEquals(protojson, config.protocol) self.assertEquals('proto1', config.name) self.assertEquals('application/x-json', config.default_content_type) self.assertEquals(('text/json', 'text/javascript'), config.alternate_content_types) self.assertEquals( ('application/x-json', 'text/json', 'text/javascript'), config.content_types)
def testUseProtocolConfigContentType(self): expected_content_type = 'image/png' def expect_content_type(environ, start_response): self.assertEquals(expected_content_type, environ['CONTENT_TYPE']) app = wsgi_util.static_page('', content_type=environ['CONTENT_TYPE']) return app(environ, start_response) self.ResetServer(expect_content_type) protocol_config = remote.ProtocolConfig(protojson, 'json', 'image/png') self.connection = self.CreateTransport(self.service_url, protocol_config) rpc = self.connection.send_rpc(my_method.remote, self.request) self.assertEquals(Message(), rpc.response)
def testProtocolConfig(self): protocol_config = remote.ProtocolConfig(protojson, 'protoconfig', 'image/png') trans = transport.Transport(protocol=protocol_config) self.do_test(protojson, trans) self.assertTrue(trans.protocol_config is protocol_config)