mirror of
https://github.com/moul/sshportal.git
synced 2025-01-01 13:12:45 +08:00
Add basic integration tests
This commit is contained in:
parent
2261d27c94
commit
7f754e2ab9
2 changed files with 48 additions and 0 deletions
8
Makefile
8
Makefile
|
@ -8,6 +8,14 @@ VERSION ?= $(shell grep 'VERSION =' main.go | cut -d'"' -f2)
|
|||
install:
|
||||
go install -ldflags '$(LDFLAGS)' .
|
||||
|
||||
.PHONY: docker.build
|
||||
docker.build:
|
||||
docker build -t moul/sshportal .
|
||||
|
||||
.PHONY: integration
|
||||
integration:
|
||||
bash ./examples/integration/test.sh
|
||||
|
||||
.PHONY: _docker_install
|
||||
_docker_install:
|
||||
CGO_ENABLED=1 go build -ldflags '-extldflags "-static" $(LDFLAGS)' -tags netgo -v -o /go/bin/sshportal
|
||||
|
|
40
examples/integration/test.sh
Executable file
40
examples/integration/test.sh
Executable file
|
@ -0,0 +1,40 @@
|
|||
#!/bin/sh -e
|
||||
# Setup a new sshportal and performs some checks
|
||||
|
||||
PORT=${PORT:-2222}
|
||||
SSHPORTAL_DEFAULT_ADMIN_INVITE_TOKEN=integration
|
||||
|
||||
# pre cleanup
|
||||
cleanup() {
|
||||
docker rm -f -v sshportal-integration 2>/dev/null >/dev/null || true
|
||||
}
|
||||
cleanup
|
||||
|
||||
# start server
|
||||
( set -xe;
|
||||
docker run \
|
||||
-d \
|
||||
-e SSHPORTAL_DEFAULT_ADMIN_INVITE_TOKEN=${SSHPORTAL_DEFAULT_ADMIN_INVITE_TOKEN} \
|
||||
--name=sshportal-integration \
|
||||
-p${PORT}:2222 \
|
||||
moul/sshportal
|
||||
)
|
||||
sleep 3 # FIXME: replace with port checker
|
||||
|
||||
# integration suite
|
||||
xssh() {
|
||||
set -e
|
||||
echo "+ ssh {sshportal} $@"
|
||||
ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no localhost -p ${PORT} $@
|
||||
}
|
||||
xssh -l invite:integration
|
||||
xssh -l admin host create bob@example.org:1234
|
||||
xssh -l admin host inspect example
|
||||
xssh -l admin host create test42
|
||||
xssh -l admin host inspect test42
|
||||
xssh -l admin host create --name=testtest --comment=test --password=test test@test.test
|
||||
xssh -l admin host inspect testtest
|
||||
xssh -l admin host ls
|
||||
|
||||
# post cleanup
|
||||
#cleanup
|
Loading…
Reference in a new issue