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.
if topic_arn not in SNS_SUBSCRIPTIONS:
        SNS_SUBSCRIPTIONS[topic_arn] = []
def do_delete_topic(topic_arn):
    if topic_arn in SNS_SUBSCRIPTIONS:
        del SNS_SUBSCRIPTIONS[topic_arn]
def do_subscribe(topic_arn, endpoint, protocol, subscription_arn, attributes):
    subscription = {
        
        'TopicArn': topic_arn,
        'Endpoint': endpoint,
        'Protocol': protocol,
        'SubscriptionArn': subscription_arn,
    }
    subscription.update(attributes)
    SNS_SUBSCRIPTIONS[topic_arn].append(subscription)
def do_unsubscribe(subscription_arn):
    for topic_arn in SNS_SUBSCRIPTIONS:
        SNS_SUBSCRIPTIONS[topic_arn] = [
            sub for sub in SNS_SUBSCRIPTIONS[topic_arn]
            if sub['SubscriptionArn'] != subscription_arn
        ]
def get_topic_by_arn(topic_arn):
    if topic_arn in SNS_SUBSCRIPTIONS:
        return SNS_SUBSCRIPTIONS[topic_arn]
    else:
        return None
def get_subscription_by_arn(sub_arn):