Fix tests for RDS events, add error log for failed notifications
This commit is contained in:
parent
a177d6145e
commit
d0f97044c0
3
app.py
3
app.py
@ -299,4 +299,5 @@ def handler(event, context):
|
||||
msg_type = apprise.NotifyType.WARNING
|
||||
body = sns["Message"]
|
||||
|
||||
apobj.notify(body=body, title=title, notify_type=msg_type)
|
||||
if not apobj.notify(body=body, title=title, notify_type=msg_type):
|
||||
logger.error("Error during notify!")
|
||||
|
@ -9,8 +9,13 @@ from requests.packages.urllib3.util.retry import Retry
|
||||
|
||||
s = requests.Session()
|
||||
retries = Retry(
|
||||
total=3, backoff_factor=1, status_forcelist=[502, 503, 504], allowed_methods="POST"
|
||||
)
|
||||
total=3,
|
||||
backoff_factor=1,
|
||||
status_forcelist=[
|
||||
502,
|
||||
503,
|
||||
504],
|
||||
allowed_methods="POST")
|
||||
s.mount("http://", HTTPAdapter(max_retries=retries))
|
||||
|
||||
|
||||
@ -71,7 +76,38 @@ class Test:
|
||||
# RDS
|
||||
def test_rds_event(self):
|
||||
event = json.loads(
|
||||
r' {"Records": [{"Event Source":"db-instance","Event Time":"2023-06-15 06:13:18.237","Identifier Link":"https://console.aws.amazon.com/rds/home?region=us-west-2#dbinstance:id=vrv6b014c5jbdf","Source ID":"vrv6b014c5jbdf","Source ARN":"arn:aws:rds:us-west-2:123456789012:db:vrv6b014c5jbdf","Event ID":"http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.Messages.html#RDS-EVENT-0001","Event Message":"Backing up DB instance","Tags":{"aws:cloudformation:stack-name":"postgres-rds","aws:cloudformation:stack-id":"arn:aws:cloudformation:us-west-2:123456789012:stack/postgres-rds/c7382650-46a7-11ea-bd3f-064fbe1c973c","Conglomerate":"test","aws:cloudformation:logical-id":"RdsDBInstance","Artifact":"postgres-rds","Name":"postgres-rds.DBInstance"}}]}'
|
||||
r''' {
|
||||
"Records": [
|
||||
{
|
||||
"EventSource": "aws:sns",
|
||||
"EventVersion": "1.0",
|
||||
"EventSubscriptionArn": "arn:aws:sns:us-west-2:123456789012:AlertHub:63470449-620d-44ce-971f-ad9582804b13",
|
||||
"Sns": {
|
||||
"Type": "Notification",
|
||||
"MessageId": "ef1f821c-a04f-5c5c-9dff-df498532069b",
|
||||
"TopicArn": "arn:aws:sns:us-west-2:123456789012:AlertHub",
|
||||
"Subject": "RDS Notification Message",
|
||||
"Message": "{\"Event Source\":\"db-cluster-snapshot\",\"Event Time\":\"2023-08-15 07:03:24.491\",\"Identifier Link\":\"https://console.aws.amazon.com/rds/home?region=us-west-2#snapshot:engine=aurora;id=rds:projectdb-cluster-2023-08-15-07-03\",\"Source ID\":\"rds:projectdb-cluster-2023-08-15-07-03\",\"Source ARN\":\"arn:aws:rds:us-west-2:123456789012:cluster-snapshot:rds:projectdb-cluster-2023-08-15-07-03\",\"Event ID\":\"http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.Messages.html#RDS-EVENT-0168\",\"Event Message\":\"Creating automated cluster snapshot\",\"Tags\":{}}",
|
||||
"Timestamp": "2023-08-15T07:03:25.289Z",
|
||||
"SignatureVersion": "1",
|
||||
"Signature": "mRtx+ddS1uzF3alGDWnDtUkAz+Gno8iuv0wPwkeBJPe1LAcKTXVteYhQdP2BB5ZunPlWXPSDsNtFl8Eh6v4/fcdukxH/czc6itqgGiciQ3DCICLvOJrvrVVgsVvHgOA/Euh8wryzxeQ3HJ/nmF9sg/PtuKyxvGxyO7NSFJrRKkqwkuG1Wr/8gcN3nrenqNTzKiC16kzVuKISWgXM1jqbsleQ4MyBcjq61LRwODKB8tc8vJ6PLGOs4Lrc3qeruCqF3Tzpl43680RsaRBBn1SLycwFVdB1kpHSXuk+YJQ6BS7s6rbMoyhPOpSCFHMZXC/eEb09wTzgpop0KDE/koiUsg==",
|
||||
"SigningCertUrl": "https://sns.us-west-2.amazonaws.com/SimpleNotificationService-01d088a6f77103d0fe307c0069e40ed6.pem",
|
||||
"UnsubscribeUrl": "https://sns.us-west-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-west-2:123456789012:AlertHub:63470449-620d-44ce-971f-ad9582804b13",
|
||||
"MessageAttributes": {
|
||||
"Resource": {
|
||||
"Type": "String",
|
||||
"Value": "arn:aws:rds:us-west-2:123456789012:cluster-snapshot:rds:projectdb-cluster-2023-08-15-07-03"
|
||||
},
|
||||
"EventID": {
|
||||
"Type": "String",
|
||||
"Value": "RDS-EVENT-0168"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
'''
|
||||
)
|
||||
self.send_event(event)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user