diff --git a/bugs/getTokensDeleted.sh b/bugs/getTokensDeleted.sh old mode 100644 new mode 100755 diff --git a/bugs/getTokensDeleted_01.sh b/bugs/getTokensDeleted_01.sh new file mode 100755 index 0000000..42aa9b3 --- /dev/null +++ b/bugs/getTokensDeleted_01.sh @@ -0,0 +1,66 @@ +#!/bin/bash +# Saving login token +TOKEN=$(curl -k --user "spaceti:E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0" -d '{"password":"E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0","username":"spaceti"}' -H "Content-Type: application/json" https://192.168.1.3:8443/AaaManager/authSession 2>/dev/null | python -c 'import json,sys;obj=json.load(sys.stdin);print obj["id"]') +# Saving current time and timestamp +# echo "==================================" +# echo "Saving current time ( saved_time ): $DATE / timestamp: $TIMESTAMP" +# echo "==================================" + +echo "========================" +echo "Script to show uncorrect behavior when returing deleted tokens" +echo "1. create token" +echo "2. deletet token" +echo "3. request deleted token with time after last token was deleted" +echo "------------------------" + +DATE=`date +"%Y-%m-%d %H:%M:%S"` +TIMESTAMP=`date +%s000 | cut -b1-13` + +echo "------------------------" +echo "STEPS : Create TOKEN and then deletes it" +echo "EXPECT : Token is deleted and is returned when getting deleted token with saved_time ( time before was deleted )" +echo "------------------------" +#echo "Creating test token with id = 235c4a3c-7e20-4f2a-8ed2-2fe36cc87907" +RES=$(curl -k -u "$TOKEN:" -d '{"items":[{"id":"235c4a3c-7e20-4f2a-8ed2-2fe36cc87907","name":"bug test","description":"mobile","tokenType":"Token","tokenBits":32,"tokenData":"7B9D32","timeToLive":255,"authErrors":255,"flags":["Enabled","NoValidity"],"subjectId":"72b37f7e-5761-4e6c-8e87-20c0bed0d904"}]}' -H "Content-Type: application/json" -X POST https://192.168.1.3:8443/TokenManager/setTokens 2>/dev/null ) +#echo +#echo "Deleting test token..." +RES=$(curl -k -u "$TOKEN:" -d '{"items":["235c4a3c-7e20-4f2a-8ed2-2fe36cc87907"]}' -H "Content-Type: application/json" -X POST https://192.168.1.3:8443/TokenManager/deleteTokens 2>/dev/null ) +#echo "/getTokensDeleted with time: $DATE" +#echo "Expect only one token which has been deleted" +RES=$(curl -k -u "$TOKEN:" -d "{\"timestamp\":$TIMESTAMP}" -H "Content-Type: application/json" -X POST https://192.168.1.3:8443/TokenManager/getTokensDeleted 2>/dev/null ) +echo "EXPECTED : {\"items\":[\"235c4a3c-7e20-4f2a-8ed2-2fe36cc87907\"]}" +echo "ACTUAL : $RES" +echo "------------------------" +echo "OK - expected token is returned" +echo "------------------------" +echo "" +echo "==================================" +echo "Now we wait 5 sec to ensure timestamp for deleted token is in past" +echo "==================================" +echo "" +sleep 5 +echo "------------------------" +echo "STEPS : Getting deleted tokens before 2 sec" +echo "EXPECT : no tokens ( since we have deleted token before 5 sec )" +echo "------------------------" +((TIMESTAMP=TIMESTAMP+2000)) # adding 2000 ms to saved timestamp +RES=$(curl -k -u "$TOKEN:" -d "{\"timestamp\":$TIMESTAMP}" -H "Content-Type: application/json" -X POST https://192.168.1.3:8443/TokenManager/getTokensDeleted 2>/dev/null ) +echo "EXPECTED : {"items":[]}" +echo "ACTUAL : $RES" +echo "------------------------" +echo "BUG: Token was deleted 5 seconds ago, but was returned even we requested tokens deleted 2 sec ago" +echo "------------------------" + +echo "" +echo "Another bug: future date" +echo "------------------------" +echo "STEPS : Getting deleted tokens with future date" +echo "EXPECT : no tokens" +echo "------------------------" +((TIMESTAMP=TIMESTAMP+20000)) # adding 20s to saved timestamp +RES=$(curl -k -u "$TOKEN:" -d "{\"timestamp\":$TIMESTAMP}" -H "Content-Type: application/json" -X POST https://192.168.1.3:8443/TokenManager/getTokensDeleted 2>/dev/null ) +echo "EXPECTED : {"items":[]}" +echo "ACTUAL : $RES" +echo "------------------------" +echo "BUG: Token was deleted 5 seconds ago, but was returned even we requested time in future" +echo "------------------------"