def test_mesos_executor_driver_init(): context = Context() context.start() # spawn slave slave = MockSlave() context.spawn(slave) os.environ['MESOS_SLAVE_PID'] = str(slave.pid) executor = Executor() driver = MesosExecutorDriver(executor, context=context) assert driver.start() == mesos.DRIVER_RUNNING assert driver.stop() == mesos.DRIVER_STOPPED assert driver.join() == mesos.DRIVER_STOPPED context.stop()
def test_mesos_executor_register(): context = Context() context.start() # spawn slave slave = MockSlave() context.spawn(slave) os.environ['MESOS_SLAVE_PID'] = str(slave.pid) executor = mock.MagicMock() executor.registered = mock.MagicMock() driver = PesosExecutorDriver(executor, context=context) assert driver.start() == mesos.DRIVER_RUNNING command_info = mesos.CommandInfo(value='wat') framework_id = mesos.FrameworkID(value='fake_framework_id') executor_id = mesos.ExecutorID(value='fake_executor_id') executor_info = mesos.ExecutorInfo( executor_id=executor_id, framework_id=framework_id, command=command_info ) framework_info = mesos.FrameworkInfo(user='******', name='fake_framework_name') slave.send_registered( driver.executor_process.pid, executor_info, framework_id, framework_info ) driver.executor_process.connected.wait(timeout=1) assert driver.executor_process.connected.is_set() executor.registered.assert_called_with(driver, executor_info, framework_info, slave.slave_info) assert driver.stop() == mesos.DRIVER_STOPPED context.stop()
def setUp(self): command_info = mesos_pb2.CommandInfo(value='wat') framework_id = mesos_pb2.FrameworkID(value=self.FRAMEWORK_ID) executor_id = mesos_pb2.ExecutorID(value=self.EXECUTOR_ID) self.executor_info = mesos_pb2.ExecutorInfo( executor_id=executor_id, framework_id=framework_id, command=command_info, ) self.framework_info = mesos_pb2.FrameworkInfo( user='******', name='fake_framework_name', ) self.context = Context() self.context.start() self.slave = MockSlave( mesos_pb2.SlaveID(value=self.SLAVE_ID), {self.EXECUTOR_ID: self.executor_info}, {self.FRAMEWORK_ID: self.framework_info}, ) self.context.spawn(self.slave) self.close_contexts = []