예제 #1
0
 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)
예제 #5
0
def test_store_factory():
    f = lf.Flow("test")
    f.add(test_utils.TaskMultiArg('task1'))
    return f
예제 #6
0
 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())
예제 #7
0
 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())
예제 #8
0
 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())
예제 #9
0
 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())
예제 #10
0
 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())
예제 #11
0
 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)