def test_sns_start_scan(self): sns_stubber = Stubber(self.sns_client) s3_stubber_resource = Stubber(self.s3.meta.client) sns_arn = "some_arn" version_id = "version-id" timestamp = get_timestamp() message = { "bucket": self.s3_bucket_name, "key": self.s3_key_name, "version": version_id, AV_SCAN_START_METADATA: True, AV_TIMESTAMP_METADATA: timestamp, } publish_response = {"MessageId": "message_id"} publish_expected_params = { "TargetArn": sns_arn, "Message": json.dumps({"default": json.dumps(message)}), "MessageStructure": "json", } sns_stubber.add_response("publish", publish_response, publish_expected_params) head_object_response = {"VersionId": version_id} head_object_expected_params = { "Bucket": self.s3_bucket_name, "Key": self.s3_key_name, } s3_stubber_resource.add_response( "head_object", head_object_response, head_object_expected_params ) with sns_stubber, s3_stubber_resource: s3_obj = self.s3.Object(self.s3_bucket_name, self.s3_key_name) sns_start_scan(self.sns_client, s3_obj, sns_arn, timestamp)
def test_sns_start_scan(self): sns_stubber = Stubber(self.sns_client) s3_stubber_resource = Stubber(self.s3.meta.client) sns_arn = "some_arn" version_id = "version-id" timestamp = get_timestamp() message = { "bucket": self.s3_bucket_name, "key": self.s3_key_name, "version": version_id, AV_SCAN_START_METADATA: True, AV_TIMESTAMP_METADATA: timestamp, } publish_response = {"MessageId": "message_id"} publish_expected_params = { "TargetArn": sns_arn, "Message": json.dumps({"default": json.dumps(message)}), "MessageStructure": "json", "MessageAttributes": { "application": {"DataType": "String", "StringValue": 'doc-mgt-srvc'}, "environment": {"DataType": "String", "StringValue": 'unit-test'} }, } sns_stubber.add_response("publish", publish_response, publish_expected_params) head_object_response = { "VersionId": version_id, "Metadata": { 'sns-msg-attr-application': 'doc-mgt-srvc', 'sns-msg-attr-environment': 'unit-test' } } head_object_expected_params = { "Bucket": self.s3_bucket_name, "Key": self.s3_key_name, } s3_stubber_resource.add_response( "head_object", head_object_response, head_object_expected_params ) with sns_stubber, s3_stubber_resource: s3_obj = self.s3.Object(self.s3_bucket_name, self.s3_key_name) sns_start_scan(self.sns_client, s3_obj, sns_arn, timestamp)