diff --git a/app/clients/cloudwatch/aws_cloudwatch.py b/app/clients/cloudwatch/aws_cloudwatch.py index 26f513111..f9eef87d4 100644 --- a/app/clients/cloudwatch/aws_cloudwatch.py +++ b/app/clients/cloudwatch/aws_cloudwatch.py @@ -79,13 +79,14 @@ class AwsCloudwatchClient(Client): return all_log_events def check_sms(self, message_id, notification_id, created_at): + region = cloud_config.sns_region # TODO this clumsy approach to getting the account number will be fixed as part of notify-api #258 account_number = cloud_config.ses_domain_arn - account_number = account_number.replace("arn:aws:ses:us-west-2:", "") + account_number = account_number.replace(f"arn:aws:ses:{region}:", "") account_number = account_number.split(":") account_number = account_number[0] - log_group_name = f"sns/us-west-2/{account_number}/DirectPublishToPhoneNumber" + log_group_name = f"sns/{region}/{account_number}/DirectPublishToPhoneNumber" filter_pattern = '{$.notification.messageId="XXXXX"}' filter_pattern = filter_pattern.replace("XXXXX", message_id) all_log_events = self._get_log(filter_pattern, log_group_name, created_at) @@ -96,7 +97,7 @@ class AwsCloudwatchClient(Client): return "success", message["delivery"]["providerResponse"] log_group_name = ( - f"sns/us-west-2/{account_number}/DirectPublishToPhoneNumber/Failure" + f"sns/{region}/{account_number}/DirectPublishToPhoneNumber/Failure" ) all_failed_events = self._get_log(filter_pattern, log_group_name, created_at) if all_failed_events and len(all_failed_events) > 0: diff --git a/app/commands.py b/app/commands.py index baa6aecf4..feab587d4 100644 --- a/app/commands.py +++ b/app/commands.py @@ -263,6 +263,7 @@ def bulk_invite_user_to_service(file_name, service_id, user_id, auth_type, permi # "send_texts,send_emails,view_activity" from app.service_invite.rest import create_invited_user + current_app.logger.info("ENTER") file = open(file_name) for email_address in file: data = { @@ -273,6 +274,7 @@ def bulk_invite_user_to_service(file_name, service_id, user_id, auth_type, permi "auth_type": auth_type, "invite_link_host": current_app.config["ADMIN_BASE_URL"], } + current_app.logger.info(f"DATA = {data}") with current_app.test_request_context( path="/service/{}/invite/".format(service_id), method="POST", @@ -281,6 +283,7 @@ def bulk_invite_user_to_service(file_name, service_id, user_id, auth_type, permi ): try: response = create_invited_user(service_id) + current_app.logger.info(f"RESPONSE {response[1]}") if response[1] != 201: print( "*** ERROR occurred for email address: {}".format( diff --git a/migrations/versions/0402_total_message_limit_default.py b/migrations/versions/0402_total_message_limit_default.py index 786e60362..75539bcf1 100644 --- a/migrations/versions/0402_total_message_limit_default.py +++ b/migrations/versions/0402_total_message_limit_default.py @@ -10,8 +10,8 @@ from flask import current_app import sqlalchemy as sa -revision = '0402_total_message_limit_default' -down_revision = '0401_add_e2e_test_user' +revision = "0402_total_message_limit_default" +down_revision = "0401_add_e2e_test_user" def upgrade(): diff --git a/tests/app/test_commands.py b/tests/app/test_commands.py index cef844fef..1d81f1f95 100644 --- a/tests/app/test_commands.py +++ b/tests/app/test_commands.py @@ -5,6 +5,7 @@ import pytest from app.commands import ( _update_template, + bulk_invite_user_to_service, create_new_service, create_test_user, fix_billable_units, @@ -171,6 +172,38 @@ def test_populate_organization_agreement_details_from_file( os.remove(file_name) +def test_bulk_invite_user_to_service( + notify_db_session, notify_api, sample_service, sample_user +): + file_name = "./tests/app/users.csv" + + text = ( + "service,email_address,from_user,permissions,auth_type,invite_link_host\n" + f"{sample_service.id},someone@fake.gov,{sample_user.id},sms,platform_admin,https://somewhere.fake.gov'\n" + ) + f = open(file_name, "a") + f.write(text) + f.close() + command_response = notify_api.test_cli_runner().invoke( + bulk_invite_user_to_service, + [ + "-f", + file_name, + "-s", + sample_service.id, + "-u", + sample_user.id, + "-p", + "send_texts", + ], + ) + print(f"command_response = {command_response}") + + assert "okay" in str(command_response) + + os.remove(file_name) + + def test_create_test_user_command(notify_db_session, notify_api): # number of users before adding ours user_count = User.query.count()