61 lines
1.5 KiB
Python
61 lines
1.5 KiB
Python
"""
|
|
©AngelaMos | 2026
|
|
test_pcap.py
|
|
"""
|
|
|
|
|
|
from dlp_scanner.network.pcap import PacketInfo
|
|
|
|
|
|
class TestPacketInfo:
|
|
def test_tcp_packet_construction(self) -> None:
|
|
pkt = PacketInfo(
|
|
timestamp = 1000.0,
|
|
src_ip = "192.168.1.1",
|
|
dst_ip = "10.0.0.1",
|
|
src_port = 12345,
|
|
dst_port = 80,
|
|
protocol = "tcp",
|
|
payload = b"hello",
|
|
raw_length = 100,
|
|
tcp_flags = 0x02,
|
|
tcp_seq = 1000,
|
|
)
|
|
assert pkt.src_ip == "192.168.1.1"
|
|
assert pkt.dst_ip == "10.0.0.1"
|
|
assert pkt.protocol == "tcp"
|
|
assert pkt.payload == b"hello"
|
|
assert pkt.tcp_seq == 1000
|
|
|
|
def test_udp_packet_defaults(self) -> None:
|
|
pkt = PacketInfo(
|
|
timestamp = 1000.0,
|
|
src_ip = "10.0.0.1",
|
|
dst_ip = "8.8.8.8",
|
|
src_port = 54321,
|
|
dst_port = 53,
|
|
protocol = "udp",
|
|
payload = b"\x00",
|
|
raw_length = 50,
|
|
)
|
|
assert pkt.tcp_flags == 0
|
|
assert pkt.tcp_seq == 0
|
|
assert pkt.protocol == "udp"
|
|
|
|
def test_packet_is_frozen(self) -> None:
|
|
pkt = PacketInfo(
|
|
timestamp = 1.0,
|
|
src_ip = "1.1.1.1",
|
|
dst_ip = "2.2.2.2",
|
|
src_port = 1,
|
|
dst_port = 2,
|
|
protocol = "tcp",
|
|
payload = b"",
|
|
raw_length = 0,
|
|
)
|
|
try:
|
|
pkt.src_ip = "changed"
|
|
raise AssertionError()
|
|
except AttributeError:
|
|
pass
|