MCPcopy Create free account
hub / github.com/mozilla/cipherscan / TestKeyShareExtension

Class TestKeyShareExtension

cscan_tests/test_extensions.py:13–76  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

11from cscan.constants import GroupName
12
13class TestKeyShareExtension(unittest.TestCase):
14 def test___init__(self):
15 ext = KeyShareExtension()
16
17 self.assertIsNotNone(ext)
18
19 def test_create(self):
20 ext = KeyShareExtension()
21
22 ext.create([(1, bytearray(b'\x12')),
23 (2, bytearray(b'\x33'))])
24
25 self.assertEqual(ext.client_shares, [(1, bytearray(b'\x12')),
26 (2, bytearray(b'\x33'))])
27
28 def test_write(self):
29 ext = KeyShareExtension()
30
31 ext.create([(GroupName.secp256r1, bytearray(b'\xff\xfa')),
32 (GroupName.ffdhe2048, bytearray(b'\xaf\xaa'))])
33
34 data = ext.write()
35
36 self.assertEqual(data, bytearray(
37 b'\x00\x2a\x00\x0d'
38 b'\x00\x0b'
39 b'\x00\x17\x02\xff\xfa'
40 b'\x01\x00\x00\x02\xaf\xaa'))
41
42 def test_write_with_no_data(self):
43 ext = KeyShareExtension()
44
45 data = ext.write()
46
47 self.assertEqual(data, bytearray(b'\x00\x2a\x00\x00'))
48
49 def test_parse(self):
50 parser = Parser(bytearray(
51 #b'\x00\x2a\x00\x0d'
52 b'\x00\x0b'
53 b'\x00\x17\x02\xff\xfa'
54 b'\x01\x00\x00\x02\xaf\xaa'))
55
56 ext = KeyShareExtension()
57 ext.parse(parser)
58
59 self.assertEqual(ext.client_shares,
60 [(GroupName.secp256r1, bytearray(b'\xff\xfa')),
61 (GroupName.ffdhe2048, bytearray(b'\xaf\xaa'))])
62
63 def test_parse_with_no_data(self):
64 parser = Parser(bytearray())
65
66 ext = KeyShareExtension()
67 ext.parse(parser)
68
69 self.assertIsNone(ext.client_shares)
70

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected