From 33566f9cd208155dce383c76e392e3f9146808e3 Mon Sep 17 00:00:00 2001 From: Kkevsterrr Date: Sat, 14 Dec 2019 15:08:14 -0500 Subject: [PATCH] Added test for trace error cases --- tests/test_trace.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 tests/test_trace.py diff --git a/tests/test_trace.py b/tests/test_trace.py new file mode 100644 index 0000000..63233b9 --- /dev/null +++ b/tests/test_trace.py @@ -0,0 +1,36 @@ +import logging +import sys + +# Include the root of the project +sys.path.append("..") + + +import actions.strategy +import actions.packet +import actions.utils +import actions.trace +import actions.layer + +from scapy.all import IP, TCP, UDP, DNS, DNSQR, sr1 + + +logger = logging.getLogger("test") + + +def test_trace_error_cases(): + """ + Tests that trace handles edge cases. + """ + # No IP header means the packet should just be returned + packet = actions.packet.Packet(TCP(sport=2222, dport=3333, seq=100, ack=100, flags="S")) + trace = actions.trace.TraceAction(None) + p1, p2 = trace.run(packet, logger) + assert p2 is None + assert p1 == packet + + # Mark the trace as having run already - it should not run again + trace.ran = True + packet = actions.packet.Packet(IP(src="127.0.0.1", dst="127.0.0.1")/TCP(sport=2222, dport=3333, seq=100, ack=100, flags="S")) + p1, p2 = trace.run(packet, logger) + assert p1 is None + assert p2 is None