@@ -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