aboutsummaryrefslogtreecommitdiff
path: root/jb/flow/setup_tasks.py
blob: 4664374983ebcbe41ad9448f292d2aa668363adb (plain)
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",
    )