tests/main.py

59 lines
1.2 KiB
Python
Raw Normal View History

2024-05-31 14:58:46 +03:00
import socket
2024-05-31 15:22:25 +03:00
from urllib.request import urlopen, Request
2024-05-31 14:58:46 +03:00
2024-05-31 15:09:48 +03:00
from functools import partial
2024-05-31 14:58:46 +03:00
from unittest import TestCase
2024-05-31 15:09:48 +03:00
import models
import fixtures
2024-05-31 14:58:46 +03:00
TCP_ADDR = ('127.0.0.1', 8283)
UDP_ADDR = ('127.0.0.1', 8283)
HTTP_URL = 'http://127.0.0.1:8080'
2024-05-31 15:09:48 +03:00
nm_req = partial(
models.create_nm_req,
fixtures.device_mac,
fixtures.device_name,
fixtures.sensors,
)
json_req = None # TODO
2024-05-31 14:58:46 +03:00
class TestTCP(TestCase):
def setUp(self) -> None:
self.sock = socket.socket()
self.sock.connect(TCP_ADDR)
def test_nm(self) -> None:
2024-05-31 15:20:25 +03:00
self.sock.sendall(nm_req())
2024-05-31 14:58:46 +03:00
self._wait_for_ok()
def test_json(self) -> None:
2024-05-31 15:20:25 +03:00
raise NotImplemented
2024-05-31 14:58:46 +03:00
def _wait_for_ok(self) -> None:
data = self.sock.recv(1024)
self.assertEqual(data, b'OK')
2024-05-31 15:22:25 +03:00
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)