def test_with_runner(qtbot): p = plugins() allp = [PluginCollection("All", p['plugins']), *p['plugins']] main = main_view(qtbot, host(), allp) # tab 1 has an ok button tab = select_tab(main, 1) ok_button = find_QPushButton(tab, 'new') assert ok_button is None # tab 0 does not tab = select_tab(main, 0) ok_button = find_QPushButton(tab, 'new') assert ok_button is None
hosts = [] for filename in host_config_files: with open(filename, 'r') as file: host_config = yaml.load(file) host_class = getattr(rynner.host, host_config['classname']) host = host_class(host_config['domain'], host_config['username'], host_config['rsa_file']) hosts.append(host) #--------------------------------------------------------- # INITIALISE PLUGINS #--------------------------------------------------------- plugins = [PluginCollection("All Runs", [plugin1, plugin2]), plugin1, plugin2] #--------------------------------------------------------- # Run application #--------------------------------------------------------- def update_plugins(): for plugin in [plugin1, plugin2]: plugin_id = plugin.plugin_id for host in hosts: host.update(plugin_id) timer = QTimer() timer.timeout.connect(update_plugins)
def test_hosts_of_a_plugin_empty_by_default(self): a = PluginCollection('name', []) self.assertEqual(a.hosts, [])
def test_none_parent_by_default(self): parent = QWidget() a = PluginCollection('name', []) self.assertEqual(a.parent(), None)
def test_plugin_collection_set_parent(self): parent = QWidget() a = PluginCollection('name', [], parent=parent) self.assertEqual(a.parent(), parent)
def test_plugin_collection_signal_connectable(self): # note: signal cannot be connected to slot if QObject init not called a = PluginCollection('name', []) a.runs_changed.connect(lambda x: None)
def test_labels_none_by_default(self): plugin = PluginCollection(self.name, self.plugins) self.assertEqual(plugin.labels, None)
def test_add_labels(self): labels = MM() plugin = PluginCollection(self.name, self.plugins, labels=labels) self.assertEqual(plugin.labels, labels)
def instance(self, **kwargs): self.rc = PluginCollection(self.name, self.plugins, **kwargs)
class TestPluginCollection(unittest.TestCase): def setUp(self): self.name = 'Test Collection Name' self.plugins = [MM(), MM()] def instance(self, **kwargs): self.rc = PluginCollection(self.name, self.plugins, **kwargs) def test_instance(self): self.instance() def test_has_name_attr(self): self.instance() self.assertEqual(self.rc.name, self.name) def test_has_plugins(self): self.instance() self.assertEqual(self.rc.plugins, self.plugins) def test_has_view_keys_with_default(self): self.instance() self.assertEqual(self.rc.view_keys, Plugin.view_keys) def test_has_view_keys_as_specified(self): view_keys = MM() self.instance(view_keys=view_keys) self.assertEqual(self.rc.view_keys, view_keys) def test_add_labels(self): labels = MM() plugin = PluginCollection(self.name, self.plugins, labels=labels) self.assertEqual(plugin.labels, labels) def test_labels_none_by_default(self): plugin = PluginCollection(self.name, self.plugins) self.assertEqual(plugin.labels, None) def test_create_view_none_by_default(self): self.instance() self.assertEqual(self.rc.create_view, None) def test_has_build_index_view_none(self): self.instance() self.assertEqual(self.rc.build_index_view, None) def test_has_runs_changed_signal(self): self.instance() self.assertIsInstance(self.rc.runs_changed, Signal) def test_plugin_collection_signal_connectable(self): # note: signal cannot be connected to slot if QObject init not called a = PluginCollection('name', []) a.runs_changed.connect(lambda x: None) def test_plugin_collection_set_parent(self): parent = QWidget() a = PluginCollection('name', [], parent=parent) self.assertEqual(a.parent(), parent) def test_none_parent_by_default(self): parent = QWidget() a = PluginCollection('name', []) self.assertEqual(a.parent(), None) def test_hosts_of_a_plugin_empty_by_default(self): a = PluginCollection('name', []) self.assertEqual(a.hosts, []) def test_list_jobs(self): self.instance() # build hosts host1 = MM() host1.jobs.return_value = ['host1-job1', 'host1-job2'] host2 = MM() host2.jobs.return_value = ['host2-job2', 'host2-job2'] self.rc.hosts = [host1, host2] # list hosts ret = self.rc.list_jobs() # list repeated twice (once for each Plugin) # with all host1 first and host2 second jobs = [ 'host1-job1', 'host1-job2', 'host1-job1', 'host1-job2', 'host2-job2', 'host2-job2', 'host2-job2', 'host2-job2' ] # check calls to host.jobs self.assertEqual(ret, jobs) # check for host1 for host in [host1, host2]: call_arg_list = host.jobs.call_args_list call_type1, call_type2 = call_arg_list args, vals = call_type1 self.assertEqual(args, (self.plugins[0].domain, )) args, vals = call_type2 self.assertEqual(args, (self.plugins[1].domain, ))