def sns_topic_lookup(session, topic_name):
    """Lookup up SNS topic ARN given a topic name

    Args:
        session (Session|None) : Boto3 session used to lookup information in AWS
                                 If session is None no lookup is performed
        topic_name (string) : Name of the topic to lookup

    Returns:
        (string|None) : ARN for the topic or None if the topic could not be located
    """
    if session is None:
        return None

    client = session.client('sns')
    response = client.list_topics()
    topics_list = response['Topics']
    for topic in topics_list:
        arn_topic_name = topic["TopicArn"].split(':').pop()
        if arn_topic_name == topic_name:
            return topic["TopicArn"]
    return None