def test_tack___eq__(self): a = TACKExtension.TACK() b = TACKExtension.TACK() self.assertTrue(a == b) self.assertFalse(a == None) self.assertFalse(a == "test")
def test_tack___eq___with_different_tacks(self): a = TACKExtension.TACK() b = TACKExtension.TACK().create(bytearray(b'\x01' * 64), 2, 3, 4, bytearray(b'\x05' * 32), bytearray(b'\x06' * 64)) self.assertFalse(a == b)
def test_tack_write_with_bad_length_signature(self): tack = TACKExtension.TACK().create(bytearray(b'\x01' * 64), 2, 3, 4, bytearray(b'\x05' * 32), bytearray(b'\x06' * 65)) with self.assertRaises(TLSInternalError): tack.write()
def test_tack___init__(self): tack = TACKExtension.TACK() self.assertEqual(bytearray(64), tack.public_key) self.assertEqual(0, tack.min_generation) self.assertEqual(0, tack.generation) self.assertEqual(0, tack.expiration) self.assertEqual(bytearray(32), tack.target_hash) self.assertEqual(bytearray(64), tack.signature)
def test_tack_create(self): tack = TACKExtension.TACK().create(bytearray(b'\x01' * 64), 2, 3, 4, bytearray(b'\x05' * 32), bytearray(b'\x06' * 64)) self.assertEqual(bytearray(b'\x01' * 64), tack.public_key) self.assertEqual(2, tack.min_generation) self.assertEqual(3, tack.generation) self.assertEqual(4, tack.expiration) self.assertEqual(bytearray(b'\x05' * 32), tack.target_hash) self.assertEqual(bytearray(b'\x06' * 64), tack.signature)
def test___repr__(self): tack = TACKExtension.TACK().create(bytearray(b'\x00'), 1, 2, 3, bytearray(b'\x04'), bytearray(b'\x05')) tack_ext = TACKExtension().create([tack], 1) self.maxDiff = None self.assertEqual("TACKExtension(activation_flags=1, tacks=["\ "TACK(public_key=bytearray(b'\\x00'), min_generation=1, "\ "generation=2, expiration=3, target_hash=bytearray(b'\\x04'), "\ "signature=bytearray(b'\\x05'))"\ "])", repr(tack_ext))
def test_tack_write(self): tack = TACKExtension.TACK().create(bytearray(b'\x01' * 64), 2, 3, 4, bytearray(b'\x05' * 32), bytearray(b'\x06' * 64)) self.assertEqual( bytearray(b'\x01' * 64 + # public_key b'\x02' + # min_generation b'\x03' + # generation b'\x00\x00\x00\x04' + # expiration b'\x05' * 32 + # target_hash b'\x06' * 64) # signature , tack.write())
def test_parse_with_a_tack(self): p = Parser( bytearray(b'\x00\xa6' + # length of array (166 bytes) b'\x01' * 64 + # public_key b'\x02' + # min_generation b'\x03' + # generation b'\x00\x00\x00\x04' + # expiration b'\x05' * 32 + # target_hash b'\x06' * 64 + # signature b'\x01')) # activation_flags tack_ext = TACKExtension().parse(p) tack = TACKExtension.TACK().create(bytearray(b'\x01' * 64), 2, 3, 4, bytearray(b'\x05' * 32), bytearray(b'\x06' * 64)) self.assertEqual([tack], tack_ext.tacks) self.assertEqual(1, tack_ext.activation_flags)
def test_extData(self): tack = TACKExtension.TACK().create(bytearray(b'\x01' * 64), 2, 3, 4, bytearray(b'\x05' * 32), bytearray(b'\x06' * 64)) tack_ext = TACKExtension().create([tack], 1) self.assertEqual( bytearray(b'\x00\xa6' + # length b'\x01' * 64 + # public_key b'\x02' + # min_generation b'\x03' + # generation b'\x00\x00\x00\x04' + # expiration b'\x05' * 32 + # target_hash b'\x06' * 64 + # signature b'\x01' # activation flag ), tack_ext.extData)
def test_tack_parse(self): p = Parser( bytearray(b'\x01' * 64 + # public_key b'\x02' + # min_generation b'\x03' + # generation b'\x00\x00\x00\x04' + # expiration b'\x05' * 32 + # target_hash b'\x06' * 64)) # signature tack = TACKExtension.TACK() tack = tack.parse(p) self.assertEqual(bytearray(b'\x01' * 64), tack.public_key) self.assertEqual(2, tack.min_generation) self.assertEqual(3, tack.generation) self.assertEqual(4, tack.expiration) self.assertEqual(bytearray(b'\x05' * 32), tack.target_hash) self.assertEqual(bytearray(b'\x06' * 64), tack.signature)