def _setup_job_graph_config_container(): action1 = ConfigAction( name='action1', command='do something', ) action2 = ConfigAction( name='action2', command='do something', requires=['action1'], ) job1_config = ConfigJob( name='job1', node='default', schedule=mock.Mock(), actions={'action1': action1, 'action2': action2}, namespace='MASTER', ) action3 = ConfigAction( name='action3', command='do something', triggered_by=['MASTER.job1.action2.shortdate.{shortdate}'], ) job2_config = ConfigJob( name='job1', node='default', schedule=mock.Mock(), actions={'action3': action3}, namespace='other', ) action4 = ConfigAction( name='action4', command='do something', ) action5 = ConfigAction( name='action5', command='do something', requires=['action4'], triggered_by=['other.job2.action3.shortdate.{shortdate}'], ) job3_config = ConfigJob( name='job1', node='default', schedule=mock.Mock(), actions={'action4': action4, 'action5': action5}, namespace='MASTER', ) config_container = mock.Mock() config_container.get_jobs.return_value = { 'MASTER.job1': job1_config, 'other.job2': job2_config, 'MASTER.job3': job3_config, } return config_container
def test_from_config_full(self, disk): config = ConfigAction( name="ted", command="do something", node="first", executor="ssh", cpus=1, mem=100, disk=disk, # default: 1024.0 constraints=[ ConfigConstraint( attribute='pool', operator='LIKE', value='default', ), ], docker_image='fake-docker.com:400/image', docker_parameters=[ ConfigParameter( key='test', value=123, ), ], env={'TESTING': 'true'}, extra_volumes=[ ConfigVolume( host_path='/tmp', container_path='/nail/tmp', mode='RO', ), ], trigger_downstreams=True, triggered_by=["foo.bar"], ) new_action = Action.from_config(config) assert new_action.name == config.name assert new_action.node_pool is None assert new_action.executor == config.executor assert new_action.trigger_downstreams is True assert new_action.triggered_by == ['foo.bar'] command_config = new_action.command_config assert command_config.command == config.command assert command_config.cpus == config.cpus assert command_config.mem == config.mem assert command_config.disk == (600. if disk else 1024.) assert command_config.constraints == {('pool', 'LIKE', 'default')} assert command_config.docker_image == config.docker_image assert command_config.docker_parameters == {('test', 123)} assert command_config.env == config.env assert command_config.extra_volumes == {('/nail/tmp', '/tmp', 'RO')}
def test_from_config_none_values(self): config = ConfigAction( name="ted", command="do something", node="first", executor="ssh", ) new_action = Action.from_config(config) assert new_action.name == config.name assert new_action.command == config.command assert new_action.executor == config.executor assert new_action.constraints == set() assert new_action.docker_image is None assert new_action.docker_parameters == set() assert new_action.env == {} assert new_action.extra_volumes == set()
def test_from_config_none_values(self): config = ConfigAction( name="ted", command="do something", node="first", executor="ssh", ) new_action = action.Action.from_config(config) assert_equal(new_action.name, config.name) assert_equal(new_action.command, config.command) assert_equal(new_action.required_actions, []) assert_equal(new_action.executor, config.executor) assert_equal(new_action.constraints, []) assert_equal(new_action.docker_image, None) assert_equal(new_action.docker_parameters, []) assert_equal(new_action.env, {}) assert_equal(new_action.extra_volumes, [])
def test_from_config_full(self): config = ConfigAction( name="ted", command="do something", node="first", executor="ssh", cpus=1, mem=100, constraints=[ ConfigConstraint( attribute='pool', operator='LIKE', value='default', ), ], docker_image='fake-docker.com:400/image', docker_parameters=[ ConfigParameter( key='test', value=123, ), ], env={'TESTING': 'true'}, extra_volumes=[ ConfigVolume( host_path='/tmp', container_path='/nail/tmp', mode='RO', ), ], trigger_downstreams=True, triggered_by=["foo.bar"], ) new_action = action.Action.from_config(config) assert_equal(new_action.name, config.name) assert_equal(new_action.command, config.command) assert_equal(new_action.node_pool, None) assert_equal(new_action.required_actions, []) assert_equal(new_action.executor, config.executor) assert_equal(new_action.cpus, config.cpus) assert_equal(new_action.mem, config.mem) assert_equal(new_action.constraints, [['pool', 'LIKE', 'default']]) assert_equal(new_action.docker_image, config.docker_image) assert_equal( new_action.docker_parameters, [{ 'key': 'test', 'value': 123 }], ) assert_equal(new_action.env, config.env) assert_equal( new_action.extra_volumes, [{ 'container_path': '/nail/tmp', 'host_path': '/tmp', 'mode': 'RO' }], ) assert new_action.trigger_downstreams is True assert new_action.triggered_by == ['foo.bar']