def test_update_log_ingestion(aws_credentials, mock_function_config): mock_session = MagicMock() mock_client = mock_session.client.return_value mock_client.get_function.return_value = None assert (update_log_ingestion(integration_update(session=mock_session), ) is False) mock_client.get_function.reset_mock(return_value=True) mock_client.get_function.return_value = mock_function_config("python3.6") mock_client.describe_stacks.return_value = { "Stacks": [{ "StackStatus": None }] } assert (update_log_ingestion(integration_update(session=mock_session), ) is False) mock_client.describe_stacks.reset_mock(return_value=True) mock_client.describe_stacks.return_value = { "Stacks": [{ "StackStatus": "peachy" }] } assert (update_log_ingestion(integration_update(session=mock_session), ) is True)
def update(**kwargs): """UpdateNew Relic AWS Lambda Integration""" input = IntegrationUpdate(session=None, **kwargs) input = input._replace( session=boto3.Session( profile_name=input.aws_profile, region_name=input.aws_region ) ) if input.aws_permissions_check: permissions.ensure_integration_install_permissions(input) update_success = True click.echo("Updating newrelic-log-ingestion Lambda function in AWS account") res = integrations.update_log_ingestion(input) update_success = res and update_success if input.enable_license_key_secret: update_success = update_success and integrations.auto_install_license_key(input) else: integrations.remove_license_key(input) if update_success: done("Update Complete") else: failure("Update Incomplete. See messages above for details.", exit=True)
def update( aws_profile, aws_region, aws_permissions_check, enable_logs, memory_size, timeout, role_name, ): """UpdateNew Relic AWS Lambda Integration""" session = boto3.Session(profile_name=aws_profile, region_name=aws_region) if aws_permissions_check: permissions.ensure_integration_install_permissions(session) update_success = True click.echo( "Updating newrelic-log-ingestion Lambda function in AWS account") res = integrations.update_log_ingestion(session, None, enable_logs, memory_size, timeout, role_name) update_success = res and update_success if update_success: done("Update Complete") else: failure("Update Incomplete. See messages above for details.", exit=True)