test_configuration_checker.py 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. import unittest
  2. from kalliope.core.ConfigurationManager.ConfigurationChecker import ConfigurationChecker, NoSynapeName, NoSynapeNeurons, \
  3. NoSynapeSignals, NoValidSignal, NoEventPeriod, NoValidOrder, MultipleSameSynapseName
  4. from kalliope.core.Models import Synapse
  5. from kalliope.core.Utils.Utils import ModuleNotFoundError
  6. class TestConfigurationChecker(unittest.TestCase):
  7. """
  8. Class used to test the ConfigurationChecker class
  9. """
  10. def setUp(self):
  11. pass
  12. def test_check_synape_dict(self):
  13. valid_synapse_dict = {
  14. 'signals': [{'order': 'test_order'}],
  15. 'neurons': [{'say': {'message': ['test message']}}],
  16. 'name': 'test'
  17. }
  18. synapse_dict_without_name = {
  19. 'signals': [{'order': 'test_order'}],
  20. 'neurons': [{'say': {'message': ['test message']}}]
  21. }
  22. synapse_dict_without_neurons = {
  23. 'signals': [{'order': 'test_order'}],
  24. 'name': 'test'
  25. }
  26. synapse_dict_without_signals = {
  27. 'neurons': [{'say': {'message': ['test message']}}],
  28. 'name': 'test'
  29. }
  30. self.assertTrue(ConfigurationChecker.check_synape_dict(valid_synapse_dict))
  31. with self.assertRaises(NoSynapeName):
  32. ConfigurationChecker.check_synape_dict(synapse_dict_without_name)
  33. with self.assertRaises(NoSynapeNeurons):
  34. ConfigurationChecker.check_synape_dict(synapse_dict_without_neurons)
  35. with self.assertRaises(NoSynapeSignals):
  36. ConfigurationChecker.check_synape_dict(synapse_dict_without_signals)
  37. def test_check_neuron_dict(self):
  38. valid_neuron = {'say': {'message': ['test message']}}
  39. invalid_neuron = {'not_existing_neuron': {'message': ['test message']}}
  40. self.assertTrue(ConfigurationChecker.check_neuron_dict(valid_neuron))
  41. with self.assertRaises(ModuleNotFoundError):
  42. ConfigurationChecker.check_neuron_dict(invalid_neuron)
  43. def test_check_signal_dict(self):
  44. valid_signal_with_order = {'order': 'test_order'}
  45. valid_signal_with_event = {'event': '0 * * * *'}
  46. invalid_signal = {'invalid_option': 'test_order'}
  47. self.assertTrue(ConfigurationChecker.check_signal_dict(valid_signal_with_order))
  48. self.assertTrue(ConfigurationChecker.check_signal_dict(valid_signal_with_event))
  49. with self.assertRaises(NoValidSignal):
  50. ConfigurationChecker.check_signal_dict(invalid_signal)
  51. def test_check_event_dict(self):
  52. valid_event = {
  53. "hour": "18",
  54. "minute": "16"
  55. }
  56. invalid_event = None
  57. invalid_event2 = ""
  58. invalid_event3 = {
  59. "notexisting": "12"
  60. }
  61. self.assertTrue(ConfigurationChecker.check_event_dict(valid_event))
  62. with self.assertRaises(NoEventPeriod):
  63. ConfigurationChecker.check_event_dict(invalid_event)
  64. with self.assertRaises(NoEventPeriod):
  65. ConfigurationChecker.check_event_dict(invalid_event2)
  66. with self.assertRaises(NoEventPeriod):
  67. ConfigurationChecker.check_event_dict(invalid_event3)
  68. def test_check_order_dict(self):
  69. valid_order = 'test_order'
  70. invalid_order = ''
  71. invalid_order2 = None
  72. self.assertTrue(ConfigurationChecker.check_order_dict(valid_order))
  73. with self.assertRaises(NoValidOrder):
  74. ConfigurationChecker.check_order_dict(invalid_order)
  75. with self.assertRaises(NoValidOrder):
  76. ConfigurationChecker.check_order_dict(invalid_order2)
  77. def test_check_synapes(self):
  78. synapse_1 = Synapse(name="test")
  79. synapse_2 = Synapse(name="test2")
  80. synapse_3 = Synapse(name="test")
  81. valid_synapse_list = [synapse_1, synapse_2]
  82. invalid_synapse_list = [synapse_1, synapse_3]
  83. self.assertTrue(ConfigurationChecker.check_synapes(valid_synapse_list))
  84. with self.assertRaises(MultipleSameSynapseName):
  85. ConfigurationChecker.check_synapes(invalid_synapse_list)
  86. if __name__ == '__main__':
  87. unittest.main()