def test_add_monitor1(self): """ Test adding a new monitor. """ plugin = self.workbench.get_plugin(u'hqc_meas.measure') measure = Measure(plugin=plugin, name='Test', status='Under test') measure.root_task = RootTask() # Be sure that there is no observers for the database assert_false(measure.root_task.task_database.has_observers('notifier')) monitor_decl = plugin.monitors[u'monitor1'] measure.add_monitor(monitor_decl.id, monitor_decl.factory(monitor_decl, self.workbench)) # Check the monitor is now in the list of the measure monitors assert_in(u'monitor1', measure.monitors) # Check that all values have been correctly updated. monitor = measure.monitors[u'monitor1'] assert_equal(monitor.measure_name, measure.name) assert_equal(monitor.measure_status, measure.status) assert_equal(monitor.updated, {'root/default_path': 1}) assert_equal(measure.collect_entries_to_observe(), ['root/default_path']) # Check that the notifier is correctly observed. assert_true(measure.root_task.task_database.has_observers('notifier'))
def test_add_monitor1(self): """ Test adding a new monitor. """ plugin = self.workbench.get_plugin(u'hqc_meas.measure') measure = Measure(plugin=plugin, name='Test', status='Under test') measure.root_task = RootTask() # Be sure that there is no observers for the database assert_false(measure.root_task.task_database.has_observers('notifier')) monitor_decl = plugin.monitors[u'monitor1'] measure.add_monitor(monitor_decl.id, monitor_decl.factory(monitor_decl, self.workbench)) # Check the monitor is now in the list of the measure monitors assert_in(u'monitor1', measure.monitors) # Check that all values have been correctly updated. monitor = measure.monitors[u'monitor1'] assert_equal(monitor.measure_name, measure.name) assert_equal(monitor.measure_status, measure.status) assert_equal(monitor.updated, {'root/default_path': 1}) assert_equal(measure.collect_entries_to_observe(), ['root/default_path']) # Check that the notifier is correctly observed. assert_true(measure.root_task.task_database.has_observers('notifier'))
def test_save_load_measure1(self): """ Test saving a measure to a file and reloading it. """ plugin = self.workbench.get_plugin(u'hqc_meas.measure') measure = Measure(plugin=plugin, name='Test', status='Under test') measure.root_task = RootTask(default_path=self.test_dir) # Needed because of Atom returning a _DictProxy measure.checks = dict(plugin.checks) # Needed because of Atom returning a _DictProxy measure.headers = dict(plugin.headers) # Adding a monitor. monitor_decl = plugin.monitors[u'monitor1'] measure.add_monitor(monitor_decl.id, monitor_decl.factory(monitor_decl, self.workbench)) measure.monitors[u'monitor1'].save_test = True path = os.path.join(self.test_dir, 'saved_measure.ini') # Save measure. measure.save_measure(path) assert_true(os.path.isfile(path)) # Load measure. loaded = Measure.load_measure(plugin, path) assert_equal(loaded.name, 'Test') assert_equal(loaded.root_task.default_path, self.test_dir) assert_equal(loaded.checks, dict(plugin.checks)) assert_equal(loaded.headers, dict(plugin.headers)) assert_in(u'monitor1', loaded.monitors) monitor = loaded.monitors[u'monitor1'] assert_true(monitor.save_test) # Check that all values have been correctly updated. monitor = measure.monitors[u'monitor1'] assert_equal(monitor.measure_name, measure.name) assert_equal(monitor.measure_status, measure.status) assert_equal(monitor.updated, {'root/default_path': 1}) assert_equal(measure.collect_entries_to_observe(), ['root/default_path']) # Check that the notifier is correctly observed. assert_true(measure.root_task.task_database.has_observers('notifier'))
def test_save_load_measure1(self): """ Test saving a measure to a file and reloading it. """ plugin = self.workbench.get_plugin(u'hqc_meas.measure') measure = Measure(plugin=plugin, name='Test', status='Under test') measure.root_task = RootTask(default_path=self.test_dir) # Needed because of Atom returning a _DictProxy measure.checks = dict(plugin.checks) # Needed because of Atom returning a _DictProxy measure.headers = dict(plugin.headers) # Adding a monitor. monitor_decl = plugin.monitors[u'monitor1'] measure.add_monitor(monitor_decl.id, monitor_decl.factory(monitor_decl, self.workbench)) measure.monitors[u'monitor1'].save_test = True path = os.path.join(self.test_dir, 'saved_measure.ini') # Save measure. measure.save_measure(path) assert_true(os.path.isfile(path)) # Load measure. loaded = Measure.load_measure(plugin, path) assert_equal(loaded.name, 'Test') assert_equal(loaded.root_task.default_path, self.test_dir) assert_equal(loaded.checks, dict(plugin.checks)) assert_equal(loaded.headers, dict(plugin.headers)) assert_in(u'monitor1', loaded.monitors) monitor = loaded.monitors[u'monitor1'] assert_true(monitor.save_test) # Check that all values have been correctly updated. monitor = measure.monitors[u'monitor1'] assert_equal(monitor.measure_name, measure.name) assert_equal(monitor.measure_status, measure.status) assert_equal(monitor.updated, {'root/default_path': 1}) assert_equal(measure.collect_entries_to_observe(), ['root/default_path']) # Check that the notifier is correctly observed. assert_true(measure.root_task.task_database.has_observers('notifier'))
def test_observer_root_task(self): """ Test the behavior of the root_task observer. """ plugin = self.workbench.get_plugin(u'hqc_meas.measure') measure = Measure(plugin=plugin, name='Test', status='Under test') root_task1 = RootTask() root_task2 = RootTask() measure.root_task = root_task1 monitor_decl = plugin.monitors[u'monitor1'] measure.add_monitor(monitor_decl.id, monitor_decl.factory(monitor_decl, self.workbench)) measure.root_task = root_task2 assert_equal(measure.monitors[u'monitor1'].updated, {'root/default_path': 1}) assert_equal(measure.collect_entries_to_observe(), ['root/default_path']) assert_false(root_task1.task_database.has_observers('notifier')) assert_true(root_task2.task_database.has_observers('notifier'))
def test_observer_root_task(self): """ Test the behavior of the root_task observer. """ plugin = self.workbench.get_plugin(u'hqc_meas.measure') measure = Measure(plugin=plugin, name='Test', status='Under test') root_task1 = RootTask() root_task2 = RootTask() measure.root_task = root_task1 monitor_decl = plugin.monitors[u'monitor1'] measure.add_monitor(monitor_decl.id, monitor_decl.factory(monitor_decl, self.workbench)) measure.root_task = root_task2 assert_equal(measure.monitors[u'monitor1'].updated, {'root/default_path': 1}) assert_equal(measure.collect_entries_to_observe(), ['root/default_path']) assert_false(root_task1.task_database.has_observers('notifier')) assert_true(root_task2.task_database.has_observers('notifier'))