Skip to content

Commit 54c185a

Browse files
Repair acceptance tests for the docker-compose-plugin package
1 parent 3938ea8 commit 54c185a

File tree

1 file changed

+18
-46
lines changed

1 file changed

+18
-46
lines changed

spec/acceptance/compose_v3_spec.rb

Lines changed: 18 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -2,38 +2,21 @@
22

33
require 'spec_helper_acceptance'
44

5-
if os[:family] == 'windows'
6-
install_dir = '/cygdrive/c/Program Files/Docker'
7-
file_extension = '.exe'
8-
docker_args = 'docker_ee => true'
9-
tmp_path = 'C:/cygwin64/tmp'
10-
test_container = if %r{2019|2022}.match?(os[:release])
11-
'nanoserver'
12-
else
13-
'nanoserver-sac2016'
14-
end
15-
else
16-
docker_args = ''
17-
install_dir = '/usr/local/bin'
18-
file_extension = ''
19-
tmp_path = '/tmp'
20-
test_container = 'debian'
21-
end
5+
tmp_path = '/tmp'
6+
test_container = 'debian'
227

23-
describe 'docker compose' do
8+
describe 'docker compose', :win_broken do
249
before(:all) do
2510
retry_on_error_matching(60, 5, %r{connection failure running}) do
2611
install_code = <<-CODE
27-
class { 'docker': #{docker_args} }
28-
class { 'docker::compose':
29-
version => '2.26.1',
30-
}
12+
class { 'docker': }
13+
class { 'docker::compose': }
3114
CODE
3215
apply_manifest(install_code, catch_failures: true)
3316
end
3417
end
3518

36-
context 'Creating compose v3 projects', :win_broken do
19+
context 'Creating compose v3 projects' do
3720
let(:install_pp) do
3821
<<-MANIFEST
3922
docker_compose { 'web':
@@ -51,15 +34,15 @@ class { 'docker::compose':
5134
end
5235

5336
it 'has docker compose installed' do
54-
run_shell('docker-compose --help', expect_failures: false)
37+
run_shell('docker compose --help', expect_failures: false)
5538
end
5639

5740
it 'finds a docker container' do
58-
run_shell('docker inspect web_compose_test_1', expect_failures: false)
41+
run_shell('docker inspect web-compose_test_1', expect_failures: false)
5942
end
6043
end
6144

62-
context 'creating compose projects with multi compose files', :win_broken do
45+
context 'creating compose projects with multi compose files' do
6346
before(:all) do
6447
install_pp = <<-MANIFEST
6548
docker_compose { 'web1':
@@ -75,11 +58,11 @@ class { 'docker::compose':
7558
end
7659

7760
it "finds container with #{test_container} tag" do
78-
run_shell("docker inspect web1_compose_test_1 | grep #{test_container}", acceptable_exit_codes: [0])
61+
run_shell("docker inspect web1-compose_test_1 | grep #{test_container}", acceptable_exit_codes: [0])
7962
end
8063
end
8164

82-
context 'Destroying project with multiple compose files', :win_broken do
65+
context 'Destroying project with multiple compose files' do
8366
let(:destroy_pp) do
8467
<<-MANIFEST
8568
docker_compose { 'web1':
@@ -105,31 +88,26 @@ class { 'docker::compose':
10588
end
10689

10790
it 'does not find a docker container' do
108-
run_shell('docker inspect web1_compose_test_1', expect_failures: true)
91+
run_shell('docker inspect web1-compose_test_1', expect_failures: true)
10992
end
11093
end
11194

11295
context 'Requesting a specific version of compose' do
11396
let(:version) do
114-
'1.21.2'
97+
'2.25.0'
11598
end
11699

117100
it 'is idempotent' do
118101
pp = <<-MANIFEST
119102
class { 'docker::compose':
120-
version => '#{version}',
103+
version => '#{version}-*',
121104
}
122105
MANIFEST
123106
idempotent_apply(pp)
124107
end
125108

126109
it 'has installed the requested version' do
127-
if os[:family] == 'redhat' && os[:release].to_i == 7
128-
run_shell('sudo mv /usr/local/bin/docker-compose /usr/bin/docker-compose')
129-
run_shell('sudo chmod +x /usr/bin/docker-compose')
130-
end
131-
command = 'docker-compose --version'
132-
command = "export PATH=/usr/local/bin:$PATH && #{command}" if os[:family] == 'redhat'
110+
command = 'docker compose version'
133111

134112
run_shell(command, expect_failures: false) do |r|
135113
expect(r.stdout).to match(%r{#{version}})
@@ -138,13 +116,9 @@ class { 'docker::compose':
138116
end
139117

140118
context 'Removing docker compose' do
141-
let(:version) do
142-
'1.21.2'
143-
end
144-
145119
after(:all) do
146120
install_pp = <<-MANIFEST
147-
class { 'docker': #{docker_args}}
121+
class { 'docker': }
148122
class { 'docker::compose': }
149123
MANIFEST
150124
apply_manifest(install_pp, catch_failures: true)
@@ -154,15 +128,13 @@ class { 'docker::compose': }
154128
pp = <<-MANIFEST
155129
class { 'docker::compose':
156130
ensure => absent,
157-
version => '#{version}',
158131
}
159132
MANIFEST
160133
idempotent_apply(pp)
161134
end
162135

163-
it 'has removed the relevant files' do
164-
run_shell("test -e \"#{install_dir}/docker-compose#{file_extension}\"", expect_failures: true)
165-
run_shell("test -e \"#{install_dir}/docker-compose-#{version}#{file_extension}\"", expect_failures: true)
136+
it 'has removed the compose plugin' do
137+
run_shell("docker compose version", expect_failures: true)
166138
end
167139
end
168140
end

0 commit comments

Comments
 (0)