]> www.average.org Git - loctrkd.git/blob - test/test_fuzz.py
test: fuzzing collector
[loctrkd.git] / test / test_fuzz.py
1 """ Send junk to the collector """
2
3 from random import Random
4 from socket import getaddrinfo, socket, AF_INET6, SOCK_STREAM
5 from unittest import TestCase
6
7 REPEAT: int = 1000000
8
9
10 class Fuzz(TestCase):
11     def setUp(self) -> None:
12         self.rnd = Random()
13         for fam, typ, pro, cnm, skadr in getaddrinfo(
14             "::1",
15             4303,
16             family=AF_INET6,
17             type=SOCK_STREAM,
18         ):
19             break  # Just take the first element
20         self.sock = socket(AF_INET6, SOCK_STREAM)
21         self.sock.connect(skadr)
22
23     def tearDown(self) -> None:
24         self.sock.close()
25
26     def test_fuzz(self) -> None:
27         for _ in range(REPEAT):
28             size = self.rnd.randint(1, 5000)
29             buf = self.rnd.randbytes(size)
30             self.sock.send(buf)