diff --git a/app.py b/app.py index 1738ec7..2ca14b5 100644 --- a/app.py +++ b/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!") diff --git a/tests/test_aws-lambda-rie.py b/tests/test_aws-lambda-rie.py index ca1a1fb..5b98016 100755 --- a/tests/test_aws-lambda-rie.py +++ b/tests/test_aws-lambda-rie.py @@ -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)