# !/usr/bin/env bash

##
# NOTE: This test is designed to run in bazel!
##

set -euox pipefail

COMMAND_TO_TEST="vehicle/puffin/src/resources/scripts/get_puffin_logs.sh"


setup_test(){
    mkdir driving --parents
    source ./vehicle/puffin/src/resources/scripts/mocks.sh
}

test_successful_script() {
    mock_zcore_safe_successful
    cat(){
        echo mock cat $@; return 0;
    }

    cp(){
        echo mock cp $@; return 0;
    }

    rm(){
        echo mock rm $@; return 0;
    }

    output="$(HOME="." source ${COMMAND_TO_TEST})"
    expected="mock zcore exiting successfully
mock cp ./.log/electron/puffin.log ./log.log
mock cat ./log.log
mock rm ./log.log"

    echo "output:${output}"
    if [ "${output}" == "${expected}" ]; then
        echo " Script correctly exited normal execution."
    else
        echo " Script failed execution."
        exit 1
    fi
}

setup_test
test_successful_script

