2020-05-17 16:15:16 +02:00
|
|
|
import sys
|
|
|
|
# Include the root of the project
|
|
|
|
sys.path.append("..")
|
|
|
|
|
|
|
|
import actions.duplicate
|
2020-06-24 14:20:51 +02:00
|
|
|
import layers.packet
|
2020-05-17 16:15:16 +02:00
|
|
|
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)
|
|
|
|
|
2020-06-24 14:20:51 +02:00
|
|
|
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"))
|
2020-05-17 16:15:16 +02:00
|
|
|
packet1, packet2 = duplicate.run(packet, logger)
|
|
|
|
assert id(packet1) != id(packet2), "Duplicate aliased packet objects"
|
|
|
|
duplicate.mutate()
|