Inspired by oras test https://github.com/oras-project/oras-go/blob/05a2b09cbf2eab1df691411884dc4df741ec56ab/content_test.go#L1802
(t *testing.T)
| 32 | // Inspired by oras test |
| 33 | // https://github.com/oras-project/oras-go/blob/05a2b09cbf2eab1df691411884dc4df741ec56ab/content_test.go#L1802 |
| 34 | func TestTagManifestTransformsReferences(t *testing.T) { |
| 35 | memStore := memory.New() |
| 36 | client := &Client{out: io.Discard} |
| 37 | ctx := t.Context() |
| 38 | |
| 39 | refWithPlus := "test-registry.io/charts/test:1.0.0+metadata" |
| 40 | expectedRef := "test-registry.io/charts/test:1.0.0_metadata" // + becomes _ |
| 41 | |
| 42 | configDesc := ocispec.Descriptor{MediaType: ConfigMediaType, Digest: "sha256:config", Size: 100} |
| 43 | layers := []ocispec.Descriptor{{MediaType: ChartLayerMediaType, Digest: "sha256:layer", Size: 200}} |
| 44 | |
| 45 | parsedRef, err := newReference(refWithPlus) |
| 46 | require.NoError(t, err) |
| 47 | |
| 48 | desc, err := client.tagManifest(ctx, memStore, configDesc, layers, nil, parsedRef) |
| 49 | require.NoError(t, err) |
| 50 | |
| 51 | transformedDesc, err := memStore.Resolve(ctx, expectedRef) |
| 52 | require.NoError(t, err, "Should find the reference with _ instead of +") |
| 53 | require.Equal(t, desc.Digest, transformedDesc.Digest) |
| 54 | |
| 55 | _, err = memStore.Resolve(ctx, refWithPlus) |
| 56 | require.Error(t, err, "Should NOT find the reference with the original +") |
| 57 | } |
| 58 | |
| 59 | // Verifies that Login always restores ForceAttemptOAuth2 to false on success. |
| 60 | func TestLogin_ResetsForceAttemptOAuth2_OnSuccess(t *testing.T) { |
nothing calls this directly
no test coverage detected
searching dependent graphs…