@@ -112,6 +112,38 @@ services:
112
112
assert .Contains (t , output , "CUSTOM_123456" )
113
113
}
114
114
115
+ func TestUserCanIncludeGlobalAndProjectComposeFile (t * testing.T ) {
116
+ projectPath := dockerized .GetDockerizedRoot () + "/test/project" + strconv .Itoa (rand .Int ())
117
+
118
+ context := context ().
119
+ WithTempHome ().
120
+ WithHomeEnvFile (`COMPOSE_FILE="${COMPOSE_FILE};${HOME}/docker-compose.dockerized.yml"` ).
121
+ WithHomeFile ("docker-compose.dockerized.yml" , `
122
+ version: "3"
123
+ services:
124
+ home_cmd:
125
+ image: "alpine"
126
+ entrypoint: [ "echo", "HOME123" ]
127
+ ` ).
128
+ WithDir (projectPath ).
129
+ WithCwd (projectPath ).
130
+ WithFile (projectPath + "/dockerized.env" , `COMPOSE_FILE="${COMPOSE_FILE};${DOCKERIZED_PROJECT_ROOT}/docker-compose.dockerized.yml"` ).
131
+ WithFile (projectPath + "/docker-compose.dockerized.yml" , `
132
+ version: "3"
133
+ services:
134
+ project_cmd:
135
+ image: "alpine"
136
+ entrypoint: [ "echo", "PROJECT123" ]
137
+ ` )
138
+ defer context .Restore ()
139
+ var outputProjectCmd = testDockerized (t , []string {"-v" , "project_cmd" })
140
+ assert .Contains (t , outputProjectCmd , "PROJECT123" )
141
+
142
+ var outputHomeCmd = testDockerized (t , []string {"-v" , "home_cmd" })
143
+ assert .Contains (t , outputHomeCmd , "HOME123" )
144
+
145
+ }
146
+
115
147
func (c * Context ) WithEnv (key string , value string ) * Context {
116
148
_ = os .Setenv (key , value )
117
149
return c
@@ -144,7 +176,7 @@ func (c *Context) WithCwd(path string) *Context {
144
176
}
145
177
146
178
func (c * Context ) WithHomeEnvFile (content string ) * Context {
147
- return c .WithFile ( c . homePath + "/ dockerized.env" , content )
179
+ return c .WithHomeFile ( " dockerized.env" , content )
148
180
}
149
181
150
182
func (c * Context ) WithFile (path string , content string ) * Context {
0 commit comments