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