def test_create_task_with_task_id(self, mock_task): cluster = MesosCluster('mesos-cluster-a.me') mock_serializer = mock.MagicMock() task_id = 'task.0123-fabc' task = cluster.create_task( action_run_id='action_c', command='echo hi', cpus=1, mem=10, disk=20, constraints=[], docker_image='container:latest', docker_parameters=[], env={'TESTING': 'true'}, extra_volumes=[], serializer=mock_serializer, task_id=task_id, ) assert cluster.runner.TASK_CONFIG_INTERFACE.call_count == 1 assert task == mock_task.return_value task_config = cluster.runner.TASK_CONFIG_INTERFACE.return_value task_config.set_task_id.assert_called_once_with(task_id) mock_task.assert_called_once_with( 'action_c', task_config.set_task_id.return_value, mock_serializer, )
def test_create_task_defaults(self, mock_task): cluster = MesosCluster('mesos-cluster-a.me') mock_serializer = mock.MagicMock() task = cluster.create_task( action_run_id='action_c', command='echo hi', cpus=1, mem=10, constraints=[], docker_image='container:latest', docker_parameters=[], env={'TESTING': 'true'}, extra_volumes=[], serializer=mock_serializer, ) cluster.runner.TASK_CONFIG_INTERFACE.assert_called_once_with( name='action_c', cmd='echo hi', cpus=1, mem=10, constraints=[], image='container:latest', docker_parameters=[], environment={'TESTING': 'true'}, volumes=[], uris=[], offer_timeout=None, ) assert_equal(task, mock_task.return_value) mock_task.assert_called_once_with( 'action_c', cluster.runner.TASK_CONFIG_INTERFACE.return_value, mock_serializer, )
def test_create_task_disabled(self, mock_task): # If Mesos is disabled, should return None cluster = MesosCluster('mesos-cluster-a.me', enabled=False) mock_serializer = mock.MagicMock() task = cluster.create_task( action_run_id='action_c', command='echo hi', cpus=1, mem=10, constraints=[], docker_image='container:latest', docker_parameters=[], env={'TESTING': 'true'}, extra_volumes=[], serializer=mock_serializer, ) assert task is None
def test_create_task_disabled(self, mock_task): # If Mesos is disabled, should return None cluster = MesosCluster('mesos-cluster-a.me', enabled=False) mock_serializer = mock.MagicMock() task = cluster.create_task( action_run_id='action_c', command='echo hi', cpus=1, mem=10, disk=20, constraints=[], docker_image='container:latest', docker_parameters=[], env={'TESTING': 'true'}, extra_volumes=[], serializer=mock_serializer, ) assert task is None
def test_create_task_defaults(self, mock_task): cluster = MesosCluster('mesos-cluster-a.me') mock_serializer = mock.MagicMock() task = cluster.create_task( action_run_id='action_c', command='echo hi', cpus=1, mem=10, disk=20, constraints=[], docker_image='container:latest', docker_parameters=[], env={'TESTING': 'true'}, extra_volumes=[], serializer=mock_serializer, ) cluster.runner.TASK_CONFIG_INTERFACE.assert_called_once_with( name='action_c', cmd='echo hi', cpus=1, mem=10, disk=20, constraints=[], image='container:latest', docker_parameters=[], environment={'TESTING': 'true'}, volumes=[], uris=[], offer_timeout=None, ) assert_equal(task, mock_task.return_value) mock_task.assert_called_once_with( 'action_c', cluster.runner.TASK_CONFIG_INTERFACE.return_value, mock_serializer, )
def test_create_task_with_configuration(self, mock_task): cluster = MesosCluster( 'mesos-cluster-a.me', default_volumes=[ { 'container_path': '/tmp', 'host_path': '/host', 'mode': 'RO', }, { 'container_path': '/other', 'host_path': '/other', 'mode': 'RW', }, ], dockercfg_location='some_place', offer_timeout=202, ) mock_serializer = mock.MagicMock() task = cluster.create_task( action_run_id='action_c', command='echo hi', cpus=1, mem=10, disk=20, constraints=[], docker_image='container:latest', docker_parameters=[], env={'TESTING': 'true'}, # This should override the default volume for /tmp extra_volumes=[ { 'container_path': '/tmp', 'host_path': '/custom', 'mode': 'RW', }, ], serializer=mock_serializer, ) cluster.runner.TASK_CONFIG_INTERFACE.assert_called_once_with( name='action_c', cmd='echo hi', cpus=1, mem=10, disk=20, constraints=[], image='container:latest', docker_parameters=[], environment={'TESTING': 'true'}, volumes=[ { 'container_path': '/tmp', 'host_path': '/custom', 'mode': 'RW', }, { 'container_path': '/other', 'host_path': '/other', 'mode': 'RW', }, ], uris=['some_place'], offer_timeout=202, ) assert_equal(task, mock_task.return_value) mock_task.assert_called_once_with( 'action_c', cluster.runner.TASK_CONFIG_INTERFACE.return_value, mock_serializer, )