Skip to content

Commit 38c8637

Browse files
committed
tests: add tests for removing Builder instances
1 parent 2005cd1 commit 38c8637

2 files changed

Lines changed: 70 additions & 1 deletion

File tree

hooks/pre-exit

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ if [[ "${builder_remove}" == true ]]; then
3838
builder_remove_args+=("--keep-state")
3939
fi
4040

41-
echo "~~~ :docker: Cleaning up Builder Instance '${builder_name}"
41+
echo "~~~ :docker: Cleaning up Builder Instance '${builder_name}'"
4242
docker buildx stop "${builder_name}"
4343
docker buildx rm "${builder_name}" ${builder_remove_args:+${builder_remove_args[@]}}
4444
else

tests/builder-instances.bats

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,3 +116,72 @@ teardown() {
116116
assert_success
117117
assert_output "~~~ :docker: Using Builder Instance '$BUILDKITE_PLUGIN_DOCKER_COMPOSE_BUILDER_NAME'"
118118
}
119+
120+
@test "Remove Builder Instance that Exists" {
121+
export BUILDKITE_BUILD_NUMBER=111
122+
export BUILDKITE_PLUGIN_DOCKER_COMPOSE_BUILDER_USE=true
123+
export BUILDKITE_PLUGIN_DOCKER_COMPOSE_BUILDER_NAME=builder-name
124+
export BUILDKITE_PLUGIN_DOCKER_COMPOSE_BUILDER_REMOVE=true
125+
126+
stub docker \
127+
"buildx inspect builder-name : exit 0" \
128+
"buildx stop builder-name : exit 0" \
129+
"buildx rm builder-name : exit 0"
130+
131+
run "$PWD"/hooks/pre-exit
132+
133+
assert_success
134+
assert_output "~~~ :docker: Cleaning up Builder Instance 'builder-name'"
135+
}
136+
137+
@test "Remove Builder Instance that Exists with keep-daemon" {
138+
export BUILDKITE_BUILD_NUMBER=111
139+
export BUILDKITE_PLUGIN_DOCKER_COMPOSE_BUILDER_USE=true
140+
export BUILDKITE_PLUGIN_DOCKER_COMPOSE_BUILDER_NAME=builder-name
141+
export BUILDKITE_PLUGIN_DOCKER_COMPOSE_BUILDER_REMOVE=true
142+
export BUILDKITE_PLUGIN_DOCKER_COMPOSE_BUILDER_KEEP_DAEMON=true
143+
144+
stub docker \
145+
"buildx inspect builder-name : exit 0" \
146+
"buildx stop builder-name : exit 0" \
147+
"buildx rm builder-name --keep-daemon : exit 0"
148+
149+
run "$PWD"/hooks/pre-exit
150+
151+
assert_success
152+
assert_output "~~~ :docker: Cleaning up Builder Instance 'builder-name'"
153+
}
154+
155+
@test "Remove Builder Instance that Exists with keep-daemon and keep-state" {
156+
export BUILDKITE_BUILD_NUMBER=111
157+
export BUILDKITE_PLUGIN_DOCKER_COMPOSE_BUILDER_USE=true
158+
export BUILDKITE_PLUGIN_DOCKER_COMPOSE_BUILDER_NAME=builder-name
159+
export BUILDKITE_PLUGIN_DOCKER_COMPOSE_BUILDER_REMOVE=true
160+
export BUILDKITE_PLUGIN_DOCKER_COMPOSE_BUILDER_KEEP_DAEMON=true
161+
export BUILDKITE_PLUGIN_DOCKER_COMPOSE_BUILDER_KEEP_STATE=true
162+
163+
stub docker \
164+
"buildx inspect builder-name : exit 0" \
165+
"buildx stop builder-name : exit 0" \
166+
"buildx rm builder-name --keep-daemon --keep-state : exit 0"
167+
168+
run "$PWD"/hooks/pre-exit
169+
170+
assert_success
171+
assert_output "~~~ :docker: Cleaning up Builder Instance 'builder-name'"
172+
}
173+
174+
@test "Remove Builder Instance that does not Exists" {
175+
export BUILDKITE_BUILD_NUMBER=111
176+
export BUILDKITE_PLUGIN_DOCKER_COMPOSE_BUILDER_USE=true
177+
export BUILDKITE_PLUGIN_DOCKER_COMPOSE_BUILDER_NAME=builder-name
178+
export BUILDKITE_PLUGIN_DOCKER_COMPOSE_BUILDER_REMOVE=true
179+
180+
stub docker \
181+
"buildx inspect builder-name : exit 1"
182+
183+
run "$PWD"/hooks/pre-exit
184+
185+
assert_success
186+
assert_output "~~~ :docker: Cannot remove Builder Instance 'builder-name' as does not exist"
187+
}

0 commit comments

Comments
 (0)