From 74f344af54aa03887cbab5aaa91b2c85aa3378f2 Mon Sep 17 00:00:00 2001 From: Jonas Switala Date: Fri, 18 Jul 2025 13:38:26 +0200 Subject: [PATCH] test(integration): TestDocker2DirDryRun Signed-off-by: Jonas Switala --- integration/sync_test.go | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/integration/sync_test.go b/integration/sync_test.go index 4e7a0fd1..79f8694d 100644 --- a/integration/sync_test.go +++ b/integration/sync_test.go @@ -266,6 +266,31 @@ func (s *syncSuite) TestDocker2DirUntagged() { assert.Len(t, nManifests, len(tags)) } +func (s *syncSuite) TestDocker2DirDryRun() { + t := s.T() + tmpDir := t.TempDir() + + // FIXME: It would be nice to use one of the local Docker registries instead of needing an Internet connection. + image := pullableRepo + imageRef, err := docker.ParseReference(fmt.Sprintf("//%s", image)) + require.NoError(t, err) + + require.NoError(t, err) + assertSkopeoSucceeds(t, "", "sync", "--scoped", "--dry-run", "--src", "docker", "--dest", "dir", image, tmpDir) + + sysCtx := types.SystemContext{} + tags, err := docker.GetRepositoryTags(context.Background(), &sysCtx, imageRef) + require.NoError(t, err) + assert.NotZero(t, len(tags)) + + d, err := os.Open(tmpDir) + require.NoError(t, err) + defer d.Close() + nDirEntries, err := d.ReadDir(1) + require.NoError(t, err) + assert.Equal(t, 0, len(nDirEntries)) +} + func (s *syncSuite) TestYamlUntagged() { t := s.T() tmpDir := t.TempDir()