add tests and prompt to unlock
This commit is contained in:
@@ -231,14 +231,34 @@ cmd-git-unlock() {
|
||||
declare desc="removes the clone folder for an app"
|
||||
local cmd="git:unlock"
|
||||
[[ "$1" == "$cmd" ]] && shift 1
|
||||
declare APP="$1"
|
||||
declare APP="$1" FLAG
|
||||
|
||||
for arg in "$@"; do
|
||||
if [[ "$arg" == "--force" ]]; then
|
||||
FLAG="--force"
|
||||
continue
|
||||
fi
|
||||
|
||||
ARGS+=("$arg")
|
||||
done
|
||||
|
||||
local APP_CLONE_ROOT="$DOKKU_LIB_ROOT/data/git/$APP"
|
||||
|
||||
if [[ -d "$APP_CLONE_ROOT" ]]; then
|
||||
dokku_log_info1 "About to delete $APP_CLONE_ROOT"
|
||||
rm -rf "$APP_CLONE_ROOT"
|
||||
dokku_log_info1 "Successfully unlocked $APP"
|
||||
if [[ "$FLAG" == "--force" ]]; then
|
||||
dokku_log_info1 "About to delete $APP_CLONE_ROOT"
|
||||
rm -rf "$APP_CLONE_ROOT"
|
||||
dokku_log_info1 "Successfully unlocked $APP"
|
||||
else
|
||||
read -rp "Are you sure that want to delete clone folder (y/n)?" choice
|
||||
case "$choice" in
|
||||
y|Y ) dokku_log_info1 "About to delete $APP_CLONE_ROOT"
|
||||
rm -rf "$APP_CLONE_ROOT"
|
||||
dokku_log_info1 "Successfully unlocked $APP";;
|
||||
n|N ) echo "no";;
|
||||
* ) echo "please answer with yes or no";;
|
||||
esac
|
||||
fi
|
||||
else
|
||||
dokku_log_info1 "No clone folder exists app already unlocked"
|
||||
fi
|
||||
|
||||
32
tests/unit/git_6.bats
Normal file
32
tests/unit/git_6.bats
Normal file
@@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env bats
|
||||
|
||||
load test_helper
|
||||
|
||||
setup() {
|
||||
global_setup
|
||||
create_app
|
||||
touch /home/dokku/.ssh/known_hosts
|
||||
chown dokku:dokku /home/dokku/.ssh/known_hosts
|
||||
touch /home/dokku/data/git/$TEST_APP
|
||||
|
||||
}
|
||||
|
||||
teardown() {
|
||||
rm -f /home/dokku/.ssh/id_rsa.pub || true
|
||||
destroy_app
|
||||
global_teardown
|
||||
}
|
||||
|
||||
@test "(git) git:unlock [succes]" {
|
||||
run /bin/bash -c "dokku git:unlock $TEST_APP --force"
|
||||
echo "output: $output"
|
||||
echo "status: $status"
|
||||
assert_success
|
||||
}
|
||||
|
||||
@test "(git) git:unlock [missing]" {
|
||||
run /bin/bash -c "dokku git:unlock
|
||||
echo "output: $output"
|
||||
echo "status: $status"
|
||||
assert_failure
|
||||
}
|
||||
Reference in New Issue
Block a user