github.com/docker/cnab-to-oci@v0.3.0-beta4/converter/types_test.go (about) 1 package converter 2 3 import ( 4 "testing" 5 6 "github.com/cnabio/cnab-go/bundle" 7 "gotest.tools/assert" 8 ) 9 10 func TestPrepareForPush(t *testing.T) { 11 b := &bundle.Bundle{} 12 prepared, err := PrepareForPush(b) 13 assert.NilError(t, err) 14 15 // First try with OCI format and specific CNAB media type. Fallback should be set. 16 assert.Equal(t, prepared.ManifestDescriptor.MediaType, "application/vnd.oci.image.manifest.v1+json") 17 assert.Equal(t, prepared.ConfigBlobDescriptor.MediaType, "application/vnd.cnab.config.v1+json") 18 assert.Check(t, prepared.Fallback != nil) 19 // Try the first fallback, which set the media type to image config and still using OCI format 20 fallback := prepared.Fallback 21 assert.Equal(t, fallback.ManifestDescriptor.MediaType, "application/vnd.oci.image.manifest.v1+json") 22 assert.Equal(t, fallback.ConfigBlobDescriptor.MediaType, "application/vnd.oci.image.config.v1+json") 23 assert.Check(t, fallback.Fallback != nil) 24 // Last fallback uses Docker format 25 lastFallback := fallback.Fallback 26 assert.Equal(t, lastFallback.ManifestDescriptor.MediaType, "application/vnd.docker.distribution.manifest.v2+json") 27 assert.Equal(t, lastFallback.ConfigBlobDescriptor.MediaType, "application/vnd.docker.container.image.v1+json") 28 }