geneva/tests/test_duplicate.py

25 lines
740 B
Python

import sys
# Include the root of the project
sys.path.append("..")
import actions.duplicate
import layers.packet
import actions.strategy
import actions.utils
import evolve
from scapy.all import IP, TCP
def test_duplicate(logger):
"""
Tests the duplicate action primitive.
"""
duplicate = actions.duplicate.DuplicateAction()
assert str(duplicate) == "duplicate", "Duplicate returned incorrect string representation: %s" % str(duplicate)
packet = layers.packet.Packet(IP(src="127.0.0.1", dst="127.0.0.1")/TCP(sport=2222, dport=3333, seq=100, ack=100, flags="S"))
packet1, packet2 = duplicate.run(packet, logger)
assert id(packet1) != id(packet2), "Duplicate aliased packet objects"
duplicate.mutate()