test_NamedQueries.py 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import unittest, pyparsing
  2. from definitions import ROOT_DIR
  3. import Core.Controller as Ctrl
  4. pcap = ROOT_DIR + "/../resources/test/reference_1998.pcap"
  5. controller = Ctrl.Controller(pcap_file_path=pcap, do_extra_tests=False, non_verbose=False)
  6. controller.load_pcap_statistics(flag_write_file=False, flag_recalculate_stats=True, flag_print_statistics=False)
  7. class UnitTestPyparsing(unittest.TestCase):
  8. def test_named_query(self):
  9. self.assertEqual(controller.statistics.process_db_query('least_used(portnumber)'),
  10. [58645, 59844])
  11. self.assertEqual(controller.statistics.process_db_query('most_used(portnumber)'),
  12. 443)
  13. self.assertEqual(controller.statistics.process_db_query('most_used(protocolname)'),
  14. 'IPv4')
  15. self.assertEqual(controller.statistics.process_db_query('least_used(protocolname)'),
  16. 'UDP')
  17. self.assertEqual(controller.statistics.process_db_query('most_used(ttlvalue)'),
  18. 64)
  19. self.assertEqual(controller.statistics.process_db_query('least_used(ttlvalue)'),
  20. 255)
  21. self.assertEqual(controller.statistics.process_db_query('most_used(mssvalue)'),
  22. 1460)
  23. self.assertEqual(controller.statistics.process_db_query('least_used(mssvalue)'),
  24. 1460)
  25. self.assertEqual(controller.statistics.process_db_query('most_used(winsize)'),
  26. 65535)
  27. self.assertEqual(controller.statistics.process_db_query('most_used(ipclass)'),
  28. 'A')
  29. self.assertEqual(controller.statistics.process_db_query('least_used(ipclass)'),
  30. ['A-private', 'C', 'C-private'])
  31. self.assertEqual(controller.statistics.process_db_query('avg(pktsreceived)'),
  32. 90.36363636363636)
  33. self.assertEqual(controller.statistics.process_db_query('avg(pktssent)'),
  34. 90.36363636363636)
  35. self.assertEqual(controller.statistics.process_db_query('avg(kbytesreceived)'),
  36. 30.289683948863637)
  37. self.assertEqual(controller.statistics.process_db_query('avg(kbytessent)'),
  38. 30.289683948863637)
  39. self.assertEqual(controller.statistics.process_db_query('avg(ttlvalue)'),
  40. 75.08695652173913)
  41. self.assertEqual(controller.statistics.process_db_query('avg(mss)'),
  42. 1460.0)
  43. self.assertEqual(controller.statistics.process_db_query('all(ipaddress)'),
  44. ['10.0.2.15','104.83.103.45','13.107.21.200','131.253.61.100','172.217.23.142',
  45. '172.217.23.174','192.168.33.254','204.79.197.200','23.51.123.27','35.161.3.50',
  46. '52.11.17.245','52.34.37.177','52.39.210.199','52.41.250.141','52.85.173.182',
  47. '54.149.74.139','54.187.98.195','54.192.44.108','54.192.44.177','72.247.178.113',
  48. '72.247.178.67','93.184.220.29'])
  49. # undefined Query
  50. with self.assertRaises(pyparsing.ParseException):
  51. controller.statistics.process_db_query('avg(notDefinedQuery)')