37 lines
1.3 KiB
Bash
Executable File
37 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bats
|
|
load test_helper
|
|
|
|
setup() {
|
|
export ECHO_DOCKER_COMMAND="false"
|
|
dokku "$PLUGIN_COMMAND_PREFIX:create" l >&2
|
|
echo "data" > "$PLUGIN_DATA_ROOT/fake.dump.tar"
|
|
}
|
|
|
|
teardown() {
|
|
export ECHO_DOCKER_COMMAND="false"
|
|
dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" l >&2
|
|
rm -f "$PLUGIN_DATA_ROOT/fake.dump.tar"
|
|
}
|
|
|
|
@test "($PLUGIN_COMMAND_PREFIX:import) error when there are no arguments" {
|
|
run dokku "$PLUGIN_COMMAND_PREFIX:import"
|
|
assert_contains "${lines[*]}" "Please specify a name for the service"
|
|
}
|
|
|
|
@test "($PLUGIN_COMMAND_PREFIX:import) error when service does not exist" {
|
|
run dokku "$PLUGIN_COMMAND_PREFIX:import" not_existing_service
|
|
assert_contains "${lines[*]}" "service not_existing_service does not exist"
|
|
}
|
|
|
|
@test "($PLUGIN_COMMAND_PREFIX:import) error when data is not provided" {
|
|
run dokku "$PLUGIN_COMMAND_PREFIX:import" l
|
|
assert_contains "${lines[*]}" "No data provided on stdin"
|
|
}
|
|
|
|
@test "($PLUGIN_COMMAND_PREFIX:import) success" {
|
|
export ECHO_DOCKER_COMMAND="true"
|
|
run dokku "$PLUGIN_COMMAND_PREFIX:import" l < "$PLUGIN_DATA_ROOT/fake.dump.tar"
|
|
assert_output "docker exec -i dokku.mongo.l bash -c DIR=\$(mktemp -d) && tar xf - -C \"\$DIR\" && mongorestore -d l \$(find \"\$DIR\" -mindepth 1 -maxdepth 1 -type d | head -n1) && rm -rf \"\$DIR\""
|
|
}
|
|
|