11package conformance
22
33import (
4- "fmt"
54 "net/http"
65 "os"
76
@@ -22,10 +21,10 @@ var test01Pull = func() {
2221 req := client .NewRequest (reggie .POST , "/v2/<name>/blobs/uploads/" )
2322 resp , _ := client .Do (req )
2423 req = client .NewRequest (reggie .PUT , resp .GetRelativeLocation ()).
25- SetQueryParam ("digest" , configBlobDigest ).
24+ SetQueryParam ("digest" , configs [ 0 ]. Digest ).
2625 SetHeader ("Content-Type" , "application/octet-stream" ).
27- SetHeader ("Content-Length" , fmt . Sprintf ( "%d" , len ( configBlobContent )) ).
28- SetBody (configBlobContent )
26+ SetHeader ("Content-Length" , configs [ 0 ]. ContentLength ).
27+ SetBody (configs [ 0 ]. Content )
2928 resp , err := client .Do (req )
3029 Expect (err ).To (BeNil ())
3130 Expect (resp .StatusCode ()).To (SatisfyAll (
@@ -57,7 +56,7 @@ var test01Pull = func() {
5756 req := client .NewRequest (reggie .PUT , "/v2/<name>/manifests/<reference>" ,
5857 reggie .WithReference (tag )).
5958 SetHeader ("Content-Type" , "application/vnd.oci.image.manifest.v1+json" ).
60- SetBody (manifestContent )
59+ SetBody (manifests [ 0 ]. Content )
6160 resp , err := client .Do (req )
6261 Expect (err ).To (BeNil ())
6362 Expect (resp .StatusCode ()).To (SatisfyAll (
@@ -71,6 +70,13 @@ var test01Pull = func() {
7170 req := client .NewRequest (reggie .GET , "/v2/<name>/tags/list" )
7271 resp , _ := client .Do (req )
7372 tag = getTagNameFromResponse (resp )
73+
74+ // attempt to forcibly overwrite this tag with the unique manifest for this run
75+ req = client .NewRequest (reggie .PUT , "/v2/<name>/manifests/<reference>" ,
76+ reggie .WithReference (tag )).
77+ SetHeader ("Content-Type" , "application/vnd.oci.image.manifest.v1+json" ).
78+ SetBody (manifests [0 ].Content )
79+ client .Do (req )
7480 })
7581
7682 g .Specify ("Get tag name from environment" , func () {
@@ -93,12 +99,12 @@ var test01Pull = func() {
9399 g .Specify ("HEAD request to existing blob should yield 200" , func () {
94100 SkipIfDisabled (pull )
95101 req := client .NewRequest (reggie .HEAD , "/v2/<name>/blobs/<digest>" ,
96- reggie .WithDigest (configBlobDigest ))
102+ reggie .WithDigest (configs [ 0 ]. Digest ))
97103 resp , err := client .Do (req )
98104 Expect (err ).To (BeNil ())
99105 Expect (resp .StatusCode ()).To (Equal (http .StatusOK ))
100106 if h := resp .Header ().Get ("Docker-Content-Digest" ); h != "" {
101- Expect (h ).To (Equal (configBlobDigest ))
107+ Expect (h ).To (Equal (configs [ 0 ]. Digest ))
102108 }
103109 })
104110
@@ -113,7 +119,7 @@ var test01Pull = func() {
113119
114120 g .Specify ("GET request to existing blob URL should yield 200" , func () {
115121 SkipIfDisabled (pull )
116- req := client .NewRequest (reggie .GET , "/v2/<name>/blobs/<digest>" , reggie .WithDigest (configBlobDigest ))
122+ req := client .NewRequest (reggie .GET , "/v2/<name>/blobs/<digest>" , reggie .WithDigest (configs [ 0 ]. Digest ))
117123 resp , err := client .Do (req )
118124 Expect (err ).To (BeNil ())
119125 Expect (resp .StatusCode ()).To (Equal (http .StatusOK ))
@@ -132,13 +138,13 @@ var test01Pull = func() {
132138
133139 g .Specify ("HEAD request to manifest path (digest) should yield 200 response" , func () {
134140 SkipIfDisabled (pull )
135- req := client .NewRequest (reggie .HEAD , "/v2/<name>/manifests/<digest>" , reggie .WithDigest (manifestDigest )).
141+ req := client .NewRequest (reggie .HEAD , "/v2/<name>/manifests/<digest>" , reggie .WithDigest (manifests [ 0 ]. Digest )).
136142 SetHeader ("Accept" , "application/vnd.oci.image.manifest.v1+json" )
137143 resp , err := client .Do (req )
138144 Expect (err ).To (BeNil ())
139145 Expect (resp .StatusCode ()).To (Equal (http .StatusOK ))
140146 if h := resp .Header ().Get ("Docker-Content-Digest" ); h != "" {
141- Expect (h ).To (Equal (manifestDigest ))
147+ Expect (h ).To (Equal (manifests [ 0 ]. Digest ))
142148 }
143149 })
144150
@@ -151,7 +157,7 @@ var test01Pull = func() {
151157 Expect (err ).To (BeNil ())
152158 Expect (resp .StatusCode ()).To (Equal (http .StatusOK ))
153159 if h := resp .Header ().Get ("Docker-Content-Digest" ); h != "" {
154- Expect (h ).To (Equal (manifestDigest ))
160+ Expect (h ).To (Equal (manifests [ 0 ]. Digest ))
155161 }
156162 })
157163
@@ -166,7 +172,7 @@ var test01Pull = func() {
166172
167173 g .Specify ("GET request to manifest path (digest) should yield 200 response" , func () {
168174 SkipIfDisabled (pull )
169- req := client .NewRequest (reggie .GET , "/v2/<name>/manifests/<digest>" , reggie .WithDigest (manifestDigest )).
175+ req := client .NewRequest (reggie .GET , "/v2/<name>/manifests/<digest>" , reggie .WithDigest (manifests [ 0 ]. Digest )).
170176 SetHeader ("Accept" , "application/vnd.oci.image.manifest.v1+json" )
171177 resp , err := client .Do (req )
172178 Expect (err ).To (BeNil ())
@@ -211,7 +217,7 @@ var test01Pull = func() {
211217 g .Specify ("Delete manifest created in setup" , func () {
212218 SkipIfDisabled (pull )
213219 RunOnlyIf (runPullSetup )
214- req := client .NewRequest (reggie .DELETE , "/v2/<name>/manifests/<digest>" , reggie .WithDigest (manifestDigest ))
220+ req := client .NewRequest (reggie .DELETE , "/v2/<name>/manifests/<digest>" , reggie .WithDigest (manifests [ 0 ]. Digest ))
215221 resp , err := client .Do (req )
216222 Expect (err ).To (BeNil ())
217223 Expect (resp .StatusCode ()).To (SatisfyAny (
@@ -227,7 +233,7 @@ var test01Pull = func() {
227233 g .Specify ("Delete config blob created in setup" , func () {
228234 SkipIfDisabled (pull )
229235 RunOnlyIf (runPullSetup )
230- req := client .NewRequest (reggie .DELETE , "/v2/<name>/blobs/<digest>" , reggie .WithDigest (configBlobDigest ))
236+ req := client .NewRequest (reggie .DELETE , "/v2/<name>/blobs/<digest>" , reggie .WithDigest (configs [ 0 ]. Digest ))
231237 resp , err := client .Do (req )
232238 Expect (err ).To (BeNil ())
233239 Expect (resp .StatusCode ()).To (SatisfyAny (
@@ -258,7 +264,7 @@ var test01Pull = func() {
258264 g .Specify ("Delete manifest created in setup" , func () {
259265 SkipIfDisabled (pull )
260266 RunOnlyIf (runPullSetup )
261- req := client .NewRequest (reggie .DELETE , "/v2/<name>/manifests/<digest>" , reggie .WithDigest (manifestDigest ))
267+ req := client .NewRequest (reggie .DELETE , "/v2/<name>/manifests/<digest>" , reggie .WithDigest (manifests [ 0 ]. Digest ))
262268 resp , err := client .Do (req )
263269 Expect (err ).To (BeNil ())
264270 Expect (resp .StatusCode ()).To (SatisfyAny (
0 commit comments