#!/bin/bash

source /var/onap_tests/_test_base
source /var/onap/mr

covered_functions=(
"clone_mr_repos" "get_mr_images" "install_message_router"
)

# test_clone_mr_repos() - Verify that Message Router repositories are cloned properly
function test_clone_mr_repos {
    clone_repo dcae/demo/startup/message-router $mr_src_folder

    asserts_file_exist $mr_src_folder/deploy.sh
}

# test_get_mr_images() - Verify that Message Router Docker images are retrieved
function test_get_mr_images {
    get_mr_images

    asserts_image attos/dmaap
    asserts_image wurstmeister/zookeeper
}

# test_install_message_router() - Verify the built and start of Message Router services
function test_install_message_router {
    clone_repo dcae/demo/startup/message-router $mr_src_folder
    get_mr_images
    install_message_router

    asserts_image_running dockerfiles_kafka
}

if [ "$1" != '*' ]; then
    unset covered_functions
    covered_functions=$1
fi
main "${covered_functions[@]}"
