tests: check that the ref has been updated to the correct value

This commit is contained in:
Jose Diaz-Gonzalez
2024-03-14 05:28:37 -04:00
parent 4de97a1094
commit 58772984cd
2 changed files with 208 additions and 12 deletions

View File

@@ -211,7 +211,6 @@ cmd-git-sync() {
DOKKU_DEPLOY_BRANCH="$(fn-git-deploy-branch "$APP")"
CURRENT_REF="$(fn-git-cmd "$APP_ROOT" rev-parse "$DOKKU_DEPLOY_BRANCH" 2>/dev/null || true)"
dokku_log_verbose "Current ref for $APP is $CURRENT_REF"
if [[ "$(fn-git-cmd "$APP_ROOT" count-objects)" == "0 objects, 0 kilobytes" ]]; then
dokku_log_info1_quiet "Cloning $APP from $GIT_REMOTE#$GIT_REF"
@@ -221,8 +220,6 @@ cmd-git-sync() {
fi
UPDATED_REF="$(fn-git-cmd "$APP_ROOT" rev-parse "$DOKKU_DEPLOY_BRANCH" 2>/dev/null || true)"
dokku_log_verbose "Updated ref for $APP is $UPDATED_REF"
local SHOULD_BUILD=false
if [[ "$FLAG" == "--build" ]]; then
SHOULD_BUILD=true

View File

@@ -2,6 +2,12 @@
load test_helper
SMOKE_TEST_APP_1_0_0_SHA=9cf71bba639c4f1671dfd42685338b762d3354f2
SMOKE_TEST_APP_2_0_0_SHA=5c8a5e42bbd7fae98bd657fb17f41c6019b303f9
SMOKE_TEST_APP_ANOTHER_BRANCH_SHA=5c8a5e42bbd7fae98bd657fb17f41c6019b303f9
SMOKE_TEST_APP_MASTER_SHA=af1b02052199b8ca8115f80ff8676a7c7744a45f
SMOKE_TEST_APP_COMMIT_SHA=5c8a5e42bbd7fae98bd657fb17f41c6019b303f9
setup() {
global_setup
create_app
@@ -121,6 +127,12 @@ teardown() {
echo "output: $output"
echo "status: $status"
assert_success
run /bin/bash -c "cat /home/dokku/$TEST_APP/refs/heads/master"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "$SMOKE_TEST_APP_MASTER_SHA"
}
@test "(git) git:sync new [--no-build branch]" {
@@ -128,6 +140,12 @@ teardown() {
echo "output: $output"
echo "status: $status"
assert_success
run /bin/bash -c "cat /home/dokku/$TEST_APP/refs/heads/another-branch"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "$SMOKE_TEST_APP_ANOTHER_BRANCH_SHA"
}
@test "(git) git:sync new [--no-build tag]" {
@@ -135,27 +153,51 @@ teardown() {
echo "output: $output"
echo "status: $status"
assert_success
}
@test "(git) git:sync new [--no-build commit]" {
run /bin/bash -c "dokku git:sync $TEST_APP https://github.com/dokku/smoke-test-app.git 5c8a5e42bbd7fae98bd657fb17f41c6019b303f9"
run /bin/bash -c "cat /home/dokku/$TEST_APP/refs/heads/master"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "$SMOKE_TEST_APP_1_0_0_SHA"
}
@test "(git) git:sync new [--build noarg] 7" {
@test "(git) git:sync new [--no-build commit]" {
run /bin/bash -c "dokku git:sync $TEST_APP https://github.com/dokku/smoke-test-app.git $SMOKE_TEST_APP_COMMIT_SHA"
echo "output: $output"
echo "status: $status"
assert_success
run /bin/bash -c "cat /home/dokku/$TEST_APP/refs/heads/master"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "$SMOKE_TEST_APP_COMMIT_SHA"
}
@test "(git) git:sync new [--build noarg]" {
run /bin/bash -c "dokku git:sync --build $TEST_APP https://github.com/dokku/smoke-test-app.git"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "Application deployed"
run /bin/bash -c "cat /home/dokku/$TEST_APP/refs/heads/master"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "$SMOKE_TEST_APP_MASTER_SHA"
run /bin/bash -c "dokku git:sync --build-if-changes $TEST_APP https://github.com/dokku/smoke-test-app.git"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "Skipping build as no changes were detected"
run /bin/bash -c "cat /home/dokku/$TEST_APP/refs/heads/master"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "$SMOKE_TEST_APP_MASTER_SHA"
}
@test "(git) git:sync new [--build branch]" {
@@ -165,11 +207,23 @@ teardown() {
assert_success
assert_output_contains "Application deployed"
run /bin/bash -c "cat /home/dokku/$TEST_APP/refs/heads/another-branch"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "$SMOKE_TEST_APP_ANOTHER_BRANCH_SHA"
run /bin/bash -c "dokku git:sync --build-if-changes $TEST_APP https://github.com/dokku/smoke-test-app.git another-branch"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "Skipping build as no changes were detected"
run /bin/bash -c "cat /home/dokku/$TEST_APP/refs/heads/another-branch"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "$SMOKE_TEST_APP_ANOTHER_BRANCH_SHA"
}
@test "(git) git:sync new [--build tag]" {
@@ -179,25 +233,49 @@ teardown() {
assert_success
assert_output_contains "Application deployed"
run /bin/bash -c "cat /home/dokku/$TEST_APP/refs/heads/master"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "$SMOKE_TEST_APP_1_0_0_SHA"
run /bin/bash -c "dokku git:sync --build-if-changes $TEST_APP https://github.com/dokku/smoke-test-app.git 1.0.0"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "Skipping build as no changes were detected"
run /bin/bash -c "cat /home/dokku/$TEST_APP/refs/heads/master"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "$SMOKE_TEST_APP_1_0_0_SHA"
}
@test "(git) git:sync new [--build commit]" {
run /bin/bash -c "dokku git:sync --build $TEST_APP https://github.com/dokku/smoke-test-app.git 5c8a5e42bbd7fae98bd657fb17f41c6019b303f9"
run /bin/bash -c "dokku git:sync --build $TEST_APP https://github.com/dokku/smoke-test-app.git $SMOKE_TEST_APP_COMMIT_SHA"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "Application deployed"
run /bin/bash -c "dokku git:sync --build-if-changes $TEST_APP https://github.com/dokku/smoke-test-app.git 5c8a5e42bbd7fae98bd657fb17f41c6019b303f9"
run /bin/bash -c "cat /home/dokku/$TEST_APP/refs/heads/master"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "$SMOKE_TEST_APP_COMMIT_SHA"
run /bin/bash -c "dokku git:sync --build-if-changes $TEST_APP https://github.com/dokku/smoke-test-app.git $SMOKE_TEST_APP_COMMIT_SHA"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "Skipping build as no changes were detected"
run /bin/bash -c "cat /home/dokku/$TEST_APP/refs/heads/master"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "$SMOKE_TEST_APP_COMMIT_SHA"
}
@test "(git) git:sync existing [errors]" {
@@ -233,10 +311,22 @@ teardown() {
echo "status: $status"
assert_success
run /bin/bash -c "cat /home/dokku/$TEST_APP/refs/heads/master"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "$SMOKE_TEST_APP_1_0_0_SHA"
run /bin/bash -c "dokku --trace git:sync $TEST_APP https://github.com/dokku/smoke-test-app.git"
echo "output: $output"
echo "status: $status"
assert_success
run /bin/bash -c "cat /home/dokku/$TEST_APP/refs/heads/master"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "$SMOKE_TEST_APP_MASTER_SHA"
}
@test "(git) git:sync existing [--no-build branch]" {
@@ -245,10 +335,22 @@ teardown() {
echo "status: $status"
assert_success
run /bin/bash -c "cat /home/dokku/$TEST_APP/refs/heads/master"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "$SMOKE_TEST_APP_1_0_0_SHA"
run /bin/bash -c "dokku git:sync $TEST_APP https://github.com/dokku/smoke-test-app.git another-branch"
echo "output: $output"
echo "status: $status"
assert_success
run /bin/bash -c "cat /home/dokku/$TEST_APP/refs/heads/another-branch"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "$SMOKE_TEST_APP_ANOTHER_BRANCH_SHA"
}
@test "(git) git:sync existing [--no-build tag]" {
@@ -257,10 +359,22 @@ teardown() {
echo "status: $status"
assert_success
run /bin/bash -c "cat /home/dokku/$TEST_APP/refs/heads/master"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "$SMOKE_TEST_APP_1_0_0_SHA"
run /bin/bash -c "dokku git:sync $TEST_APP https://github.com/dokku/smoke-test-app.git 2.0.0"
echo "output: $output"
echo "status: $status"
assert_success
run /bin/bash -c "cat /home/dokku/$TEST_APP/refs/heads/master"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "$SMOKE_TEST_APP_2_0_0_SHA"
}
@test "(git) git:sync existing [--no-build commit]" {
@@ -269,10 +383,23 @@ teardown() {
echo "status: $status"
assert_success
run /bin/bash -c "dokku git:sync $TEST_APP https://github.com/dokku/smoke-test-app.git 5c8a5e42bbd7fae98bd657fb17f41c6019b303f9"
run /bin/bash -c "cat /home/dokku/$TEST_APP/refs/heads/master"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "$SMOKE_TEST_APP_1_0_0_SHA"
run /bin/bash -c "dokku git:sync $TEST_APP https://github.com/dokku/smoke-test-app.git $SMOKE_TEST_APP_COMMIT_SHA"
echo "output: $output"
echo "status: $status"
assert_success
run /bin/bash -c "cat /home/dokku/$TEST_APP/refs/heads/master"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "$SMOKE_TEST_APP_COMMIT_SHA"
}
@test "(git) git:sync existing [--build noarg]" {
@@ -281,17 +408,35 @@ teardown() {
echo "status: $status"
assert_success
run /bin/bash -c "cat /home/dokku/$TEST_APP/refs/heads/master"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "$SMOKE_TEST_APP_1_0_0_SHA"
run /bin/bash -c "dokku git:sync --build $TEST_APP https://github.com/dokku/smoke-test-app.git"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "Application deployed"
run /bin/bash -c "cat /home/dokku/$TEST_APP/refs/heads/master"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "$SMOKE_TEST_APP_MASTER_SHA"
run /bin/bash -c "dokku git:sync --build-if-changes $TEST_APP https://github.com/dokku/smoke-test-app.git"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "Skipping build as no changes were detected"
run /bin/bash -c "cat /home/dokku/$TEST_APP/refs/heads/master"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "$SMOKE_TEST_APP_MASTER_SHA"
}
@test "(git) git:sync existing [--build branch]" {
@@ -300,17 +445,35 @@ teardown() {
echo "status: $status"
assert_success
run /bin/bash -c "cat /home/dokku/$TEST_APP/refs/heads/master"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "$SMOKE_TEST_APP_2_0_0_SHA"
run /bin/bash -c "dokku git:sync --build $TEST_APP https://github.com/dokku/smoke-test-app.git another-branch"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "Application deployed"
run /bin/bash -c "cat /home/dokku/$TEST_APP/refs/heads/master"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "$SMOKE_TEST_APP_ANOTHER_BRANCH_SHA"
run /bin/bash -c "dokku git:sync --build-if-changes $TEST_APP https://github.com/dokku/smoke-test-app.git another-branch"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "Skipping build as no changes were detected"
run /bin/bash -c "cat /home/dokku/$TEST_APP/refs/heads/master"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "$SMOKE_TEST_APP_ANOTHER_BRANCH_SHA"
}
@test "(git) git:sync existing [--build tag]" {
@@ -319,17 +482,35 @@ teardown() {
echo "status: $status"
assert_success
run /bin/bash -c "cat /home/dokku/$TEST_APP/refs/heads/master"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "$SMOKE_TEST_APP_1_0_0_SHA"
run /bin/bash -c "dokku git:sync --build $TEST_APP https://github.com/dokku/smoke-test-app.git 2.0.0"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "Application deployed"
run /bin/bash -c "cat /home/dokku/$TEST_APP/refs/heads/master"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "$SMOKE_TEST_APP_2_0_0_SHA"
run /bin/bash -c "dokku git:sync --build-if-changes $TEST_APP https://github.com/dokku/smoke-test-app.git 2.0.0"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "Skipping build as no changes were detected"
run /bin/bash -c "cat /home/dokku/$TEST_APP/refs/heads/master"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "$SMOKE_TEST_APP_2_0_0_SHA"
}
@test "(git) git:sync existing [--build commit]" {
@@ -338,17 +519,35 @@ teardown() {
echo "status: $status"
assert_success
run /bin/bash -c "dokku git:sync --build $TEST_APP https://github.com/dokku/smoke-test-app.git 5c8a5e42bbd7fae98bd657fb17f41c6019b303f9"
run /bin/bash -c "cat /home/dokku/$TEST_APP/refs/heads/master"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "$SMOKE_TEST_APP_1_0_0_SHA"
run /bin/bash -c "dokku git:sync --build $TEST_APP https://github.com/dokku/smoke-test-app.git $SMOKE_TEST_APP_COMMIT_SHA"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "Application deployed"
run /bin/bash -c "dokku git:sync --build-if-changes $TEST_APP https://github.com/dokku/smoke-test-app.git 5c8a5e42bbd7fae98bd657fb17f41c6019b303f9"
run /bin/bash -c "cat /home/dokku/$TEST_APP/refs/heads/master"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "$SMOKE_TEST_APP_COMMIT_SHA"
run /bin/bash -c "dokku git:sync --build-if-changes $TEST_APP https://github.com/dokku/smoke-test-app.git $SMOKE_TEST_APP_COMMIT_SHA"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "Skipping build as no changes were detected"
run /bin/bash -c "cat /home/dokku/$TEST_APP/refs/heads/master"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "$SMOKE_TEST_APP_COMMIT_SHA"
}
@test "(git) git:sync private" {