ipld-eth-server/vendor/github.com/ipfs/go-ipfs/test/sharness/t0121-bootstrap-iptb.sh
2019-12-02 13:24:46 -06:00

88 lines
2.0 KiB
Bash
Executable File

#!/usr/bin/env bash
#
# Copyright (c) 2016 Jeromy Johnson
# MIT Licensed; see the LICENSE file in this repository.
#
# changing the bootstrap peers will require changing it in two places :)
test_description="test node bootstrapping"
. lib/test-lib.sh
test_init_ipfs
test_expect_success "disable mdns" '
ipfs config Discovery.MDNS.Enabled false --json
'
test_launch_ipfs_daemon
test_expect_success "setup iptb nodes" '
iptb testbed create -type localipfs -count 5 -force -init
'
test_expect_success "start up iptb nodes" '
iptb start -wait
'
test_expect_success "check peers works" '
ipfs swarm peers >peers_out
'
test_expect_success "correct number of peers" '
test -z "`cat peers_out`"
'
betterwait() {
while kill -0 $1; do true; done
}
test_expect_success "bring down iptb nodes" '
PID0=$(cat "$IPTB_ROOT/benches/default/0/daemon.pid") &&
PID1=$(cat "$IPTB_ROOT/benches/default/1/daemon.pid") &&
PID2=$(cat "$IPTB_ROOT/benches/default/2/daemon.pid") &&
PID3=$(cat "$IPTB_ROOT/benches/default/3/daemon.pid") &&
PID4=$(cat "$IPTB_ROOT/benches/default/4/daemon.pid") &&
iptb stop && # TODO: add --wait flag to iptb stop
betterwait $PID0
betterwait $PID1
betterwait $PID2
betterwait $PID3
betterwait $PID4
'
test_expect_success "reset iptb nodes" '
# the api doesnt seem to get cleaned up in sharness tests for some reason
iptb testbed create -type localipfs -count 5 -force -init
'
test_expect_success "set bootstrap addrs" '
bsn_peer_id=$(ipfs id -f "<id>") &&
BADDR="/ip4/127.0.0.1/tcp/$SWARM_PORT/ipfs/$bsn_peer_id" &&
ipfsi 0 bootstrap add $BADDR &&
ipfsi 1 bootstrap add $BADDR &&
ipfsi 2 bootstrap add $BADDR &&
ipfsi 3 bootstrap add $BADDR &&
ipfsi 4 bootstrap add $BADDR
'
test_expect_success "start up iptb nodes" '
iptb start -wait
'
test_expect_success "check peers works" '
ipfs swarm peers > peers_out
'
test_expect_success "correct number of peers" '
test `cat peers_out | wc -l` = 5
'
test_kill_ipfs_daemon
test_expect_success "bring down iptb nodes" '
iptb stop
'
test_done