コード例 #1
0
def stop_version_async(module=None, version=None):
    """Returns a UserRPC  to stop all instances for the given module version.

  Args:
    module: The module to affect, if None the current module is used.
    version: The version of the given module to affect, if None the current
      version is used.

  Returns:
    A UserRPC  to stop all instances for the given module version.
  """
    def _ResultHook(rpc):
        mapped_errors = [
            modules_service_pb2.ModulesServiceError.INVALID_VERSION,
            modules_service_pb2.ModulesServiceError.TRANSIENT_ERROR
        ]
        expected_errors = {
            modules_service_pb2.ModulesServiceError.UNEXPECTED_STATE:
            'The specified module: %s, version: %s is already stopped.' %
            (module, version)
        }
        _CheckAsyncResult(rpc, mapped_errors, expected_errors)

    request = modules_service_pb2.StopModuleRequest()
    if module:
        request.module = module
    if version:
        request.version = version
    response = modules_service_pb2.StopModuleResponse()
    return _MakeAsyncCall('StopModule', request, response, _ResultHook)
コード例 #2
0
 def testStopVersion_NoVersion(self):
   """Test we pass through the expected args."""
   expected_request = modules_service_pb2.StopModuleRequest()
   expected_request.module = 'module1'
   service_response = modules_service_pb2.StopModuleResponse()
   self.SetSuccessExpectations('StopModule',
                               expected_request,
                               service_response)
   modules.stop_version('module1')
コード例 #3
0
 def testStopVersion_AlreadyStopped(self):
   """Test we don't raise an error if the version is already stopped."""
   expected_request = modules_service_pb2.StopModuleRequest()
   expected_request.module = 'module1'
   expected_request.version = 'v1'
   self.mox.StubOutWithMock(logging, 'info')
   logging.info('The specified module: module1, version: v1 is already '
                'stopped.')
   self.SetExceptionExpectations(
       'StopModule', expected_request,
       modules_service_pb2.ModulesServiceError.UNEXPECTED_STATE)
   modules.stop_version('module1', 'v1')
コード例 #4
0
 def testStopVersion_InvalidVersionError(self):
   """Test we raise an error when we receive one from the API."""
   expected_request = modules_service_pb2.StopModuleRequest()
   expected_request.module = 'module1'
   expected_request.version = 'v1'
   self.SetExceptionExpectations(
       'StopModule', expected_request,
       modules_service_pb2.ModulesServiceError.INVALID_VERSION)
   self.assertRaises(modules.InvalidVersionError,
                     modules.stop_version,
                     'module1',
                     'v1')
コード例 #5
0
 def testStopVersion_TransientError(self):
   """Test we raise an error when we receive one from the API."""
   self.SetExceptionExpectations(
       'StopModule', modules_service_pb2.StopModuleRequest(),
       modules_service_pb2.ModulesServiceError.TRANSIENT_ERROR)
   self.assertRaises(modules.TransientError, modules.stop_version)