if [ -e$BATS_TMPDIR/not-started ];then skip 'not started';fi
# reduce data in SIS database so imports will take reasonable time
docker exec complex_sources_1 mysql sis -e "delete from SIS_COURSES where uid not in ('amorrison', 'banderson', 'cmorrison', 'danderson', 'ddavis', 'jsmith', 'kwhite', 'mroberts', 'whenderson', 'wprice')"
docker exec complex_sources_1 mysql sis -e "delete from SIS_AFFILIATIONS where uid not in ('amorrison', 'banderson', 'cmorrison', 'danderson', 'ddavis', 'jsmith', 'kwhite', 'mroberts', 'whenderson', 'wprice')"
docker exec complex_sources_1 mysql sis -e "delete from SIS_PERSONS where uid not in ('amorrison', 'banderson', 'cmorrison', 'danderson', 'ddavis', 'jsmith', 'kwhite', 'mroberts', 'whenderson', 'wprice')"
local STATUS=$(xmllint --xpath "/*/*/*[local-name()='status']/text()"$TMPFILE)|| (echo "Couldn't extract status from file:"; cat $TMPFILE; rm $TMPFILE;return 1)
local STATUS=$(xmllint --xpath "/*/*/*[local-name()='status']/text()"$TMPFILE)|| (echo "Couldn't extract status from file:"; cat $TMPFILE; rm $TMPFILE;return 1)
if [ $STATUS="success" ];then
local CONSOLE_OUTPUT=$(xmllint --xpath "/*/*/*[local-name()='consoleOutput']/text()"$TMPFILE)|| (echo "Couldn't extract console output from file:"; cat $TMPFILE; rm $TMPFILE;return 1)
echo"Console output: $CONSOLE_OUTPUT"
@@ -188,7 +190,7 @@ function delete_object_by_name () {
local NAME=$2
search_objects_by_name users $NAME
local OID=$(xmllint --xpath "/*/*[local-name()='object']/@oid"$SEARCH_RESULT_FILE| awk -F"\""'{print $2}')|| (echo "Couldn't extract oid from file:"; cat $SEARCH_RESULT_FILE; rm $SEARCH_RESULT_FILE;return 1)
delete_object $TYPE$OID
delete_object $TYPE$OID
}
functiondelete_object () {
@@ -202,7 +204,6 @@ function delete_object () {
sed -i '$ d'$TMPFILE
if [ "$HTTP_CODE"-eq 204 ];then
echo"Object with type $TYPE and oid $OID was deleted"
rm $TMPFILE
return 0
@@ -219,8 +220,6 @@ function delete_object () {
fi
}
# Tries to find an object with a given name
# Results of the search are in the $SEARCH_RESULT_FILE
# TODO check if the result is valid (i.e. not an error) - return 1 if invalid, otherwise return 0 ("no objects" is considered OK here)
@@ -241,7 +240,7 @@ function search_objects_by_name () {
EOF
local HTTP_CODE=$(sed '$!d'<<<"$(cat $TMPFILE)")
sed -i '$ d'$TMPFILE
cat $TMPFILE
cat $TMPFILE
if [ "$HTTP_CODE"-eq 200 ];then
SEARCH_RESULT_FILE=$TMPFILE
@@ -297,15 +296,15 @@ function test_resource () {
functionassert_task_success () {
local OID=$1
get_object tasks $OID
TASK_STATUS=$(xmllint --xpath "/*/*[local-name()='resultStatus']/text()"$TMPFILE)|| (echo "Couldn't extract task status from task $OID"; cat $TMPFILE; rm $TMPFILE;return 1)
TASK_STATUS=$(xmllint --xpath "/*/*[local-name()='resultStatus']/text()"$OUTFILE)|| (echo "Couldn't extract task status from task $OID"; cat $OUTFILE; rm $OUTFILE;return 1)
if [[ $TASK_STATUS="success" ]];then
echo"Task $OID status is OK"
rm $TMPFILE
rm $OUTFILE
return 0
else
echo"Task $OID status is not OK: $TASK_STATUS"
cat $TMPFILE
rm $TMPFILE
cat $OUTFILE
rm $OUTFILE
return 1
fi
}
@@ -321,14 +320,14 @@ function wait_for_task_completion () {
echo"Waiting $DELAY seconds for task with oid $OID to finish (attempt $ATTEMPT) ..."
sleep $DELAY
get_object tasks $OID
TASK_EXECUTION_STATUS=$(xmllint --xpath "/*/*[local-name()='executionStatus']/text()"$TMPFILE)|| (echo "Couldn't extract task status from task $OID"; cat $TMPFILE; rm $TMPFILE;return 1)
TASK_EXECUTION_STATUS=$(xmllint --xpath "/*/*[local-name()='executionStatus']/text()"$OUTFILE)|| (echo "Couldn't extract task status from task $OID"; cat $OUTFILE; rm $OUTFILE;return 1)
if [[ $TASK_EXECUTION_STATUS="suspended" ]] || [[ $TASK_EXECUTION_STATUS="closed" ]];then
echo"Task $OID is finished"
rm $TMPFILE
rm $OUTFILE
return 0
fi
done
rm $TMPFILE
rm $OUTFILE
echo Task with $OID did not finish in$(($MAX_ATTEMPTS*$DELAY)) seconds
return 1
}
@@ -342,7 +341,7 @@ function search_ldap_object_by_filter () {