22
33require '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
168140end
0 commit comments