Ejemplo n.º 1
0
def test_IdbFcsLen():
    val_1 = 97
    c1 = option.IdbFcsLen(val_1)
    c1u = option.IdbFcsLen.unpack(c1.pack())
    assert c1.fcs_len == c1u.fcs_len == val_1
    assert util.classname(c1) == util.classname(
        c1u) == 'pcapng.option.IdbFcsLen'
Ejemplo n.º 2
0
def test_IdbFilter():
    s1 = 'Natural Brown #4'
    c1 = option.IdbFilter(s1)
    c1u = option.IdbFilter.unpack(c1.pack())
    assert c1.content == c1u.content == s1
    assert util.classname(c1) == util.classname(
        c1u) == 'pcapng.option.IdbFilter'
Ejemplo n.º 3
0
def test_IdbTsResol():
    power = 3
    is_power_2 = False
    c1 = option.IdbTsResol(power, is_power_2)
    packed_bytes = c1.pack()
    c1u = option.IdbTsResol.unpack(packed_bytes)
    assert len(packed_bytes) == 8
    assert c1.ts_resol_power == c1u.ts_resol_power == power
    assert c1.is_power_2 == c1u.is_power_2 == is_power_2
    assert util.classname(c1) == util.classname(
        c1u) == 'pcapng.option.IdbTsResol'
    util.assert_rel_equal(c1.get_ts_resolution_secs(), 0.001, digits=5)
    util.assert_rel_equal(c1u.get_ts_resolution_secs(), 0.001, digits=5)

    power = 5
    is_power_2 = True
    c1 = option.IdbTsResol(power, is_power_2)
    packed_bytes = c1.pack()
    c1u = option.IdbTsResol.unpack(packed_bytes)
    assert len(packed_bytes) == 8
    assert c1.ts_resol_power == c1u.ts_resol_power == power
    assert c1.is_power_2 == c1u.is_power_2 == is_power_2
    assert util.classname(c1) == util.classname(
        c1u) == 'pcapng.option.IdbTsResol'
    util.assert_rel_equal(c1.get_ts_resolution_secs(), (1.0 / 32.0), digits=5)
    util.assert_rel_equal(c1u.get_ts_resolution_secs(), (1.0 / 32.0), digits=5)
Ejemplo n.º 4
0
def test_IdbDescription():
    s1 = 'ifc supercool'
    c1 = option.IdbDescription(s1)
    c1u = option.IdbDescription.unpack(c1.pack())
    assert c1.content == c1u.content == s1
    assert util.classname(c1) == util.classname(
        c1u) == 'pcapng.option.IdbDescription'
Ejemplo n.º 5
0
def test_ShbUserAppl():
    s1 = 'x86 water heater'
    c1 = option.ShbUserAppl(s1)
    c1u = option.ShbUserAppl.unpack(c1.pack())
    assert c1.content == c1u.content == s1
    assert util.classname(c1) == util.classname(
        c1u) == 'pcapng.option.ShbUserAppl'
Ejemplo n.º 6
0
def test_CustomBinaryNonCopyable():
    s1 = 'Mary had a non-copyable binary lamb'
    c1 = option.CustomBinaryNonCopyable(pen.BROCADE_PEN, s1)
    c1u = option.CustomBinaryNonCopyable.unpack(c1.pack())
    assert c1.content == c1u.content == s1
    assert c1.pen_val == c1u.pen_val == pen.BROCADE_PEN
    assert util.classname(c1) == util.classname(
        c1u) == 'pcapng.option.CustomBinaryNonCopyable'
Ejemplo n.º 7
0
def test_EpbFlags():
    content = to_bytes([1, 2, 3, 4])
    c1 = option.EpbFlags(content)
    packed_bytes = c1.pack()
    c1u = option.EpbFlags.unpack(packed_bytes)
    assert len(packed_bytes) == 8  #todo add this test everywhere
    assert c1.content == c1u.content == content
    assert util.classname(c1) == util.classname(
        c1u) == 'pcapng.option.EpbFlags'
