def test_run_lifecycle(self): # this is needed to ensure logging output appears in test context - see https://stackoverflow.com/questions/7472863/pydev-unittesting-how-to-capture-text-logged-to-a-logging-logger-in-captured-o stream_handler.stream = sys.stdout request_id = uuid.uuid4().hex handler = AnsibleRequestHandler(self.mock_messaging_service, self.mock_ansible_client) self.mock_ansible_client.run_lifecycle_playbook.return_value = LifecycleExecution( request_id, STATUS_COMPLETE, None, {'prop1': 'output__value1'}) handler.handle_request({ 'lifecycle_name': 'Install', 'driver_files': DirectoryTree(self.tmp_workspace), 'system_properties': PropValueMap({}), 'resource_properties': PropValueMap({}), 'deployment_location': { 'properties': { 'testPropA': 'A' } }, 'request_id': request_id }) self.check_response_only( LifecycleExecution(request_id, STATUS_COMPLETE, None, {'prop1': 'output__value1'}))
def test_run_lifecycle_missing_lifecycle_name(self): # this is needed to ensure logging output appears in test context - see https://stackoverflow.com/questions/7472863/pydev-unittesting-how-to-capture-text-logged-to-a-logging-logger-in-captured-o stream_handler.stream = sys.stdout request_id = uuid.uuid4().hex handler = AnsibleRequestHandler(self.mock_messaging_service, self.mock_ansible_client) handler.handle_request({ 'request_id': request_id, 'driver_files': DirectoryTree(self.tmp_workspace), 'system_properties': PropValueMap({}), 'resource_properties': PropValueMap({}), 'deployment_location': PropValueMap({}) }) self.check_response_only( LifecycleExecution( request_id, STATUS_FAILED, FailureDetails(FAILURE_CODE_INTERNAL_ERROR, "Request must have a lifecycle_name"), {}))
def test_handles_empty_request(self): # this is needed to ensure logging output appears in test context - see https://stackoverflow.com/questions/7472863/pydev-unittesting-how-to-capture-text-logged-to-a-logging-logger-in-captured-o stream_handler.stream = sys.stdout messaging_service = MagicMock() ansible_client = MagicMock() handler = AnsibleRequestHandler(messaging_service, ansible_client) handler.handle_request(None)