|
6 | 6 |
|
7 | 7 | "github.com/deislabs/cnab-go/bundle" |
8 | 8 | "github.com/docker/app/types" |
| 9 | + "github.com/docker/app/types/parameters" |
9 | 10 | composetypes "github.com/docker/cli/cli/compose/types" |
10 | 11 | yaml "gopkg.in/yaml.v2" |
11 | 12 | "gotest.tools/assert" |
@@ -232,3 +233,31 @@ func TestServiceImageOverride(t *testing.T) { |
232 | 233 | assert.Check(t, is.Len(c.Services, 1)) |
233 | 234 | assert.Check(t, is.Equal(c.Services[0].Image, "test")) |
234 | 235 | } |
| 236 | + |
| 237 | +func TestRenderShouldMergeNonUniformParameters(t *testing.T) { |
| 238 | + metadata := strings.NewReader(validMeta) |
| 239 | + composeFile := strings.NewReader(` |
| 240 | +version: "3.6" |
| 241 | +services: |
| 242 | + any: |
| 243 | + image: none/none |
| 244 | + environment: |
| 245 | + SSH_USER: ${ssh.user} |
| 246 | +`) |
| 247 | + p := strings.NewReader(` |
| 248 | +ssh.user: FILLME |
| 249 | +`) |
| 250 | + parametersOverride := strings.NewReader(` |
| 251 | +ssh: |
| 252 | + user: sirtea |
| 253 | +`) |
| 254 | + app := &types.App{Path: "my-app"} |
| 255 | + assert.NilError(t, types.Metadata(metadata)(app)) |
| 256 | + assert.NilError(t, types.WithComposes(composeFile)(app)) |
| 257 | + assert.NilError(t, types.WithParameters(p, parametersOverride)(app)) |
| 258 | + params := app.Parameters() |
| 259 | + assert.Equal(t, len(params), 1) |
| 260 | + assert.DeepEqual(t, params, parameters.Parameters{ |
| 261 | + "ssh": map[string]interface{}{"user": "sirtea"}, |
| 262 | + }) |
| 263 | +} |
0 commit comments