def test_task_requires_default_values(self): flow = utils.TaskMultiArg() self.assertEqual(set(['x', 'y', 'z']), flow.requires) self.assertEqual( set(), flow.provides, )
def test_arguments_missing(self): flow = utils.TaskMultiArg() engine = self._make_engine(flow) engine.storage.inject({'a': 1, 'b': 4, 'x': 17}) self.assertRaises(exc.MissingDependencies, engine.run)
def test_revert_required_args_required(self): flow = utils.TaskMultiArg(revert_requires=['a']) engine = self._make_engine(flow) engine.storage.inject({'y': 4, 'z': 9, 'x': 17}) self.assertRaises(exc.MissingDependencies, engine.run)
def test_invalid_argument_name_list(self): flow = utils.TaskMultiArg(rebind=['a', 'z', 'b']) engine = self._make_engine(flow) engine.storage.inject({'a': 1, 'b': 4, 'c': 9, 'x': 17}) self.assertRaises(exc.MissingDependencies, engine.run)
def test_store_factory(): f = lf.Flow("test") f.add(test_utils.TaskMultiArg('task1')) return f
def test_linear_flow_reuires_rebind_values(self): flow = lf.Flow('lf').add(utils.TaskOneArg('task1', rebind=['q']), utils.TaskMultiArg('task2')) self.assertEquals(flow.requires, set(['x', 'y', 'z', 'q'])) self.assertEquals(flow.provides, set())
def test_task_requires_additional_values(self): flow = utils.TaskMultiArg(requires=['a', 'b']) self.assertEquals(flow.requires, set(['a', 'b', 'x', 'y', 'z'])) self.assertEquals(flow.provides, set())
def test_task_requires_rebinded_mapped(self): flow = utils.TaskMultiArg(rebind={'x': 'a', 'y': 'b', 'z': 'c'}) self.assertEquals(flow.requires, set(['a', 'b', 'c'])) self.assertEquals(flow.provides, set())
def test_graph_flow_reuires_values(self): flow = gf.Flow('gf').add(utils.TaskOneArg('task1'), utils.TaskMultiArg('task2')) self.assertEquals(flow.requires, set(['x', 'y', 'z'])) self.assertEquals(flow.provides, set())
def test_unordered_flow_requires_rebind_values(self): flow = uf.Flow('uf').add(utils.TaskOneArg('task1', rebind=['q']), utils.TaskMultiArg('task2')) self.assertEqual(flow.requires, set(['x', 'y', 'z', 'q'])) self.assertEqual(flow.provides, set())
def test_invalid_argument_name_map(self): flow = utils.TaskMultiArg(rebind={'z': 'b'}) engine = self._make_engine(flow) engine.storage.inject({'a': 1, 'y': 4, 'c': 9, 'x': 17}) with self.assertRaises(exc.MissingDependencies): engine.run()
def test_linear_flow_requires_values(self): flow = lf.Flow('lf').add(utils.TaskOneArg('task1'), utils.TaskMultiArg('task2')) self.assertEqual(set(['x', 'y', 'z']), flow.requires) self.assertEqual(set(), flow.provides)
def test_graph_flow_requires_rebind_values(self): flow = gf.Flow('gf').add(utils.TaskOneArg('task1', rebind=['q']), utils.TaskMultiArg('task2')) self.assertEqual(set(['x', 'y', 'z', 'q']), flow.requires) self.assertEqual(set(), flow.provides)