Add export, import and clone commands

This commit is contained in:
Loïc Guitaut
2015-09-13 23:32:05 +02:00
parent 126ce8f8f7
commit 57e4b08158
5 changed files with 139 additions and 11 deletions

42
tests/redis_clone.bats Executable file
View File

@@ -0,0 +1,42 @@
#!/usr/bin/env bats
load test_helper
setup() {
export ECHO_DOCKER_COMMAND="false"
dokku "$PLUGIN_COMMAND_PREFIX:create" l >&2
}
teardown() {
export ECHO_DOCKER_COMMAND="false"
dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" l >&2
}
@test "($PLUGIN_COMMAND_PREFIX:clone) error when there are no arguments" {
run dokku "$PLUGIN_COMMAND_PREFIX:clone"
assert_contains "${lines[*]}" "Please specify a name for the service"
}
@test "($PLUGIN_COMMAND_PREFIX:clone) error when service does not exist" {
run dokku "$PLUGIN_COMMAND_PREFIX:clone" not_existing_service new_service
assert_contains "${lines[*]}" "service not_existing_service does not exist"
}
@test "($PLUGIN_COMMAND_PREFIX:clone) error when new service isn't provided" {
run dokku "$PLUGIN_COMMAND_PREFIX:clone" l
assert_contains "${lines[*]}" "Please specify a name for the new service"
}
@test "($PLUGIN_COMMAND_PREFIX:clone) error when new service already exists" {
dokku "$PLUGIN_COMMAND_PREFIX:create" new_service
run dokku "$PLUGIN_COMMAND_PREFIX:clone" l new_service
assert_contains "${lines[*]}" "service new_service already exists"
dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" new_service
}
@test "($PLUGIN_COMMAND_PREFIX:clone) success" {
run dokku "$PLUGIN_COMMAND_PREFIX:clone" l new_service
[[ -f $PLUGIN_DATA_ROOT/new_service/ID ]]
assert_contains "${lines[*]}" "Copying data from l to new_service"
assert_contains "${lines[*]}" "Done"
}

29
tests/redis_export.bats Executable file
View File

@@ -0,0 +1,29 @@
#!/usr/bin/env bats
load test_helper
setup() {
export ECHO_DOCKER_COMMAND="false"
dokku "$PLUGIN_COMMAND_PREFIX:create" l >&2
}
teardown() {
export ECHO_DOCKER_COMMAND="false"
dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" l >&2
}
@test "($PLUGIN_COMMAND_PREFIX:export) error when there are no arguments" {
run dokku "$PLUGIN_COMMAND_PREFIX:export"
assert_contains "${lines[*]}" "Please specify a name for the service"
}
@test "($PLUGIN_COMMAND_PREFIX:export) error when service does not exist" {
run dokku "$PLUGIN_COMMAND_PREFIX:export" not_existing_service
assert_contains "${lines[*]}" "service not_existing_service does not exist"
}
@test "($PLUGIN_COMMAND_PREFIX:export) success" {
export ECHO_DOCKER_COMMAND="true"
run dokku "$PLUGIN_COMMAND_PREFIX:export" l
assert_output "docker exec dokku.redis.l cat /data/dump.rdb"
}

36
tests/redis_import.bats Executable file
View File

@@ -0,0 +1,36 @@
#!/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.rdb"
}
teardown() {
export ECHO_DOCKER_COMMAND="false"
dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" l >&2
rm -f "$PLUGIN_DATA_ROOT/fake.rdb"
}
@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.rdb"
assert_output "docker run --rm -i -v $PLUGIN_DATA_ROOT/l/data:/data redis:3.0.3 bash -c cat > /data/dump.rdb && chown redis: /data/dump.rdb"
}