Kaynağa Gözat

added mock function for get_attacker_config

Jonathan Speth 7 yıl önce
ebeveyn
işleme
187f97dc0e
2 değiştirilmiş dosya ile 10 ekleme ve 8 silme
  1. 5 2
      code/Test/Lib.py
  2. 5 6
      code/Test/test_DDoS.py

+ 5 - 2
code/Test/Lib.py

@@ -2,6 +2,7 @@ import os
 import hashlib
 
 from definitions import ROOT_DIR
+from random import randint
 
 # TODO: generate better test pcap (1000-2000 packets)
 test_resource_dir = ROOT_DIR + "/../resources/test"
@@ -75,6 +76,8 @@ def get_win_size(pkts_num):
         result.append(10)
     return result
 
+def get_attacker_config(ipAddress: str):
+    next_port = randint(0, 2 ** 16 - 1)
+    ttl = randint(1, 255)
 
-def get_rnd_short():
-    return 10
+    return next_port,

+ 5 - 6
code/Test/test_DDoS.py

@@ -1,21 +1,21 @@
 import unittest
 import unittest.mock as mock
-from scapy.layers.inet import RandShort
+from random import randint
 
 from ID2TLib.Statistics import Statistics
 from Test.GenericTest import GenericTest
-from Test.Lib import get_win_size, get_rnd_short
+from Test.Lib import get_win_size, get_attacker_config
 
 # FIXME: create new hashes
-sha_two_attackers = '77da7d909d7f2c86922fc663a2834e8de6c565943d307e9a1146b8cf656b5164'
+sha_two_attackers = 'c0a494e8553ebd937941bdfb0529b699ca00b7150af92d1152cf1c8ddaebe426'
 
 
 # seeds: for 5, 23 for 10, 27 for 16, 31 for 1
 class UnitTestDDoS(GenericTest):
 
     @mock.patch.object(Statistics, 'get_rnd_win_size', side_effect=get_win_size)
-    #@mock.patch.object(RandShort, '__init__', side_effect=get_rnd_short)
-    def test_two_attackers(self, mock_get_rnd_win_size):
+    @mock.patch('Attack.DDoSAttack.get_attacker_config', side_effect=get_attacker_config)
+    def test_two_attackers(self, mock_get_attacker_config, mock_get_rnd_win_size):
         self.generic_test([['DDoSAttack',
                             'attack.duration=10',
                             'inject.after-pkt=1',
@@ -26,6 +26,5 @@ class UnitTestDDoS(GenericTest):
                             ]],
                           sha_two_attackers)
 
-
 if __name__ == '__main__':
     unittest.main()