TestServerMonitor.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. from __future__ import division
  2. import unittest
  3. from monitor import Env, DetailProcess, ProcessCounter, Sandbox
  4. import monitor
  5. import os
  6. import json
  7. from utils.workers import Top, Learner
  8. #from multiprocessing import Lock
  9. from threading import Lock
  10. path = os.environ['MONITOR_CONFIG_PATH']
  11. f = open(path)
  12. CONFIG = json.loads( f.read())
  13. f.close()
  14. class TestMonitorServer(unittest.TestCase):
  15. def test_Environment(self):
  16. """
  17. This test case is designed to test the existance of a resource set as an environment variable. This applies to files, folders (not values)
  18. """
  19. p = Env()
  20. p.init(['PATH','HOME','SHELL'])
  21. r = p.composite()
  22. value = r['value']
  23. self.assertTrue(value > 0 and value >= (100*2/3),value)
  24. self.assertTrue(p.evaluate('PATH') == 0)
  25. def test_RunningProcess(self):
  26. p = DetailProcess()
  27. p.init(['kate','firefox']) #['rabbitmq-server','python','apache2','firefox'])
  28. r = p.composite()
  29. self.assertTrue(r)
  30. def test_ProcessCount(self):
  31. p= ProcessCounter()
  32. p.init(['foo','apache2','VBoxClient','rabbitmq-server','python'])
  33. r = p.composite()
  34. self.assertTrue( sum(r.values()) > 0 )
  35. self.assertTrue( r['foo'] == 0)
  36. def test_VirtualEnv(self):
  37. requirements_path = os.sep.join([os.environ['PYTHONPATH'],"..","requirements.txt"])
  38. sandbox_path = os.sep.join([os.environ['PYTHONPATH'],"..",'sandbox'])
  39. p = Sandbox()
  40. p.init({"sandbox":sandbox_path,"requirements":requirements_path})
  41. p.composite()
  42. def test_StartTop(self):
  43. lock = Lock()
  44. p = Top(CONFIG,lock)
  45. #p.start()
  46. #p.join()
  47. def test_StartLearner(self):
  48. lock = Lock()
  49. p = Learner(CONFIG,lock)
  50. p.start()
  51. if __name__ == '__main__' :
  52. unittest.main()