github.com/extrame/fabric-ca@v2.0.0-alpha+incompatible/scripts/fvt/roundrobin_test.sh (about) 1 #!/bin/bash 2 # 3 # Copyright IBM Corp. All Rights Reserved. 4 # 5 # SPDX-License-Identifier: Apache-2.0 6 # 7 8 FABRIC_CA="$GOPATH/src/github.com/hyperledger/fabric-ca" 9 SCRIPTDIR="$FABRIC_CA/scripts/fvt" 10 . $SCRIPTDIR/fabric-ca_utils 11 HOST="127.0.0.1:10888" 12 RC=0 13 HTTP_PORT="3755" 14 CA_CFG_PATH="/tmp/fabric-ca/roundrobin" 15 NUM_SERVERS=4 16 USER_SERVER_RATIO=8 17 for u in $(eval echo {1..$((NUM_SERVERS*USER_SERVER_RATIO-1))}); do 18 USERS[u]="user$u" 19 done 20 NUM_USERS=${#USERS[*]} 21 EXPECTED_DISTRIBUTION=$(((NUM_USERS+1)*2/$NUM_SERVERS)) 22 export CA_CFG_PATH 23 24 cd $TESTDATA 25 python -m SimpleHTTPServer $HTTP_PORT & 26 HTTP_PID=$! 27 pollSimpleHttp 28 echo $HTTP_PID 29 trap "kill $HTTP_PID; CleanUp 1; exit 1" INT 30 31 for driver in sqlite3 mysql postgres ; do 32 $SCRIPTDIR/fabric-ca_setup.sh -R -x $CA_CFG_PATH 33 $SCRIPTDIR/fabric-ca_setup.sh -I -S -X -n $NUM_SERVERS -t rsa -l 2048 -d $driver 34 test $? -ne 0 && ErrorExit "Failed to setup server" 35 $SCRIPTDIR/registerAndEnroll.sh -u "${USERS[*]}" 36 test $? -ne 0 && ErrorMsg "registerAndEnroll failed" 37 reenroll admin 38 if ! $(${FABRIC_TLS:-false}); then 39 nums=$((NUM_SERVERS-1)) 40 for s in $(eval echo {0..$nums}); do 41 curl -s http://$HOST/ | 42 awk -v s="server${s}\"" '$0~s'| 43 html2text | 44 egrep "HTTP|server${s}" 45 verifyServerTraffic $HOST server${s} $EXPECTED_DISTRIBUTION 46 test $? -ne 0 && ErrorMsg "verifyServerTraffic failed" 47 done 48 fi 49 $SCRIPTDIR/fabric-ca_setup.sh -L 50 done 51 $SCRIPTDIR/fabric-ca_setup.sh -R -x $CA_CFG_PATH 52 kill $HTTP_PID 53 wait $HTTP_PID 54 CleanUp $RC 55 exit $RC