Ejemplo n.º 8
0
def test_IdbSpeed():
    speed = 123456789
    c1 = option.IdbSpeed(speed)
    packed_bytes = c1.pack()
    c1u = option.IdbSpeed.unpack(packed_bytes)
    assert len(packed_bytes) == 12
    assert c1.speed == c1u.speed == speed
    assert util.classname(c1) == util.classname(
        c1u) == 'pcapng.option.IdbSpeed'
Ejemplo n.º 9
0
def test_IdbEuiAddr():
    addr_bytes = [11, 12, 13, 14, 15, 16, 17, 18]
    c1 = option.IdbEuiAddr(addr_bytes)
    packed_bytes = c1.pack()
    c1u = option.IdbEuiAddr.unpack(packed_bytes)
    assert len(packed_bytes) == 12
    assert c1.addr_bytes == c1u.addr_bytes == addr_bytes
    assert util.classname(c1) == util.classname(
        c1u) == 'pcapng.option.IdbEuiAddr'
Ejemplo n.º 10
0
def test_EpbDropCount():
    dropcount = 271
    c1 = option.EpbDropCount(dropcount)
    packed_bytes = c1.pack()
    c1u = option.EpbDropCount.unpack(packed_bytes)
    assert len(packed_bytes) == 12  #todo add this test everywhere
    assert c1.dropcount == c1u.dropcount == dropcount
    assert util.classname(c1) == util.classname(
        c1u) == 'pcapng.option.EpbDropCount'
Ejemplo n.º 11
0
def test_IdbTsOffset():
    ts_offset = 1234567
    c1 = option.IdbTsOffset(ts_offset)
    packed_bytes = c1.pack()
    c1u = option.IdbTsOffset.unpack(packed_bytes)
    assert len(packed_bytes) == 12
    assert c1.ts_offset == c1u.ts_offset == ts_offset
    assert util.classname(c1) == util.classname(
        c1u) == 'pcapng.option.IdbTsOffset'
Ejemplo n.º 12
0
def test_IdbTZone():
    offset = 7
    c1 = option.IdbTZone(offset)
    packed_bytes = c1.pack()
    c1u = option.IdbTZone.unpack(packed_bytes)
    assert len(packed_bytes) == 8
    assert c1.offset == c1u.offset == offset
    assert util.classname(c1) == util.classname(
        c1u) == 'pcapng.option.IdbTZone'
Ejemplo n.º 13
0
def test_IdbIpv4Addr():
    addr_bytes = [1, 2, 3, 4]
    netmask_bytes = [5, 6, 7, 8]
    c1 = option.IdbIpv4Addr(addr_bytes, netmask_bytes)
    packed_bytes = c1.pack()
    c1u = option.IdbIpv4Addr.unpack(packed_bytes)
    assert len(packed_bytes) == 12  #todo add this test everywhere
    assert c1.addr_bytes == c1u.addr_bytes == addr_bytes
    assert c1.netmask_bytes == c1u.netmask_bytes == netmask_bytes
    assert util.classname(c1) == util.classname(
        c1u) == 'pcapng.option.IdbIpv4Addr'
Ejemplo n.º 14
0
def test_IdbIpv6Addr():
    addr_bytes = [
        11, 12, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24, 25, 26, 27, 28
    ]
    prefix_len = 65
    c1 = option.IdbIpv6Addr(addr_bytes, prefix_len)
    packed_bytes = c1.pack()
    c1u = option.IdbIpv6Addr.unpack(packed_bytes)
    assert len(packed_bytes) == 24
    assert c1.addr_bytes == c1u.addr_bytes == addr_bytes
    assert c1.prefix_len == c1u.prefix_len == prefix_len
    assert util.classname(c1) == util.classname(
        c1u) == 'pcapng.option.IdbIpv6Addr'
