test: write initial automatic integration tests
This commit is contained in:
parent
18dc6e9434
commit
0a765794f2
|
@ -0,0 +1,39 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
setup() {
|
||||
DIR="$( cd "$( dirname "$BATS_TEST_FILENAME" )" >/dev/null 2>&1 && pwd )"
|
||||
source "$DIR/helpers.sh"
|
||||
_setup_env
|
||||
}
|
||||
|
||||
@test "ensure abra directories created" {
|
||||
run $ABRA app ls
|
||||
|
||||
# no servers yet, so will fail. however, it will run the required code which
|
||||
# checks if it should create these base directories and that is what we want
|
||||
assert_failure
|
||||
|
||||
assert [ -d "$ABRA_TEST_DIR" ]
|
||||
assert [ -d "$ABRA_TEST_DIR/servers" ]
|
||||
assert [ -d "$ABRA_TEST_DIR/recipes" ]
|
||||
assert [ -d "$ABRA_TEST_DIR/backups" ]
|
||||
assert [ -d "$ABRA_TEST_DIR/vendor" ]
|
||||
assert [ -d "$ABRA_TEST_DIR/catalogue" ]
|
||||
}
|
||||
|
||||
@test "ensure catalogue recipe is a git repository" {
|
||||
run $ABRA app ls
|
||||
|
||||
# no servers yet, so will fail. however, it will run the required code which
|
||||
# checks if it should create these base directories and that is what we want
|
||||
assert_failure
|
||||
|
||||
assert_output --partial 'local recipe catalogue is missing'
|
||||
|
||||
assert [ -d "$ABRA_TEST_DIR/catalogue" ]
|
||||
assert [ -d "$ABRA_TEST_DIR/catalogue/.git" ]
|
||||
}
|
||||
|
||||
teardown(){
|
||||
_default_teardown
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
_build_abra() {
|
||||
if [[ ! -e "$ROOT/abra" ]]; then
|
||||
cd "$ROOT" && make build-dev
|
||||
return 0
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
_build_kadabra() {
|
||||
if [[ ! -e "$ROOT/kadabra" ]]; then
|
||||
cd "$ROOT" && make build-dev
|
||||
return 0
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
_setup_env(){
|
||||
load '/usr/lib/bats/bats-support/load'
|
||||
load '/usr/lib/bats/bats-assert/load'
|
||||
|
||||
ROOT="$DIR/../.."
|
||||
ABRA="$ROOT/abra"
|
||||
KADABRA="$ROOT/kadabra"
|
||||
|
||||
ABRA_TEST=true
|
||||
ABRA_TEST_DIR="$HOME/.abra_test"
|
||||
|
||||
_build_abra
|
||||
_build_kadabra
|
||||
}
|
||||
|
||||
_default_teardown(){
|
||||
rm -rf "$ABRA_TEST_DIR"
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
setup() {
|
||||
DIR="$( cd "$( dirname "$BATS_TEST_FILENAME" )" >/dev/null 2>&1 && pwd )"
|
||||
source "$DIR/helpers.sh"
|
||||
_setup_env
|
||||
|
||||
mkdir -p "$HOME/.abra_test/servers/example.com"
|
||||
if ! grep -R -q "example.com" "$HOME/.docker"; then
|
||||
docker context create --docker host=ssh://foo@example.com:222 example.com
|
||||
fi
|
||||
}
|
||||
|
||||
@test "create new recipe" {
|
||||
run $ABRA recipe new foobar
|
||||
assert_success
|
||||
assert_output --partial 'Your new foobar recipe has been created'
|
||||
|
||||
run $ABRA app new foobar \
|
||||
--no-input \
|
||||
--server example.com \
|
||||
--domain foobar.example.com
|
||||
assert_success
|
||||
assert_output --partial 'A new foobar app has been created!'
|
||||
}
|
||||
|
||||
teardown() {
|
||||
_default_teardown
|
||||
|
||||
if grep -R -q "example.com" "$HOME/.docker"; then
|
||||
docker context rm example.com
|
||||
fi
|
||||
}
|
Loading…
Reference in New Issue