aboutsummaryrefslogtreecommitdiff
path: root/fstest/testserver/init.d/TestSeafileV6
blob: e2365aa873b79e11db47d72743c2183a4f4eb015 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/usr/bin/env bash

set -e

# local variables
NAME=seafile6
SEAFILE_IP=127.0.0.1
SEAFILE_PORT=8086
SEAFILE_ADMIN_EMAIL=seafile@rclone.org
SEAFILE_ADMIN_PASSWORD=qebiwob7wafixif8sojiboj4
SEAFILE_TEST_DATA=${SEAFILE_TEST_DATA:-/tmp/seafile-test-data}
SEAFILE_VERSION=latest

. $(dirname "$0")/docker.bash

start() {
    # make sure the data directory exists
    mkdir -p ${SEAFILE_TEST_DATA}/${NAME}

    docker run --rm -d --name $NAME \
        -e SEAFILE_SERVER_HOSTNAME=${SEAFILE_IP}:${SEAFILE_PORT} \
        -e SEAFILE_ADMIN_EMAIL=${SEAFILE_ADMIN_EMAIL} \
        -e SEAFILE_ADMIN_PASSWORD=${SEAFILE_ADMIN_PASSWORD} \
        -v ${SEAFILE_TEST_DATA}/${NAME}:/shared \
        -p ${SEAFILE_IP}:${SEAFILE_PORT}:80 \
        seafileltd/seafile:${SEAFILE_VERSION}

    # it takes some time for the database to be created
    sleep 60

    # authentication token answer should be like: {"token":"dbf58423f1632b5b679a13b0929f1d0751d9250c"}
    TOKEN=`curl --silent \
        --data-urlencode username=${SEAFILE_ADMIN_EMAIL} -d password=${SEAFILE_ADMIN_PASSWORD} \
        http://${SEAFILE_IP}:${SEAFILE_PORT}/api2/auth-token/ \
        | sed 's/^{"token":"\(.*\)"}$/\1/'`

    # create default library
    curl --silent -o /dev/null -X POST -H "Authorization: Token ${TOKEN}" "http://${SEAFILE_IP}:${SEAFILE_PORT}/api2/default-repo/"

    echo _connect=${SEAFILE_IP}:${SEAFILE_PORT}
    echo type=seafile
    echo url=http://${SEAFILE_IP}:${SEAFILE_PORT}/
    echo user=${SEAFILE_ADMIN_EMAIL}
    echo pass=$(rclone obscure ${SEAFILE_ADMIN_PASSWORD})
    echo library=My Library
}

. $(dirname "$0")/run.bash