Beispiel #1
0
    def test_stage_from_dict(self, mocked_init):

        d = {
            'uid': 're.Stage.0000',
            'name': 's1',
            'state': states.DONE,
            'state_history': [states.INITIAL, states.DONE],
            'parent_pipeline': {
                'uid': 'p1',
                'name': 'pipe1'
            }
        }

        s = Stage()
        s._uid = None
        s._name = None
        s._state = None
        s._state_history = None
        s._p_pipeline = None
        s.from_dict(d)

        self.assertEqual(s._uid, d['uid'])
        self.assertEqual(s._name, d['name'])
        self.assertEqual(s._state, d['state'])
        self.assertEqual(s._state_history, d['state_history'])
        self.assertEqual(s._p_pipeline, d['parent_pipeline'])
Beispiel #2
0
    def test_stage_state_assignment(self, mocked_init, t, l, i, b):

        s = Stage()
        s._uid = 'test_stage'

        data_type = [l, i, b]

        for data in data_type:
            with self.assertRaises(TypeError):
                s.state = data

        if isinstance(t, str):
            with self.assertRaises(ValueError):
                s.state = t

        s = Stage()
        s._uid = 'test_stage'
        s._state = None
        s._state_history = list()
        state_history = list()
        states_list = list(states._stage_state_values.keys())
        shuffle(states_list)
        for val in states_list:
            s.state = val
            if val != states.SUSPENDED:
                state_history.append(val)
            self.assertEqual(s._state, val)
            self.assertEqual(s._state_history, state_history)
Beispiel #3
0
    def test_stage_to_dict(self, mocked_init):

        s = Stage()
        s._uid = 'stage.0000'
        s._name = 'test_stage'
        s._state = states.INITIAL
        s._state_history = [states.INITIAL]
        s._p_pipeline = {'uid': 'pipeline.0000', 'name': 'parent'}

        self.assertEqual(
            s.to_dict(), {
                'uid': 'stage.0000',
                'name': 'test_stage',
                'state': states.INITIAL,
                'state_history': [states.INITIAL],
                'parent_pipeline': {
                    'uid': 'pipeline.0000',
                    'name': 'parent'
                }
            })