source: ogClient-Git/tests/units/server.py @ d5dca0f

Last change on this file since d5dca0f was bb65bd7, checked in by Alvaro Neira Ayuso <alvaroneay@…>, 5 years ago

Add unit testing basic structure

  • Property mode set to 100644
File size: 1.2 KB
Line 
1import socket
2import sys
3
4HOST = '127.0.0.1'
5PORT = '1234'
6
7class Server():
8
9    _probe_json = '{"id": 0, "name": "test_local", "center": 0, "room": 0}'
10    _probe_msg = 'POST /probe HTTP/1.0\r\nContent-Length:'+ \
11                 str(len(_probe_json)) + \
12                 '\r\nContent-Type:application/json\r\n\r\n' + _probe_json
13
14    def __init__(self, host='127.0.0.1', port=1234):
15        self.host = host
16        self.port = port
17        self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
18        self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
19
20    def connect(self, probe=True):
21        try:
22            self.sock.bind((self.host, self.port))
23        except socket.error as msg:
24            print('Bind failed. Error Code : ' + str(msg[0]) + ' Message '
25                  + msg[1])
26            sys.exit()
27
28        self.sock.listen(10)
29        self.conn, self.addr = self.sock.accept()
30        if probe:
31            self.send(self._probe_msg)
32            return self.recv()
33
34    def send(self, msg):
35        self.conn.send(msg.encode())
36
37    def recv(self):
38        return self.conn.recv(1024).decode('utf-8')
39
40    def stop(self):
41        self.conn.close()
42        self.sock.close()
Note: See TracBrowser for help on using the repository browser.