Blame test/sshiotest.sh

Packit Service 21b5d1
#!/bin/bash
Packit Service 21b5d1
# Test driver for SshIo
Packit Service 21b5d1
Packit Service 21b5d1
source ./functions.source
Packit Service 21b5d1
Packit Service 21b5d1
##
Packit Service 21b5d1
#function to test remote read access in basicio.cpp
Packit Service 21b5d1
SFTPReadTest()
Packit Service 21b5d1
{
Packit Service 21b5d1
    arg=$1
Packit Service 21b5d1
    scheme=${arg:0:4}
Packit Service 21b5d1
Packit Service 21b5d1
    src=$(basename "$arg")
Packit Service 21b5d1
    filename=${src%.*}
Packit Service 21b5d1
    test=${filename}.txt
Packit Service 21b5d1
    good=$datapath/${filename}.txt
Packit Service 21b5d1
    dot=.
Packit Service 21b5d1
    # run tests
Packit Service 21b5d1
    runTest exifprint $1 > $test
Packit Service 21b5d1
    #check results
Packit Service 21b5d1
    diffCheckAscii $test $good
Packit Service 21b5d1
Packit Service 21b5d1
    printf $dot
Packit Service 21b5d1
}
Packit Service 21b5d1
Packit Service 21b5d1
##
Packit Service 21b5d1
#function to test remote read access in basicio.cpp
Packit Service 21b5d1
SshIOTest()
Packit Service 21b5d1
{
Packit Service 21b5d1
    arg=$1
Packit Service 21b5d1
    scheme=${arg:0:4}
Packit Service 21b5d1
Packit Service 21b5d1
    src=$(basename "$arg")
Packit Service 21b5d1
    filename=${src%.*}
Packit Service 21b5d1
    test=${filename}.txt
Packit Service 21b5d1
    good=$datapath/remoteio.txt
Packit Service 21b5d1
    dot=.
Packit Service 21b5d1
Packit Service 21b5d1
    # print out the metadata
Packit Service 21b5d1
    runTest remotetest $1 > $test
Packit Service 21b5d1
Packit Service 21b5d1
    #check results
Packit Service 21b5d1
    diffCheckAscii $test $good
Packit Service 21b5d1
Packit Service 21b5d1
    printf $dot
Packit Service 21b5d1
}
Packit Service 21b5d1
Packit Service 21b5d1
(   cd "$testdir"
Packit Service 21b5d1
Packit Service 21b5d1
    # check environmental variable
Packit Service 21b5d1
    if [ -z $EXIV2_AWSUBUNTU_HOST ]; then
Packit Service 21b5d1
        echo "***" please set the environmental variable EXIV2_AWSUBUNTU_HOST "***"
Packit Service 21b5d1
        exit 1
Packit Service 21b5d1
    fi
Packit Service 21b5d1
    if [ -z $EXIV2_AWSUBUNTU_USERNAME ]; then
Packit Service 21b5d1
        echo "***" please set the environmental variable EXIV2_AWSUBUNTU_USERNAME "***"
Packit Service 21b5d1
        exit 1
Packit Service 21b5d1
    fi
Packit Service 21b5d1
    if [ -z $EXIV2_AWSUBUNTU_PASSWORD ]; then
Packit Service 21b5d1
        echo "***" please set the environmental variable EXIV2_AWSUBUNTU_PASSWORD "***"
Packit Service 21b5d1
        exit 1
Packit Service 21b5d1
    fi
Packit Service 21b5d1
Packit Service 21b5d1
    testfile="conntest.jpg"
Packit Service 21b5d1
    files+=(remoteImg{0..9}.jpg)
Packit Service 21b5d1
    iopngfiles+=(remoteio{1..5}.png)
Packit Service 21b5d1
    iojpgfiles+=(remoteio{6..10}.jpg)
Packit Service 21b5d1
    USE_SSH=$("$bin"/exiv2 -v -V | grep ^ssh= | sed s/ssh=//)
Packit Service 21b5d1
    if [ "$USE_SSH" == "0" ]; then
Packit Service 21b5d1
        #Skip remoteIo test cases
Packit Service 21b5d1
        echo 'Ssh is not used. Skip sshio test cases.'
Packit Service 21b5d1
    else
Packit Service 21b5d1
        # test connection
Packit Service 21b5d1
        printf 'sftp test connection '
Packit Service 21b5d1
        TEST_CON=$("$bin"/conntest sftp://"$EXIV2_AWSUBUNTU_USERNAME"_sftp:$EXIV2_AWSUBUNTU_PASSWORD@$EXIV2_AWSUBUNTU_HOST/var/www/$testfile)
Packit Service 21b5d1
        if [[ "$TEST_CON" == OK* ]]; then 
Packit Service 21b5d1
            # SFTP protocol
Packit Service 21b5d1
            errors=0
Packit Service 21b5d1
            printf 'OK\nSFTP READ '
Packit Service 21b5d1
            for name in ${files[@]}; do
Packit Service 21b5d1
                SFTPReadTest "sftp://"$EXIV2_AWSUBUNTU_USERNAME"_sftp:$EXIV2_AWSUBUNTU_PASSWORD@$EXIV2_AWSUBUNTU_HOST/var/www/$name"
Packit Service 21b5d1
            done
Packit Service 21b5d1
            if [ $errors -eq 0 ]; then
Packit Service 21b5d1
                printf '\nAll test cases passed\n'
Packit Service 21b5d1
            else
Packit Service 21b5d1
                echo $errors ' test cases failed!'
Packit Service 21b5d1
            fi
Packit Service 21b5d1
        else
Packit Service 21b5d1
            echo $TEST_CON
Packit Service 21b5d1
            printf "FAIL\nnot run SFTP read\n"
Packit Service 21b5d1
        fi
Packit Service 21b5d1
Packit Service 21b5d1
        # test connection
Packit Service 21b5d1
        printf 'ssh test connection '
Packit Service 21b5d1
        TEST_CON=$("$bin"/conntest ssh://$EXIV2_AWSUBUNTU_USERNAME:$EXIV2_AWSUBUNTU_PASSWORD@$EXIV2_AWSUBUNTU_HOST/sshtest/$testfile)
Packit Service 21b5d1
        if [[ "$TEST_CON" == OK* ]]; then 
Packit Service 21b5d1
            # SSH protocol
Packit Service 21b5d1
            errors=0
Packit Service 21b5d1
            printf 'OK\nSSH IO '
Packit Service 21b5d1
            for name in ${iopngfiles[@]}; do
Packit Service 21b5d1
                SshIOTest "ssh://$EXIV2_AWSUBUNTU_USERNAME:$EXIV2_AWSUBUNTU_PASSWORD@$EXIV2_AWSUBUNTU_HOST/sshtest/$name"
Packit Service 21b5d1
            done
Packit Service 21b5d1
            for name in ${iojpgfiles[@]}; do
Packit Service 21b5d1
                SshIOTest "ssh://$EXIV2_AWSUBUNTU_USERNAME:$EXIV2_AWSUBUNTU_PASSWORD@$EXIV2_AWSUBUNTU_HOST/sshtest/$name"
Packit Service 21b5d1
            done
Packit Service 21b5d1
            if [ $errors -eq 0 ]; then
Packit Service 21b5d1
                printf '\nAll test cases passed\n'
Packit Service 21b5d1
            else
Packit Service 21b5d1
                echo $errors ' test cases failed!'
Packit Service 21b5d1
            fi
Packit Service 21b5d1
        else
Packit Service 21b5d1
            echo $TEST_CON
Packit Service 21b5d1
            printf "FAIL\nnot run SSH read\n"
Packit Service 21b5d1
        fi
Packit Service 21b5d1
    fi
Packit Service 21b5d1
)
Packit Service 21b5d1
# That's all Folks!
Packit Service 21b5d1
##