1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
from jb.config import TOPIC_ARN, SUBSCRIPTION
from jb.decorators import SNS_CLIENT, AMT_CLIENT
from jb.config import settings
def initial_setup():
# Run once for initial setup. Not on each server start or anything
subscription = SNS_CLIENT.subscribe( # type: ignore
TopicArn=TOPIC_ARN,
Protocol="https",
Endpoint=f"https://jamesbillings67.com/{settings.sns_path}/",
ReturnSubscriptionArn=True,
)
def check_sns_configuration():
SNS_CLIENT.get_topic_attributes(TopicArn=TOPIC_ARN)
# check this TOPIC_ARN exists
# (doesnt have permission, dont need this anyways)
# res = SNS_CLIENT.list_topics()
# arns = {x["TopicArn"] for x in res["Topics"]}
# assert TOPIC_ARN in arns, f"SNS Topic {TOPIC_ARN} doesn't exist!"
subs = SNS_CLIENT.list_subscriptions_by_topic(TopicArn=TOPIC_ARN)
assert SUBSCRIPTION in subs["Subscriptions"]
AMT_CLIENT.send_test_event_notification(
Notification={
"Destination": TOPIC_ARN,
"Transport": "SNS",
"Version": "2006-05-05",
"EventTypes": ["AssignmentSubmitted"],
},
TestEventType="AssignmentSubmitted",
)
|