|
17 | 17 | package e2e |
18 | 18 |
|
19 | 19 | import ( |
| 20 | + "fmt" |
20 | 21 | "strings" |
21 | 22 | "testing" |
22 | 23 |
|
@@ -173,3 +174,43 @@ FOO=bar`), out) |
173 | 174 | assert.Assert(t, strings.Contains(output, "Private Key\n\"\": -----BEGIN DSA PRIVATE KEY-----\nwxyz+ABC=\n-----END DSA PRIVATE KEY-----"), output) |
174 | 175 | }) |
175 | 176 | } |
| 177 | + |
| 178 | +func TestPublish(t *testing.T) { |
| 179 | + c := NewParallelCLI(t) |
| 180 | + const projectName = "compose-e2e-publish" |
| 181 | + const registryName = projectName + "-registry" |
| 182 | + c.RunDockerCmd(t, "run", "--name", registryName, "-P", "-d", "registry:3") |
| 183 | + port := c.RunDockerCmd(t, "inspect", "--format", `{{ (index (index .NetworkSettings.Ports "5000/tcp") 0).HostPort }}`, registryName).Stdout() |
| 184 | + registry := "localhost:" + strings.TrimSpace(port) |
| 185 | + t.Cleanup(func() { |
| 186 | + c.RunDockerCmd(t, "rm", "--force", registryName) |
| 187 | + }) |
| 188 | + |
| 189 | + cmd := c.NewDockerComposeCmd(t, "-f", "./fixtures/publish/oci/compose.yaml", "-f", "./fixtures/publish/oci/compose-override.yaml", |
| 190 | + "-p", projectName, "publish", "--with-env", "--yes", registry+"/test:test") |
| 191 | + icmd.RunCmd(cmd, func(cmd *icmd.Cmd) { |
| 192 | + cmd.Env = append(cmd.Env, "__TEST__INSECURE__REGISTRY__=true") |
| 193 | + }).Assert(t, icmd.Expected{ExitCode: 0}) |
| 194 | + |
| 195 | + // docker exec -it compose-e2e-publish-registry tree /var/lib/registry/docker/registry/v2/ |
| 196 | + |
| 197 | + cmd = c.NewDockerComposeCmd(t, "--verbose", "--project-name=oci", "-f", fmt.Sprintf("oci://%s/test:test", registry), "config") |
| 198 | + res := icmd.RunCmd(cmd, func(cmd *icmd.Cmd) { |
| 199 | + cmd.Env = append(cmd.Env, |
| 200 | + "XDG_CACHE_HOME="+t.TempDir(), |
| 201 | + "__TEST__INSECURE__REGISTRY__=true") |
| 202 | + }) |
| 203 | + res.Assert(t, icmd.Expected{ExitCode: 0}) |
| 204 | + assert.Equal(t, res.Stdout(), `name: oci |
| 205 | +services: |
| 206 | + app: |
| 207 | + environment: |
| 208 | + HELLO: WORLD |
| 209 | + image: alpine |
| 210 | + networks: |
| 211 | + default: null |
| 212 | +networks: |
| 213 | + default: |
| 214 | + name: oci_default |
| 215 | +`) |
| 216 | +} |
0 commit comments