With latest localstack image running in Docker, when publishing a message to a non-existent SNS topic no error is thrown.  This differs from AWS.
sqs_client = aws_stack.connect_to_service('sqs')
        sns_client = aws_stack.connect_to_service('sns')
        
        topic = sns_client.create_topic(Name=TEST_TOPIC_RAW_NAME)
        queue = sqs_client.create_queue(QueueName=TEST_QUEUE_RAW_NAME)
        topic_arn = topic['TopicArn']
        queue_url = queue['QueueUrl']
        queue_arn = aws_stack.sqs_queue_arn(TEST_QUEUE_RAW_NAME)
        sns_client.subscribe(
            TopicArn=topic_arn,
            Protocol='sqs',
            Endpoint=queue_arn,
            Attributes={'RawMessageDelivery': 'true'}
        )
        # f
        subscription_list = sns_client.list_subscriptions()
        subscription_arn = ''
        for subscription in subscription_list['Subscriptions']:
            if subscription['TopicArn'] == topic_arn:
                subscription_arn = subscription['SubscriptionArn']
        actual_attributes = sns_client.get_subscription_attributes(SubscriptionArn=subscription_arn)['Attributes']
        # a
        self.assertTrue(actual_attributes['RawMessageDelivery'])
        # p
        message = u'This is a test message'
        sns_client.publish(TopicArn=topic_arn, Message=message)
        msgs = sqs_client.receive_message(QueueUrl=queue_url)
        msg_received = msgs['Messages'][0]
        self.assertEqual(message, msg_received['Body'])