Browse Source

reference: add test-coverage for digested references

Trying to overwrite a digest with another digest is not allowed, and
cannot be forced.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Sebastiaan van Stijn 2 years ago
parent
commit
f52e935f36
1 changed files with 4 additions and 0 deletions
  1. 4 0
      reference/store_test.go

+ 4 - 0
reference/store_test.go

@@ -161,6 +161,10 @@ func TestAddDeleteGet(t *testing.T) {
 	if err = store.AddDigest(ref5.(reference.Canonical), testImageID2, false); err != nil {
 	if err = store.AddDigest(ref5.(reference.Canonical), testImageID2, false); err != nil {
 		t.Fatalf("error redundantly adding to store: %v", err)
 		t.Fatalf("error redundantly adding to store: %v", err)
 	}
 	}
+	err = store.AddDigest(ref5.(reference.Canonical), testImageID3, false)
+	assert.Check(t, is.ErrorType(err, errdefs.IsConflict), "overwriting a digest with a different digest should fail")
+	err = store.AddDigest(ref5.(reference.Canonical), testImageID3, true)
+	assert.Check(t, is.ErrorType(err, errdefs.IsConflict), "overwriting a digest cannot be forced")
 
 
 	// Attempt to overwrite with force == false
 	// Attempt to overwrite with force == false
 	err = store.AddTag(ref4, testImageID3, false)
 	err = store.AddTag(ref4, testImageID3, false)