Ejemplo n.º 1
0
 def test_revert_removes_data(self):
     flow = lf.Flow('revert-removes').add(
         utils.TaskOneReturn(provides='one'),
         utils.TaskMultiReturn(provides=('a', 'b', 'c')),
         utils.FailingTask(name='fail'))
     engine = self._make_engine(flow)
     self.assertFailuresRegexp(RuntimeError, '^Woot', engine.run)
     self.assertEqual(engine.storage.fetch_all(), {})
 def test_save_several_values(self):
     flow = utils.TaskMultiReturn(provides=('badger', 'mushroom', 'snake'))
     engine = self._make_engine(flow)
     engine.run()
     self.assertEqual({
         'badger': 1,
         'mushroom': 3,
         'snake': 5
     }, engine.storage.fetch_all())
Ejemplo n.º 3
0
    def test_graph_flow_with_multireturn_and_multiargs_tasks(self):
        flow = gf.Flow('g-3-multi').add(
            utils.TaskMultiArgOneReturn(name='task1',
                                        rebind=['a', 'b', 'y'], provides='z'),
            utils.TaskMultiReturn(name='task2', provides=['a', 'b', 'c']),
            utils.TaskMultiArgOneReturn(name='task3',
                                        rebind=['c', 'b', 'x'], provides='y'))

        engine = self._make_engine(flow)
        engine.storage.inject({'x': 30})
        engine.run()
        self.assertEqual(engine.storage.fetch_all(), {
            'a': 1,
            'b': 3,
            'c': 5,
            'x': 30,
            'y': 38,
            'z': 42
        })
 def test_save_all_in_one(self):
     flow = utils.TaskMultiReturn(provides='all_data')
     engine = self._make_engine(flow)
     engine.run()
     self.assertEqual({'all_data': (1, 3, 5)}, engine.storage.fetch_all())
Ejemplo n.º 5
0
 def test_linear_flow_provides_values(self):
     flow = lf.Flow('lf').add(
         utils.TaskOneReturn('task1', provides='x'),
         utils.TaskMultiReturn('task2', provides=['a', 'b', 'c']))
     self.assertEquals(flow.requires, set())
     self.assertEquals(flow.provides, set(['x', 'a', 'b', 'c']))
Ejemplo n.º 6
0
 def test_task_provides_values(self):
     flow = utils.TaskMultiReturn(provides=['a', 'b', 'c'])
     self.assertEquals(flow.requires, set())
     self.assertEquals(flow.provides, set(['a', 'b', 'c']))
 def test_graph_flow_provides_values(self):
     flow = gf.Flow('gf').add(
         utils.TaskOneReturn('task1', provides='x'),
         utils.TaskMultiReturn('task2', provides=['a', 'b', 'c']))
     self.assertEqual(set(), flow.requires)
     self.assertEqual(set(['x', 'a', 'b', 'c']), flow.provides)