1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
#!/usr/bin/env python
# Impacket - Collection of Python classes for working with network protocols.
#
# Copyright Fortra, LLC and its affiliated companies
#
# All rights reserved.
#
# This software is provided under a slightly modified version
# of the Apache Software License. See the accompanying LICENSE file
# for more information.
#
# Description:
# Tests for WPS packets
#
# Author:
# Aureliano Calvo
#
import unittest
import array
from impacket import wps
class TestTLVContainer(unittest.TestCase):
def testNormalUsageContainer(self):
BUILDERS={
1: wps.StringBuilder(),
2: wps.ByteBuilder(),
3: wps.NumBuilder(2)
}
tlvc = wps.TLVContainer(builders=BUILDERS)
KINDS_N_VALUES = (
(1, b"Sarlanga"),
(2, 1),
(3, 1024),
(4, array.array("B", [1,2,3]))
)
for k,v in KINDS_N_VALUES:
tlvc.append(k,v)
tlvc2 = wps.TLVContainer(builders=BUILDERS)
tlvc2.from_ary(tlvc.to_ary())
for k,v in KINDS_N_VALUES:
self.assertEqual(v, tlvc2.first(k))
self.assertEqual(tlvc.to_ary(), tlvc2.to_ary())
self.assertEqual(b"Sarlanga", tlvc.first(1))
if __name__ == '__main__':
unittest.main(verbosity=1)
|