import socket from urllib.request import urlopen, Request from functools import partial from unittest import TestCase import models import fixtures TCP_ADDR = ('127.0.0.1', 8283) UDP_ADDR = ('127.0.0.1', 8283) HTTP_URL = 'http://127.0.0.1:8080' nm_req = partial( models.create_nm_req, fixtures.device_mac, fixtures.device_name, fixtures.sensors, ) json_req = None # TODO class TestTCP(TestCase): def setUp(self) -> None: self.sock = socket.socket() self.sock.connect(TCP_ADDR) def test_nm(self) -> None: self.sock.sendall(nm_req()) self._wait_for_ok() def test_json(self) -> None: raise NotImplemented def _wait_for_ok(self) -> None: data = self.sock.recv(1024) self.assertEqual(data, b'OK') class TestHTTP(TestCase): def test_nm(self) -> None: req = Request( url=(HTTP_URL + '/get'), data=nm_req(), method='GET', ) self._send_and_check(req) def test_json(self) -> None: raise NotImplemented def _send_and_check(self, req: Request) -> None: with urlopen(req) as resp: self.assertEqual(resp.status, 200)