notify-api-490 fix sns region

This commit is contained in:
Kenneth Kehl
2023-09-21 14:48:10 -07:00
parent 6438d27961
commit a1890109d8
4 changed files with 42 additions and 5 deletions

View File

@@ -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:

View File

@@ -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(

View File

@@ -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():

View File

@@ -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()