#!/bin/sh


if [ ! $# -eq 1 ] 
then
    echo "Usage: gram_client_contact_test <host:port/jobmanager:subject>"
    exit 1
fi

if [ "X${GLOBUS_INSTALL_PATH}" = "X" ] 
then
    echo "GLOBUS_INSTALL_PATH is not set. Exiting"
    exit 1
fi

ARCH=`${GLOBUS_INSTALL_PATH}/sbin/config.guess`

. ${GLOBUS_INSTALL_PATH}/etc/${ARCH}/globus-sh-commands.sh

GLOBUS_RUN="${GLOBUS_INSTALL_PATH}/tools/${ARCH}/bin/globusrun -d -r"

HOST=`echo "$1"|${GLOBUS_SH_CUT-cut} -f 1 -d ':'` 

PORT=`echo "$1"|${GLOBUS_SH_CUT-cut} -f 2 -d ':'|${GLOBUS_SH_CUT-cut} -f 1 -d '/'` 
JOBMANAGER=`echo "$1"|${GLOBUS_SH_CUT-cut} -f 2 -d ':'|${GLOBUS_SH_CUT-cut} -f 2 -d '/'` 

SUBJECT=`echo "$1"|${GLOBUS_SH_CUT-cut} -f 3 -d ':'` 

TEST_RSL='&(executable=$(GLOBUS_TOOLS_PREFIX)/bin/globus-sh-exec)'

echo "Testing -r host" 
echo ""

if `${GLOBUS_RUN} "${HOST}" "${TEST_RSL}"`
then
    echo "Test successful"
else
    echo "Test failed"
fi

echo "-----------------------------------"
echo ""
echo "Testing -r host:port"
echo ""

if `${GLOBUS_RUN} "${HOST}:${PORT}" "${TEST_RSL}"`
then
    echo "Test successful"
else
    echo "Test failed"
fi

echo "-----------------------------------"
echo ""
echo "Testing -r host:port/service"
echo ""

if `${GLOBUS_RUN} "${HOST}:${PORT}/${JOBMANAGER}" "${TEST_RSL}"`
then
    echo "Test successful"
else
    echo "Test failed"
fi

echo "-----------------------------------"
echo ""
echo "Testing -r host/service"
echo ""

if `${GLOBUS_RUN} "${HOST}/${JOBMANAGER}" "${TEST_RSL}"`
then
    echo "Test successful"
else
    echo "Test failed"
fi

echo "-----------------------------------"
echo ""
echo "Testing -r host:/service"
echo ""

if `${GLOBUS_RUN} "${HOST}:/${JOBMANAGER}" "${TEST_RSL}"`
then
    echo "Test successful"
else
    echo "Test failed"
fi

echo "-----------------------------------"
echo ""
echo "Testing -r host::subject"
echo ""

if `${GLOBUS_RUN} "${HOST}::${SUBJECT}" "${TEST_RSL}"`
then
    echo "Test successful"
else
    echo "Test failed"
fi

echo "-----------------------------------"
echo ""
echo "Testing -r host:port:subject"
echo ""

if `${GLOBUS_RUN} "${HOST}:${PORT}:${SUBJECT}" "${TEST_RSL}"`
then
    echo "Test successful"
else
    echo "Test failed"
fi

echo "-----------------------------------"
echo ""
echo "Testing -r host/service:subject"
echo ""

if `${GLOBUS_RUN} "${HOST}/${JOBMANAGER}:${SUBJECT}" "${TEST_RSL}"`
then
    echo "Test successful"
else
    echo "Test failed"
fi

echo "-----------------------------------"
echo ""
echo "Testing -r host:/service:subject"
echo ""

if `${GLOBUS_RUN} "${HOST}:/${JOBMANAGER}:${SUBJECT}" "${TEST_RSL}"`
then
    echo "Test successful"
else
    echo "Test failed"
fi

echo "-----------------------------------"
echo ""
echo "Testing -r host:port/service:subject"
echo ""

if `${GLOBUS_RUN} "${HOST}:${PORT}/${JOBMANAGER}:${SUBJECT}" "${TEST_RSL}"`
then
    echo "Test successful"
else
    echo "Test failed"
fi

