def test_message_is_valid(self): message = DeploymentResponse( 'status', 'message', 'stack_name', 'timestamp', 'emitter') message_json = json.dumps(message) sqs_send_message(['123'], message) self.mock_aws_sqs.send_message.assert_called_once_with( QueueUrl='123', MessageBody=message_json, DelaySeconds=0)
def notify(self, status, message): if self.output_topics is None: return timestamp_str = datetime.datetime.now(tz=tz.tzutc()).isoformat() result_message = DeploymentResponse( status, message, self.stack_name, timestamp_str, DeploymentResponse.EMITTER_CRASSUS) sqs_send_message(self.output_topics, result_message)
def convert(self): queue_url_list = get_lambda_config_property( self.context, 'result_queue') for event_item in self.event['Records']: sns_message = event_item.get('Sns', {}).get('Message') if sns_message is None: logger.warning( 'No \'Sns\' or \'Message\' in received event: {0}' .format(event_item)) continue message = self._parse_sns_message(sns_message) deployment_response = DeploymentResponse( message['ResourceStatus'], message['ResourceStatusReason'], message['StackName'], message['Timestamp'], DeploymentResponse.EMITTER_CFN) deployment_response['resourceType'] = message['ResourceType'] sqs_send_message(queue_url_list, deployment_response)
def test_message_is_not_valid_type(self): sqs_send_message(['123'], 'invalid message') self.assertEqual(self.mock_logger.error.call_count, 1)