#include "vely.h"
request-handler /server
out-header default
manage-memory off
vely_hash *h;
get-app process-data to h
task-param op
input-param key
input-param data
if-task "add"
copy-string key to define c_key
copy-string data to define c_data
write-hash h key c_key value c_data
@Added [<<p-out key>>]
else-task "delete"
read-hash h key (key) value define val old-key define okey delete status define st
if (st == VV_ERR_EXIST) {
@Not found [<<p-out key>>]
} else {
@Deleted [<<p-out val>>]
delete-mem val
delete-mem okey
}
else-task "query"
read-hash h key (key) value define val status define st
if (st == VV_ERR_EXIST) {
@Not found, queried [<<p-out key>>]
} else {
@Value [<<p-out val>>]
}
end-task
end-request-handler
#Restart hash-server server for this test
vf -m restart hash-server
#Add 1000 key/data pairs. Key value is 0,1,2... and data values are "data_0", "data_1", "data_2" etc.
for i in {1..1000}; do
if [ "$(curl -s "http:")""Added [$i]"
echo "Error adding key [$i]"
exit -1
fi
done
echo "Keys added"
#Query all 1000 keys and check that values retrieved are the correct ones.
for i in {1..1000}; do
if [ "$(curl -s "http:")""Value [data_$i]"
echo "Error querying key [$i]"
exit -1
fi
done
echo "Keys queried"
#Delete all 1000 keys
ERR="0"
for i in {1..1000}; do
if [ "$(curl -s "http:")""Deleted [data_$i]"
echo "Error deleting key [$i]"
exit -1
fi
done
echo "Keys deleted"
#Query all 1000 keys and check that values retrieved are the correct ones.
for i in {1..1000}; do
if [ "$(curl -s "http:")""Not found, queried [$i]"
echo "Error querying key [$i] after deletion."
exit -1
fi
done
echo "Keys queried"
echo "Hash server test successful"
You are free to copy, redistribute and adapt this web page (even commercially), as long as you give credit and provide a link back to this page (dofollow) - see full license at
CC-BY-4.0. Copyright (c) 2019-2023 Dasoftver LLC. Vely and elephant logo are trademarks of Dasoftver LLC. The software and information on this web site are provided "AS IS" and without any warranties or guarantees of any kind.