def test_start_event(self):
     cm = ComponentManager({'profile_data': {'start_event': 'go'}})
     # before: the letsgo event has not been fired yet
     self.assertEqual(cm.context.event_manager.get('go')._fireCount, 0)
     cm.setup()
     # the configure start event is fired after setup completes
     self.assertEqual(cm.context.event_manager.get('go')._fireCount, 1)
示例#2
0
 def test_start_event(self):
     cm = ComponentManager({'profile_data': {'start_event': 'go'}})
     # before: the letsgo event has not been fired yet
     self.assertEqual(cm.context.event_manager.get('go')._fireCount, 0)
     cm.setup()
     # the configure start event is fired after setup completes
     self.assertEqual(cm.context.event_manager.get('go')._fireCount, 1)
示例#3
0
 def test_stop_event_same_as_start_event(self):
     cm = ComponentManager(
         {'profile_data': {
             'stop_event': 'quit',
             'start_event': 'quit'
         }})
     cm.setup()
     self.assertFalse(cm.running)
 def test_stop_event(self):
     cm = ComponentManager({'profile_data': {'stop_event': 'quit', 'osc_outputs': {'sender': {'ip': '127.0.0.1'}}}})
     cm.setup()
     # before
     self.assertTrue(cm.running)
     # trigger the stop_event
     cm.context.event_manager.get('quit').fire()
     # after
     self.assertFalse(cm.running)
示例#5
0
 def test_setup(self):
     cm = ComponentManager(
         {'profile_data': {
             'osc_outputs': {
                 'sender': {
                     'ip': '127.0.0.1'
                 }
             }
         }})
     cm.setup()
     self.assertEqual(len(cm.components), 1)
     self.assertEqual(cm.components[0].__class__.__name__, 'OscOutput')
     self.assertTrue(cm.running)
示例#6
0
 def test_found_component_classes(self):
     self.assertEqual(
         map(lambda cls: cls.__name__,
             ComponentManager()._found_component_classes()), [
                 'DelayItem', 'EventToEvent', 'MidiInput', 'OmxSyncer',
                 'OmxVideo', 'OscInput', 'OscOutput', 'OsxOscVideoResumer',
                 'Sine', 'SshRemote', 'WebServer'
             ])
 def test_reload_event(self):
     cm = ComponentManager({
         'config_file': 'tests/data/config.yml',
         'profile': 'reloader',
         'profile_data': {'reload_event': 'reload', 'start_event': 'ramones'}
     })
     # before
     self.assertEqual(cm.context.event_manager.get('ramones')._fireCount, 0)
     self.assertEqual(cm.context.event_manager.get('heyholetsgo')._fireCount, 0)
     self.assertFalse(cm._onReloadEvent in cm.context.event_manager.get('reload'))
     # setup from param config
     cm.setup()
     # after first setup
     self.assertTrue(cm._onReloadEvent in cm.context.event_manager.get('reload'))
     self.assertEqual(cm.context.event_manager.get('ramones')._fireCount, 1)
     self.assertEqual(cm.context.event_manager.get('heyholetsgo')._fireCount, 0)
     # trigger reload
     cm.context.event_manager.get('reload').fire()
     cm.update() # have to run update, 'cause the reload event handler queues the actual reload operation
     # after second setup
     self.assertEqual(cm.context.event_manager.get('ramones')._fireCount, 1)
     self.assertEqual(cm.context.event_manager.get('heyholetsgo')._fireCount, 1)
     self.assertEqual(len(cm.context.event_manager.get('reload')), 0)
     self.assertEqual(len(cm.context.event_manager.get('reload2')), 1)
     # cleanup
     cm.destroy()
     # verify
     self.assertEqual(len(cm.context.event_manager.get('reload2')), 0)
示例#8
0
 def test_stop_event(self):
     cm = ComponentManager({
         'profile_data': {
             'stop_event': 'quit',
             'osc_outputs': {
                 'sender': {
                     'ip': '127.0.0.1'
                 }
             }
         }
     })
     cm.setup()
     # before
     self.assertTrue(cm.running)
     # trigger the stop_event
     cm.context.event_manager.get('quit').fire()
     # after
     self.assertFalse(cm.running)
示例#9
0
 def test_reload_event(self):
     cm = ComponentManager({
         'config_file': 'tests/data/config.yml',
         'profile': 'reloader',
         'profile_data': {
             'reload_event': 'reload',
             'start_event': 'ramones'
         }
     })
     # before
     self.assertEqual(cm.context.event_manager.get('ramones')._fireCount, 0)
     self.assertEqual(
         cm.context.event_manager.get('heyholetsgo')._fireCount, 0)
     self.assertFalse(
         cm._onReloadEvent in cm.context.event_manager.get('reload'))
     # setup from param config
     cm.setup()
     # after first setup
     self.assertTrue(
         cm._onReloadEvent in cm.context.event_manager.get('reload'))
     self.assertEqual(cm.context.event_manager.get('ramones')._fireCount, 1)
     self.assertEqual(
         cm.context.event_manager.get('heyholetsgo')._fireCount, 0)
     # trigger reload
     cm.context.event_manager.get('reload').fire()
     cm.update(
     )  # have to run update, 'cause the reload event handler queues the actual reload operation
     # after second setup
     self.assertEqual(cm.context.event_manager.get('ramones')._fireCount, 1)
     self.assertEqual(
         cm.context.event_manager.get('heyholetsgo')._fireCount, 1)
     self.assertEqual(len(cm.context.event_manager.get('reload')), 0)
     self.assertEqual(len(cm.context.event_manager.get('reload2')), 1)
     # cleanup
     cm.destroy()
     # verify
     self.assertEqual(len(cm.context.event_manager.get('reload2')), 0)
示例#10
0
 def test_stop_event_same_as_start_event(self):
     cm = ComponentManager({'profile_data': {'stop_event': 'quit', 'start_event': 'quit'}})
     cm.setup()
     self.assertFalse(cm.running)
示例#11
0
 def test_setup(self):
     cm = ComponentManager({'profile_data': {'osc_outputs': {'sender': {'ip': '127.0.0.1'}}}})
     cm.setup()
     self.assertEqual(len(cm.components), 1)
     self.assertEqual(cm.components[0].__class__.__name__, 'OscOutput')
     self.assertTrue(cm.running)
示例#12
0
 def test_setup_without_components_will_abort(self):
     cm = ComponentManager()
     cm.setup()
     self.assertEqual(len(cm.components), 0)
     self.assertFalse(cm.running)
示例#13
0
 def test_init(self):
     cm = ComponentManager()
     self.assertIsNotNone(cm.context.event_manager)
     self.assertFalse(cm.running)
     self.assertEqual(cm.profile, 'default')
     self.assertEqual(cm.config_file.path, 'config.yml')
示例#14
0
 def test_config_file_option(self):
     cm = ComponentManager({'config_file': 'foo/bar.txt'})
     self.assertEqual(cm.config_file.path, 'foo/bar.txt')
示例#15
0
 def test_setup_without_components_will_abort(self):
     cm = ComponentManager()
     cm.setup()
     self.assertEqual(len(cm.components), 0)
     self.assertFalse(cm.running)