1# Sebek layer unit tests 2# 3# Type the following command to launch start the tests: 4# $ test/run_tests -P "load_contrib('sebek')" -t test/contrib/sebek.uts 5 6+ Sebek protocol 7 8= Layer binding 1 9pkt = IP() / UDP() / SebekHead() / SebekV1(cmd="diepotato") 10assert pkt.sport == pkt.dport == 1101 and pkt[SebekHead].version == 1 11assert pkt.summary() == "IP / UDP / SebekHead / Sebek v1 read (b'diepotato')" 12 13= Packet dissection 1 14pkt = IP(raw(pkt)) 15pkt.sport == pkt.dport == 1101 and pkt[SebekHead].version == 1 16 17= Layer binding 2 18pkt = IP() / UDP() / SebekHead() / SebekV2Sock(cmd="diepotato") 19assert pkt.sport == pkt.dport == 1101 and pkt[SebekHead].version == 2 and pkt[SebekHead].type ==2 20assert pkt.summary() == "IP / UDP / SebekHead / Sebek v2 socket (b'diepotato')" 21 22= Packet dissection 2 23pkt = IP(raw(pkt)) 24pkt.sport == pkt.dport == 1101 and pkt[SebekHead].version == 2 and pkt[SebekHead].type ==2 25 26= Layer binding 3 27pkt = IPv6()/UDP()/SebekHead()/SebekV3() 28assert pkt.sport == pkt.dport == 1101 and pkt[SebekHead].version == 3 29assert pkt.summary() == "IPv6 / UDP / SebekHead / Sebek v3 read (b'')" 30 31= Packet dissection 3 32pkt = IPv6(raw(pkt)) 33pkt.sport == pkt.dport == 1101 and pkt[SebekHead].version == 3 34 35= Nonsense summaries 36 37assert SebekHead(version=2).summary() == "Sebek Header v2 read" 38assert SebekV1(cmd="diepotato").summary() == "Sebek v1 (b'diepotato')" 39assert SebekV2(cmd="diepotato").summary() == "Sebek v2 (b'diepotato')" 40assert (SebekHead()/SebekV2(cmd="nottoday")).summary() == "SebekHead / Sebek v2 read (b'nottoday')" 41assert SebekV3(cmd="diepotato").summary() == "Sebek v3 (b'diepotato')" 42assert (SebekHead()/SebekV3(cmd="nottoday")).summary() == "SebekHead / Sebek v3 read (b'nottoday')" 43assert SebekV3Sock(cmd="diepotato").summary() == "Sebek v3 socket (b'diepotato')" 44assert (SebekHead()/SebekV3Sock(cmd="nottoday")).summary() == "SebekHead / Sebek v3 socket (b'nottoday')" 45assert SebekV2Sock(cmd="diepotato").summary() == "Sebek v2 socket (b'diepotato')" 46assert (SebekHead()/SebekV2Sock(cmd="nottoday")).summary() == "SebekHead / Sebek v2 socket (b'nottoday')" 47