MCPcopy Create free account
hub / github.com/containers/image / TestPrepareCopyInstancesforInstanceCopyCopy

Function TestPrepareCopyInstancesforInstanceCopyCopy

copy/multiple_test.go:16–48  ·  view source on GitHub ↗

Test `instanceCopyCopy` cases.

(t *testing.T)

Source from the content-addressed store, hash-verified

14
15// Test `instanceCopyCopy` cases.
16func TestPrepareCopyInstancesforInstanceCopyCopy(t *testing.T) {
17 validManifest, err := os.ReadFile(filepath.Join("..", "internal", "manifest", "testdata", "oci1.index.zstd-selection.json"))
18 require.NoError(t, err)
19 list, err := internalManifest.ListFromBlob(validManifest, internalManifest.GuessMIMEType(validManifest))
20 require.NoError(t, err)
21
22 // Test CopyAllImages
23 sourceInstances := []digest.Digest{
24 digest.Digest("sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"),
25 digest.Digest("sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"),
26 digest.Digest("sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"),
27 }
28
29 instancesToCopy, err := prepareInstanceCopies(list, sourceInstances, &Options{})
30 require.NoError(t, err)
31 compare := []instanceCopy{}
32
33 for _, instance := range sourceInstances {
34 compare = append(compare, instanceCopy{op: instanceCopyCopy,
35 sourceDigest: instance, copyForceCompressionFormat: false})
36 }
37 assert.Equal(t, instancesToCopy, compare)
38
39 // Test CopySpecificImages where selected instance is sourceInstances[1]
40 instancesToCopy, err = prepareInstanceCopies(list, sourceInstances, &Options{Instances: []digest.Digest{sourceInstances[1]}, ImageListSelection: CopySpecificImages})
41 require.NoError(t, err)
42 compare = []instanceCopy{{op: instanceCopyCopy,
43 sourceDigest: sourceInstances[1]}}
44 assert.Equal(t, instancesToCopy, compare)
45
46 _, err = prepareInstanceCopies(list, sourceInstances, &Options{Instances: []digest.Digest{sourceInstances[1]}, ImageListSelection: CopySpecificImages, ForceCompressionFormat: true})
47 require.EqualError(t, err, "cannot use ForceCompressionFormat with undefined default compression format")
48}
49
50// Test `instanceCopyClone` cases.
51func TestPrepareCopyInstancesforInstanceCopyClone(t *testing.T) {

Callers

nothing calls this directly

Calls 2

prepareInstanceCopiesFunction · 0.85
DigestMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…