github.com/10XDev/rclone@v1.52.3-0.20200626220027-16af9ab76b2a/fstest/testserver/init.d/TestSeafileEncrypted (about)

     1  #!/bin/bash
     2  
     3  set -e
     4  
     5  # local variables
     6  TEST_LIBRARY=Encrypted
     7  TEST_LIBRARY_PASSWORD=SecretKey
     8  
     9  # environment variables passed on docker-compose
    10  export NAME=seafile7encrypted
    11  export MYSQL_ROOT_PASSWORD=pixenij4zacoguq0kopamid6
    12  export SEAFILE_ADMIN_EMAIL=seafile@rclone.org
    13  export SEAFILE_ADMIN_PASSWORD=pixenij4zacoguq0kopamid6
    14  export SEAFILE_IP=127.0.0.1
    15  export SEAFILE_PORT=8088
    16  export SEAFILE_TEST_DATA=${SEAFILE_TEST_DATA:-/tmp/seafile-test-data}
    17  export SEAFILE_VERSION=latest
    18  
    19  # make sure the data directory exists
    20  mkdir -p ${SEAFILE_TEST_DATA}/${NAME}
    21  
    22  # docker-compose project directory
    23  COMPOSE_DIR=$(dirname "$0")/seafile
    24  
    25  start() {
    26      docker-compose --project-directory ${COMPOSE_DIR} --project-name ${NAME} --file ${COMPOSE_DIR}/docker-compose.yml up -d
    27  
    28      # it takes some time for the database to be created
    29      sleep 60
    30  
    31      # authentication token answer should be like: {"token":"dbf58423f1632b5b679a13b0929f1d0751d9250c"}
    32      TOKEN=`curl --silent \
    33          --data-urlencode username=${SEAFILE_ADMIN_EMAIL} -d password=${SEAFILE_ADMIN_PASSWORD} \
    34          http://${SEAFILE_IP}:${SEAFILE_PORT}/api2/auth-token/ \
    35          | sed 's/^{"token":"\(.*\)"}$/\1/'`
    36  
    37      # create encrypted library
    38      curl -X POST -d "name=${TEST_LIBRARY}&passwd=${TEST_LIBRARY_PASSWORD}" -H "Authorization: Token ${TOKEN}" "http://${SEAFILE_IP}:${SEAFILE_PORT}/api2/repos/"
    39  
    40      echo _connect=${SEAFILE_IP}:${SEAFILE_PORT}
    41      echo type=seafile
    42      echo url=http://${SEAFILE_IP}:${SEAFILE_PORT}/
    43      echo user=${SEAFILE_ADMIN_EMAIL}
    44      echo pass=$(rclone obscure ${SEAFILE_ADMIN_PASSWORD})
    45      echo library=${TEST_LIBRARY}
    46      echo library_key=$(rclone obscure ${TEST_LIBRARY_PASSWORD})
    47  }
    48  
    49  stop() {
    50      if status ; then
    51          docker-compose --project-directory ${COMPOSE_DIR} --project-name ${NAME} --file ${COMPOSE_DIR}/docker-compose.yml down
    52      fi
    53  }
    54  
    55  status() {
    56      if docker ps --format "{{.Names}}" | grep ^${NAME}_seafile_1$ >/dev/null ; then
    57          echo "$NAME running"
    58      else
    59          echo "$NAME not running"
    60          return 1
    61      fi
    62      return 0
    63  }
    64  
    65  . $(dirname "$0")/run.bash