def test_raises_error_if_runner_not_found(self): steps = vmdb.StepRunnerList() keyspec = {"foo": str, "bar": str} runner = DummyStepRunner(keyspec=keyspec) steps.add(runner) with self.assertRaises(vmdb.NoMatchingRunner): steps.find({"foo": "foo"})
def test_raises_error_if_wrong_step_key_values(self): steps = vmdb.StepRunnerList() keyspec = {"foo": str} runner = DummyStepRunner(keyspec=keyspec) steps.add(runner) with self.assertRaises(vmdb.StepKeyWrongValueType): steps.find({"foo": 42})
def test_finds_correct_runner(self): steps = vmdb.StepRunnerList() keyspec = {"foo": str, "bar": str} runner = DummyStepRunner(keyspec=keyspec) steps.add(runner) found = steps.find({"foo": "foo", "bar": "bar"}) self.assertEqual(runner, found)
def setup(self): self.step_runners = vmdb.StepRunnerList()
def load_step_runners(self): self.step_runners = vmdb.StepRunnerList() plugindir = os.path.join(os.path.dirname(vmdb.__file__), "plugins") for klass in vmdb.find_plugins(plugindir, "Plugin"): klass(self).enable()
def test_adds_a_runner(self): steps = vmdb.StepRunnerList() runner = DummyStepRunner() steps.add(runner) self.assertEqual(len(steps), 1)
def test_is_empty_initially(self): steps = vmdb.StepRunnerList() self.assertEqual(len(steps), 0)
def test_raises_error_if_runner_not_found(self): steps = vmdb.StepRunnerList() runner = DummyStepRunner() steps.add(runner) with self.assertRaises(vmdb.NoMatchingRunner): steps.find({'foo': None})
def test_finds_correct_runner(self): steps = vmdb.StepRunnerList() runner = DummyStepRunner() steps.add(runner) found = steps.find({'foo': None, 'bar': None}) self.assertEqual(runner, found)