示例#1
0
 def test_convert_URL_to_bin(self):
     bits_map = Bitsmap()
     dot_split_split_field = DotSplitField('URL','www.1234.com') 
     self.assertEqual(dot_split_split_field.pack(bits_map, 1),(len('www.1234.com')+2)*8+1)
     
     self.assertEqual(bits_map.to_byte_stream(),\
                         '\x03\x77\x77\x77\x04\x31\x32\x33\x34\x03\x63\x6f\x6D\x00')
示例#2
0
class TestBitsField(unittest.TestCase):
    def setUp(self):
        self.bits_map = Bitsmap()

    def test_build_bytes(self):
        bytes_field = ByteStreamField('field',8,'12345678')
        self.assertEqual(bytes_field.pack(self.bits_map, 1),8*8+1)
        self.assertEqual(self.bits_map.get_bytes_as_stream(1, 8),'12345678')
    
    def test_parse_bits(self):
        bytes_field = ByteStreamField('field',8)
        self.assertEqual(bytes_field.parse(Bitsmap('1234\x00\xc0\x00\x00\xff\xff'),1),8*8+1)
        self.assertEqual(bytes_field._value,'1234\x00\xc0\x00\x00')     
示例#3
0
文件: bits.py 项目: mianhe/packetPaPa
class TestBitsField(unittest.TestCase):
    def setUp(self):
        self.bits_map = Bitsmap()

    def test_build_bits(self):
        
        bits_field = BitsField('field',8,0x0a)
        self.assertEqual(bits_field.pack(self.bits_map, 1),9)
        self.assertEqual(self.bits_map.get_bits(1, 8) ,0x0a)
    
    def test_parse_bits(self):
        bits_field = BitsField('field',8)
        self.assertEqual(bits_field.parse(Bitsmap('\x0a\x0b'),9),17)
        self.assertEqual(bits_field._value,0x0b)     
示例#4
0
文件: bits.py 项目: mianhe/packetPaPa
 def setUp(self):
     self.bits_map = Bitsmap()
示例#5
0
 def test_pack_empty_addess(self):
     bits_map = Bitsmap()
     ip_address_field = IpAddressField('ip','0.0.0.0')
     self.assertEqual(ip_address_field.pack(bits_map, 1),33)
     self.assertEqual(bits_map.get_bits(1, 32) ,0x00000000)
示例#6
0
 def test_pack_IP_addess(self):
     bits_map = Bitsmap()
     ip_address_field = IpAddressField('ip','1.2.3.255')
     self.assertEqual(ip_address_field.pack(bits_map, 1),33)
     self.assertEqual(bits_map.get_bits(1, 32) ,0x010203ff)
示例#7
0
文件: tlv.py 项目: mianhe/packetPaPa
 def test_build_TLV_with_0_type_length(self):
     bits_map = Bitsmap()
     tlv_field = TlvField('tlv',0,1,0,0,'1234') 
     self.assertEqual(tlv_field.pack(bits_map, 1),(1+4)*8+ 1)
     self.assertEqual(bits_map.to_byte_stream(),'\x04\x31\x32\x33\x34')
示例#8
0
文件: tlv.py 项目: mianhe/packetPaPa
 def test_build_TLV_with_offset(self):
     bits_map = Bitsmap()
     tlv_field = TlvField('tlv',1,1,2,0x01,'1234') 
     self.assertEqual(tlv_field.pack(bits_map, 1),(1+1+4)*8+ 1)
     self.assertEqual(bits_map.to_byte_stream(),'\x01\x06\x31\x32\x33\x34')
示例#9
0
文件: mac.py 项目: mianhe/packetPaPa
 def test_build_MAC_addess(self):
     bits_map = Bitsmap()
     mac_field = MacField('mac','4c:0f:6e:5e:b7:a1')
     self.assertEqual(mac_field.pack(bits_map, 1),6*8 + 1)
     bits_map.get_bytes_as_stream(1, 6)
     self.assertEqual(bits_map.get_bytes_as_stream(1, 6),'\x4c\x0f\x6e\x5e\xb7\xa1')