Ejemplo n.º 15
0
 def assert_epb_codec(interface_id,
                      pkt_data,
                      pkt_data_orig_len=None,
                      options_lst=[]):
     pkt_data = to_bytes(pkt_data)
     if pkt_data_orig_len is None:
         pkt_data_orig_len = len(
             pkt_data)  #todo does not test None or invalid val
     epb_obj = block.EnhancedPacketBlock(interface_id, pkt_data,
                                         pkt_data_orig_len, options_lst)
     epb_bytes = epb_obj.pack()
     epb_obj_unpacked = block.EnhancedPacketBlock.unpack(epb_bytes)
     assert util.classname(
         epb_obj_unpacked) == 'pcapng.block.EnhancedPacketBlock'
     assert epb_obj_unpacked == epb_obj
Ejemplo n.º 16
0
def test_section_header_block():
    opts = [
        option.ShbHardware("Dell"),
        option.ShbOs("Ubuntu"),
        option.ShbUserAppl("IntelliJ Idea")
    ]
    shb_obj = block.SectionHeaderBlock(opts)
    idb_bytes = shb_obj.pack()
    shb_obj_unpacked = block.SectionHeaderBlock.unpack(idb_bytes)
    util.assert_type_bytes(idb_bytes)
    assert util.classname(
        shb_obj_unpacked) == 'pcapng.block.SectionHeaderBlock'
    print('710', shb_obj)
    print('711', shb_obj_unpacked)
    assert shb_obj == shb_obj_unpacked
Ejemplo n.º 17
0
def test_interface_desc_block():
    opts = [
        option.IdbName("Carrier Pigeon"),
        option.IdbDescription("don't you wish"),
        option.IdbIpv4Addr([192, 168, 13, 7], [255, 255, 255, 0]),
        option.IdbIpv6Addr(
            [11, 12, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24, 25, 26, 27, 28],
            65),
        option.IdbMacAddr([11, 12, 13, 14, 15, 16]),
        option.IdbEuiAddr([11, 12, 13, 14, 15, 16, 17, 18]),
        option.IdbSpeed(1234567),
        option.IdbTsResol(3, False),
        option.IdbTZone(7),
        option.IdbFilter("Natural Brown #4"),
        option.IdbOs('Ubuntu Xenial 16.04.1 LTS'),
        option.IdbFcsLen(97),
        option.IdbTsOffset(314159)
    ]
    idb_obj = block.InterfaceDescBlock(linktype.LINKTYPE_ETHERNET, opts)
    idb_bytes = idb_obj.pack()
    idb_obj_unpacked = block.InterfaceDescBlock.unpack(idb_bytes)
    assert util.classname(
        idb_obj_unpacked) == 'pcapng.block.InterfaceDescBlock'
    assert idb_obj == idb_obj_unpacked
Ejemplo n.º 18
0
def test_Comment():
    s1 = 'Five Stars!'
    c1 = option.Comment(s1)
    c1u = option.Comment.unpack(c1.pack())
    assert c1.content == c1u.content == s1
    assert util.classname(c1) == util.classname(c1u) == 'pcapng.option.Comment'
Ejemplo n.º 19
0
def test_IdbName():
    s1 = 'ifc downlow'
    c1 = option.IdbName(s1)
    c1u = option.IdbName.unpack(c1.pack())
    assert c1.content == c1u.content == s1
    assert util.classname(c1) == util.classname(c1u) == 'pcapng.option.IdbName'
Ejemplo n.º 20
0
def test_EpbHash():
    content = to_bytes("<generic hash spec here>")
    c1 = option.EpbHash(content)
    c1u = option.EpbHash.unpack(c1.pack())
    assert c1.content == c1u.content == content
    assert util.classname(c1) == util.classname(c1u) == 'pcapng.option.EpbHash'
Ejemplo n.º 21
0
def test_IdbOs():
    s1 = 'Ubuntu Xenial 16.04.1 LTS'
    c1 = option.IdbOs(s1)
    c1u = option.IdbOs.unpack(c1.pack())
    assert c1.content == c1u.content == s1
    assert util.classname(c1) == util.classname(c1u) == 'pcapng.option.IdbOs'