def test_ssl_verification(self): s = HTTPServer('https://test/') s.session.cert = '/path/to/cert' s.session.verify = 'ca-cert' req = Request('go') with self.assertRaises(requests.exceptions.RequestException): s._send_message(req)
def test_send_message_with_success_200(): s = HTTPServer('http://test/') responses.add(responses.POST, 'http://test/', status=200, body='{"jsonrpc": "2.0", "result": 5, "id": 1}') s._send_message(Request('go'))
def test_send_message_with_invalid_request(self): s = HTTPServer('http://test/') # Impossible to pass an invalid dict, so just assume the exception was raised responses.add(responses.POST, 'http://test/', status=400, body=requests.exceptions.InvalidSchema()) with self.assertRaises(requests.exceptions.InvalidSchema): s._send_message(Request('go'))
def __init__(self): self.server = HTTPServer('http://127.0.0.1:5000/api') self.config = configparser.ConfigParser() if (os.path.isfile('/home/andy/.ludicode')): self.config.read('/home/andy/.ludicode') else: self.createDefaultConfig('/home/andy/.ludicode') self.uuid = self.config[self.game]['uuid'] super(LudiClient,self).__init__()
def test_send_message_custom_headers(self): s = HTTPServer('http://test/') req = Request('go') with self.assertRaises(requests.exceptions.RequestException): s._send_message(req, headers={'Content-Type': 'application/json-rpc'}) # Header set by argument self.assertEqual('application/json-rpc', s.last_request.headers['Content-Type']) # Header set by DEFAULT_HEADERS self.assertEqual('application/json', s.last_request.headers['Accept']) # Header set by Requests default_headers self.assertIn('Content-Length', s.last_request.headers)
def test_init_default_headers(self): s = HTTPServer('http://test/') # Default headers self.assertEqual('application/json', s.session.headers['Content-Type']) self.assertEqual('application/json', s.session.headers['Accept']) # Ensure the Requests default_headers are also there self.assertIn('Connection', s.session.headers)
class LudiClient(LudiCore): def __init__(self): self.server = HTTPServer('http://127.0.0.1:5000/api') self.config = configparser.ConfigParser() if (os.path.isfile('/home/andy/.ludicode')): self.config.read('/home/andy/.ludicode') else: self.createDefaultConfig('/home/andy/.ludicode') self.uuid = self.config[self.game]['uuid'] super(LudiClient,self).__init__() def createDefaultConfig(self, fname): self.config['DEFAULT'] = {'uuid': self.newUUID(), 'UserName': '******'} self.config['Server'] = {'uuid': self.newUUID(), 'ServerName': 'Warpzone MS'} # TODO: Schreibfehler abfangen with open(fname, 'w') as configfile: self.config.write(configfile) def connectToServer(self): print("Connecting to Server... " , end = '') result = self.server.request('ludicode', self.sendMessage(0)) if (result[0] == 1): print("Ok") print("Server: ",result[1]['ServerName']) print("Requesting available games... ",end='') result = self.server.request('ludicode', self.sendMessage(2)) if (result[0] == 3): print("Ok") print(', '.join(result[1]['GameList'])) if (self.game in result[1]['GameList']): print(self.game, " is available") print("Registering Player (%s)... " % self.config[self.game]['username'],end='') result = self.server.request('ludicode', self.sendMessage(6,{"uuid":self.config[self.game]['uuid'],"username":self.config[self.game]['username']})) if (result[0] == 7): print("Ok") print("User registered")
def __init__(self, host, port, user, pwd): """__init__""" self.url = 'http://{0}:{1}/'.format(host, port) self.server = HTTPServer(self.url + 'jsonrpc', headers={'content-type': 'application/json'}, auth=(user, pwd)) for namespace in KODI_JSON_NAMESPACES: self.__dict__[namespace] = KodiNamespaceMethodCatcher( self.server, namespace)
def test_init_custom_headers(self): s = HTTPServer('http://test/') s.session.headers['Content-Type'] = 'application/json-rpc' # Header set by argument self.assertEqual('application/json-rpc', s.session.headers['Content-Type']) # Header set by DEFAULT_HEADERS self.assertEqual('application/json', s.session.headers['Accept']) # Header set by Requests default_headers self.assertIn('Connection', s.session.headers)
def test_send_message_with_connection_error(self): s = HTTPServer('http://test/') with self.assertRaises(requests.exceptions.RequestException): s._send_message(Request('go'))
def test_send_message_body(self): s = HTTPServer('http://test/') req = Request('go') with self.assertRaises(requests.exceptions.RequestException): s._send_message(req) self.assertEqual(urlencode(req), s.last_request.body)
def test_init_custom_auth(): HTTPServer('http://test/')
def test_init_endpoint_only(): HTTPServer('http://test/')