2017-04-18 22:22:05 +00:00
|
|
|
# Sharness test framework for ipfs-cluster
|
|
|
|
#
|
|
|
|
# We are using sharness (https://github.com/mlafeldt/sharness)
|
|
|
|
# which was extracted from the Git test framework.
|
|
|
|
|
|
|
|
SHARNESS_LIB="lib/sharness/sharness.sh"
|
|
|
|
|
|
|
|
. "$SHARNESS_LIB" || {
|
|
|
|
echo >&2 "Cannot source: $SHARNESS_LIB"
|
|
|
|
echo >&2 "Please check Sharness installation."
|
|
|
|
exit 1
|
|
|
|
}
|
2017-04-28 18:01:48 +00:00
|
|
|
|
2017-05-02 23:34:06 +00:00
|
|
|
if [ $(command -v jq) ]; then
|
|
|
|
test_set_prereq JQ
|
|
|
|
fi
|
|
|
|
|
2017-05-02 20:32:42 +00:00
|
|
|
# Set prereqs
|
|
|
|
test_ipfs_init() {
|
|
|
|
ipfs help | egrep -q -i "^Usage" &&
|
|
|
|
IPFS_TEMP_DIR=`mktemp -d ipfs-XXXXX` && # Store in TEMP_DIR for safer delete
|
|
|
|
export IPFS_PATH=$IPFS_TEMP_DIR &&
|
|
|
|
ipfs init &&
|
|
|
|
eval 'ipfs daemon & export IPFS_D_PID=`echo $!`' && # Esoteric, but gets correct value of $!
|
|
|
|
sleep 2 &&
|
2017-05-04 22:33:12 +00:00
|
|
|
test_set_prereq IPFS
|
2017-05-02 20:32:42 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
test_cluster_init() {
|
|
|
|
ipfs-cluster-service help | egrep -q -i "^Usage" &&
|
|
|
|
CLUSTER_TEMP_DIR=`mktemp -d cluster-XXXXX` &&
|
|
|
|
ipfs-cluster-service -f --config $CLUSTER_TEMP_DIR init &&
|
|
|
|
eval 'ipfs-cluster-service --config $CLUSTER_TEMP_DIR & export CLUSTER_D_PID=`echo $!`' &&
|
|
|
|
sleep 2 &&
|
2017-05-04 22:33:12 +00:00
|
|
|
test_set_prereq CLUSTER
|
2017-05-02 20:32:42 +00:00
|
|
|
}
|
|
|
|
|
2017-05-02 23:34:06 +00:00
|
|
|
test_cluster_config() {
|
|
|
|
CLUSTER_CONFIG_PATH=$CLUSTER_TEMP_DIR"/service.json" &&
|
|
|
|
CLUSTER_CONFIG_ID=`jq --raw-output ".id" $CLUSTER_CONFIG_PATH` &&
|
|
|
|
CLUSTER_CONFIG_PK=`jq --raw-output ".private_key" $CLUSTER_CONFIG_PATH` &&
|
|
|
|
[ $CLUSTER_CONFIG_ID != null ] &&
|
|
|
|
[ $CLUSTER_CONFIG_PK != null ]
|
|
|
|
}
|
2017-05-02 20:32:42 +00:00
|
|
|
|
|
|
|
# Cleanup functions
|
|
|
|
test_clean_ipfs(){
|
|
|
|
kill -1 $IPFS_D_PID &&
|
|
|
|
rm -rf $IPFS_TEMP_DIR # Remove temp_dir not path in case this is called before init
|
|
|
|
}
|
|
|
|
|
|
|
|
test_clean_cluster(){
|
|
|
|
kill -1 $CLUSTER_D_PID &&
|
|
|
|
rm -rf $CLUSTER_TEMP_DIR
|
|
|
|
}
|