Skip to content

Commit b5239af

Browse files
committed
Fix oci delete test
1 parent 25bbbea commit b5239af

10 files changed

+106
-50
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
insert binary content here #9671

image/oci/layout/fixtures/delete_image_with_signature/blobs/sha256/2558a560cb1cd192d12862352621630bcfdb5cef147fa445f2e630e49f7a9910

Lines changed: 0 additions & 1 deletion
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
{
2+
"created": "2019-08-20T20:19:55.211423266Z",
3+
"architecture": "amd64",
4+
"os": "linux",
5+
"config": {
6+
"Env": [
7+
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
8+
],
9+
"Cmd": [
10+
"/bin/sh"
11+
]
12+
},
13+
"rootfs": {
14+
"type": "layers",
15+
"diff_ids": [
16+
"sha256:03901b4a2ea88eeaad62dbe59b072b28b6efa00491962b8741081c5df50c65e0"
17+
]
18+
},
19+
"history": [
20+
{
21+
"created": "2019-08-20T20:19:55.062606894Z",
22+
"created_by": "/bin/sh -c #(nop) ADD file:fe64057fbb83dccb960efabbf1cd8777920ef279a7fa8dbca0a8801c651bdf7c in / "
23+
},
24+
{
25+
"created": "2019-08-20T20:19:55.211423266Z",
26+
"created_by": "/bin/sh -c #(nop) CMD [\"/bin/sh\"]",
27+
"empty_layer": true
28+
}
29+
]
30+
}

image/oci/layout/fixtures/delete_image_with_signature/blobs/sha256/bfd7a7b14cfc6349bfbc291769692e4669470de97718d2ffab83273ea57474cb

Lines changed: 0 additions & 43 deletions
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{
2+
"schemaVersion": 2,
3+
"mediaType": "application/vnd.oci.image.manifest.v1+json",
4+
"config": {
5+
"mediaType": "application/vnd.oci.image.config.v1+json",
6+
"digest": "sha256:44353f0bf0dd9507c2e9daea7ad4f8a5f0e23bc16068d612227507e54599c18a",
7+
"size": 147
8+
},
9+
"layers": [
10+
{
11+
"mediaType": "application/vnd.dev.cosign.simplesigning.v1+json",
12+
"digest": "sha256:6f06dd0e26608013eff30bb1e951cda7de3fdd9e78e907470e0dd5c0ed25e273",
13+
"size": 12,
14+
"annotations": {
15+
"dev.cosignproject.cosign/signature": "test-signature"
16+
}
17+
}
18+
],
19+
"subject": {
20+
"mediaType": "application/vnd.oci.image.manifest.v1+json",
21+
"digest": "sha256:eaa95f3cfaac07c8a5153eb77c933269586ad0226c83405776be08547e4d2a18",
22+
"size": 1506,
23+
"annotations": {
24+
"org.opencontainers.image.ref.name": "imageValue"
25+
}
26+
}
27+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"schemaVersion": 2,
3+
"mediaType": "application/vnd.oci.image.manifest.v1+json",
4+
"config": {
5+
"mediaType": "application/vnd.oci.image.config.v1+json",
6+
"digest": "sha256:a527179158cd5cebc11c152b8637b47ce96c838ba2aa0de66d14f45cedc11423",
7+
"size": 585
8+
},
9+
"layers": [
10+
{
11+
"mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
12+
"digest": "sha256:0c8b263642b51b5c1dc40fe402ae2e97119c6007b6e52146419985ec1f0092dc",
13+
"size": 33
14+
}
15+
]
16+
}
Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,21 @@
1-
{"schemaVersion":2,"manifests":[{"mediaType":"application/vnd.oci.image.manifest.v1+json","digest":"sha256:bfd7a7b14cfc6349bfbc291769692e4669470de97718d2ffab83273ea57474cb","size":1506,"annotations":{"org.opencontainers.image.ref.name":"imageValue"}},{"mediaType":"application/vnd.oci.image.manifest.v1+json","digest":"sha256:2558a560cb1cd192d12862352621630bcfdb5cef147fa445f2e630e49f7a9910","size":704,"annotations":{"org.opencontainers.image.ref.name":"sha256-bfd7a7b14cfc6349bfbc291769692e4669470de97718d2ffab83273ea57474cb.sig"}}]}
1+
{
2+
"schemaVersion": 2,
3+
"manifests": [
4+
{
5+
"mediaType": "application/vnd.oci.image.manifest.v1+json",
6+
"digest": "sha256:eaa95f3cfaac07c8a5153eb77c933269586ad0226c83405776be08547e4d2a18",
7+
"size": 476,
8+
"annotations": {
9+
"org.opencontainers.image.ref.name": "latest"
10+
}
11+
},
12+
{
13+
"mediaType": "application/vnd.oci.image.manifest.v1+json",
14+
"digest": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
15+
"size": 704,
16+
"annotations": {
17+
"org.opencontainers.image.ref.name": "sha256-eaa95f3cfaac07c8a5153eb77c933269586ad0226c83405776be08547e4d2a18.sig"
18+
}
19+
}
20+
]
21+
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"imageLayoutVersion":"1.0.0"}
1+
{"imageLayoutVersion": "1.0.0"}

image/oci/layout/oci_delete.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,7 @@ func saveJSON(path string, content any) (retErr error) {
198198
return json.NewEncoder(file).Encode(content)
199199
}
200200

201+
// deleteSignatures delete sigstore signatures of the given manifest digest.
201202
func (ref ociReference) deleteSignatures(ctx context.Context, sys *types.SystemContext, d digest.Digest) error {
202203
signTag, err := sigstoreAttachmentTag(d)
203204
if err != nil {
@@ -216,6 +217,7 @@ func (ref ociReference) deleteSignatures(ctx context.Context, sys *types.SystemC
216217
return err
217218
}
218219

220+
// isSigstoreTag returns true if the tag is sigstore signature tag.
219221
func isSigstoreTag(tag string) bool {
220222
if !strings.HasSuffix(tag, ".sig") {
221223
return false

image/oci/layout/oci_delete_test.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,15 @@ func TestReferenceDeleteImage_onlyOneImage(t *testing.T) {
4343
func TestReferenceDeleteImage_onlyOneImageWithSignatures(t *testing.T) {
4444
tmpDir := loadFixture(t, "delete_image_with_signature")
4545

46-
ref, err := NewReference(tmpDir, "imageValue")
46+
ref, err := NewReference(tmpDir, "latest")
4747
require.NoError(t, err)
4848

49+
ociRef, ok := ref.(ociReference)
50+
require.True(t, ok)
51+
index, err := ociRef.getIndex()
52+
require.NoError(t, err)
53+
require.Equal(t, 2, len(index.Manifests))
54+
4955
err = ref.DeleteImage(context.Background(), nil)
5056
require.NoError(t, err)
5157

@@ -56,9 +62,7 @@ func TestReferenceDeleteImage_onlyOneImageWithSignatures(t *testing.T) {
5662
require.Empty(t, files)
5763

5864
// Check that the index is empty as there is only one image in the fixture
59-
ociRef, ok := ref.(ociReference)
60-
require.True(t, ok)
61-
index, err := ociRef.getIndex()
65+
index, err = ociRef.getIndex()
6266
require.NoError(t, err)
6367
require.Equal(t, 0, len(index.Manifests))
6468
}

0 commit comments

Comments
 (0)