예제 #1
0
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()
예제 #2
0
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()
예제 #3
0
 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 = []