Browse Source

fixed randomness for get_random_ip when getting one ip

Stefano Acquaviti 6 years ago
parent
commit
6d405ac3d6
2 changed files with 6 additions and 6 deletions
  1. 3 3
      code/ID2TLib/Statistics.py
  2. 3 3
      code/Test/test_Queries.py

+ 3 - 3
code/ID2TLib/Statistics.py

@@ -7,7 +7,7 @@ import random
 import ID2TLib.libpcapreader as pr
 import matplotlib
 
-matplotlib.use('Agg')
+matplotlib.use('Agg', force=True)
 import matplotlib.pyplot as plt
 from ID2TLib.PcapFile import PcapFile
 from ID2TLib.StatsDatabase import StatsDatabase
@@ -513,10 +513,10 @@ class Statistics:
         :return: A randomly chosen IP address from the dataset or iff param count is greater than one, a list of randomly
          chosen IP addresses
         """
+        ip_address_list = self.process_db_query("all(ipAddress)")
         if count == 1:
-            return self.process_db_query("random(all(ipAddress))")
+            return random.choice(ip_address_list)
         else:
-            ip_address_list = self.process_db_query("all(ipAddress)")
             result_list = []
             for i in range(0, count):
                 random_ip = random.choice(ip_address_list)

+ 3 - 3
code/Test/test_Queries.py

@@ -99,9 +99,9 @@ class TestQueries(unittest.TestCase):
     def test_get_ip_addresses(self):
         self.assertEqual(controller.statistics.get_ip_addresses(), ip_addresses)
 
-    # TODO: move random for count = 1 outside of query and use seed to test
-    # def test_get_random_ip_address(self):
-    #    self.assertEqual(controller.statistics.get_random_ip_address(), '')
+    def test_get_random_ip_address(self):
+        rand.seed(5)
+        self.assertEqual(controller.statistics.get_random_ip_address(), '72.247.178.113')
 
     def test_get_random_ip_address_count_2(self):
         rand.seed(5)