@@ -3,7 +3,6 @@ package e2e
33import (
44 "fmt"
55 "io/ioutil"
6- "os"
76 "path/filepath"
87 "regexp"
98 "runtime"
@@ -111,49 +110,58 @@ maintainers:
111110 email: joe@joe.com
112111`
113112 envData := "# some comment\n NGINX_DRY_RUN=-t"
114- dir := fs .NewDir (t , "app_input" ,
113+ tmpDir := fs .NewDir (t , "app_input" ,
115114 fs .WithFile (internal .ComposeFileName , composeData ),
116115 fs .WithFile (".env" , envData ),
117116 )
118- defer dir .Remove ()
117+ defer tmpDir .Remove ()
119118
120119 testAppName := "app-test"
121120 dirName := internal .DirNameFromAppName (testAppName )
122- defer os .RemoveAll (dirName )
123121
124- icmd .RunCommand (dockerApp , "init" , testAppName ,
125- "-c" , dir .Join (internal .ComposeFileName ),
122+ cmd := icmd.Cmd {Dir : tmpDir .Path ()}
123+
124+ cmd .Command = []string {dockerApp ,
125+ "init" , testAppName ,
126+ "-c" , tmpDir .Join (internal .ComposeFileName ),
126127 "-d" , "my cool app" ,
127128 "-m" , "bob" ,
128- "-m" , "joe:joe@joe.com" ,
129- ).Assert (t , icmd .Success )
129+ "-m" , "joe:joe@joe.com" }
130+ icmd .RunCmd (cmd ).Assert (t , icmd .Success )
131+
130132 manifest := fs .Expected (
131133 t ,
132134 fs .WithMode (0755 ),
133135 fs .WithFile (internal .MetadataFileName , meta , fs .WithMode (0644 )), // too many variables, cheating
134136 fs .WithFile (internal .ComposeFileName , composeData , fs .WithMode (0644 )),
135137 fs .WithFile (internal .ParametersFileName , "NGINX_ARGS: FILL ME\n NGINX_DRY_RUN: -t\n " , fs .WithMode (0644 )),
136138 )
137- assert .Assert (t , fs .Equal (dirName , manifest ))
139+ assert .Assert (t , fs .Equal (tmpDir . Join ( dirName ) , manifest ))
138140
139141 // validate metadata with JSON Schema
140- icmd .RunCommand (dockerApp , "validate" , testAppName ).Assert (t , icmd .Success )
142+ cmd .Command = []string {dockerApp , "validate" , testAppName }
143+ icmd .RunCmd (cmd ).Assert (t , icmd .Success )
141144
142145 // test single-file init
143- icmd .RunCommand (dockerApp , "init" , "tac" ,
144- "-c" , dir .Join (internal .ComposeFileName ),
146+ cmd .Command = []string {dockerApp ,
147+ "init" , "tac" ,
148+ "-c" , tmpDir .Join (internal .ComposeFileName ),
145149 "-d" , "my cool app" ,
146150 "-m" , "bob" ,
147151 "-m" , "joe:joe@joe.com" ,
148152 "-s" ,
149- ).Assert (t , icmd .Success )
150- defer os .Remove ("tac.dockerapp" )
151- appData , err := ioutil .ReadFile ("tac.dockerapp" )
153+ }
154+ icmd .RunCmd (cmd ).Assert (t , icmd .Success )
155+
156+ appData , err := ioutil .ReadFile (tmpDir .Join ("tac.dockerapp" ))
152157 assert .NilError (t , err )
153158 assert .Assert (t , golden .Bytes (appData , "init-singlefile.dockerapp" ))
154159 // Check various commands work on single-file app package
155- icmd .RunCommand (dockerApp , "inspect" , "tac" ).Assert (t , icmd .Success )
156- icmd .RunCommand (dockerApp , "render" , "tac" ).Assert (t , icmd .Success )
160+ cmd .Command = []string {dockerApp , "inspect" , "tac" }
161+ icmd .RunCmd (cmd ).Assert (t , icmd .Success )
162+
163+ cmd .Command = []string {dockerApp , "render" , "tac" }
164+ icmd .RunCmd (cmd ).Assert (t , icmd .Success )
157165}
158166
159167func TestDetectApp (t * testing.T ) {
@@ -189,19 +197,32 @@ func TestDetectApp(t *testing.T) {
189197}
190198
191199func TestSplitMerge (t * testing.T ) {
192- icmd .RunCommand (dockerApp , "merge" , "testdata/render/envvariables/my.dockerapp" , "-o" , "remerged.dockerapp" ).Assert (t , icmd .Success )
193- defer os .Remove ("remerged.dockerapp" )
200+ tmpDir := fs .NewDir (t , "split_merge" )
201+ defer tmpDir .Remove ()
202+
203+ icmd .RunCommand (dockerApp , "merge" , "testdata/render/envvariables/my.dockerapp" , "-o" , tmpDir .Join ("remerged.dockerapp" )).Assert (t , icmd .Success )
204+
205+ cmd := icmd.Cmd {Dir : tmpDir .Path ()}
206+
194207 // test that inspect works on single-file
195- result := icmd .RunCommand (dockerApp , "inspect" , "remerged" ).Assert (t , icmd .Success )
208+ cmd .Command = []string {dockerApp , "inspect" , "remerged" }
209+ result := icmd .RunCmd (cmd ).Assert (t , icmd .Success )
196210 assert .Assert (t , golden .String (result .Combined (), "envvariables-inspect.golden" ))
211+
197212 // split it
198- icmd .RunCommand (dockerApp , "split" , "remerged" , "-o" , "split.dockerapp" ).Assert (t , icmd .Success )
199- defer os .RemoveAll ("split.dockerapp" )
200- result = icmd .RunCommand (dockerApp , "inspect" , "remerged" ).Assert (t , icmd .Success )
213+ cmd .Command = []string {dockerApp , "split" , "remerged" , "-o" , "split.dockerapp" }
214+ icmd .RunCmd (cmd ).Assert (t , icmd .Success )
215+
216+ cmd .Command = []string {dockerApp , "inspect" , "remerged" }
217+ result = icmd .RunCmd (cmd ).Assert (t , icmd .Success )
201218 assert .Assert (t , golden .String (result .Combined (), "envvariables-inspect.golden" ))
219+
202220 // test inplace
203- icmd .RunCommand (dockerApp , "merge" , "split" ).Assert (t , icmd .Success )
204- icmd .RunCommand (dockerApp , "split" , "split" ).Assert (t , icmd .Success )
221+ cmd .Command = []string {dockerApp , "merge" , "split" }
222+ icmd .RunCmd (cmd ).Assert (t , icmd .Success )
223+
224+ cmd .Command = []string {dockerApp , "split" , "split" }
225+ icmd .RunCmd (cmd ).Assert (t , icmd .Success )
205226}
206227
207228func TestURL (t * testing.T ) {
0 commit comments