MCPcopy Create free account
hub / github.com/docker/docker-agent / TestPackageFileAsOCIToStore

Function TestPackageFileAsOCIToStore

pkg/oci/package_test.go:16–57  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

14)
15
16func TestPackageFileAsOCIToStore(t *testing.T) {
17 t.Parallel()
18 agentFilename := filepath.Join(t.TempDir(), "test.yaml")
19 testContent := `version: "2"
20agents:
21 root:
22 model: auto
23 description: A helpful AI assistant
24`
25 require.NoError(t, os.WriteFile(agentFilename, []byte(testContent), 0o644))
26 store, err := content.NewStore(content.WithBaseDir(t.TempDir()))
27 require.NoError(t, err)
28
29 agentSource, err := config.Resolve(agentFilename, nil)
30 require.NoError(t, err)
31
32 tag := "test-app:v1.0.0"
33 digest, err := PackageFileAsOCIToStore(t.Context(), agentSource, tag, store)
34 require.NoError(t, err)
35 assert.NotEmpty(t, digest)
36 t.Cleanup(func() {
37 if err := store.DeleteArtifact(digest); err != nil {
38 t.Logf("Failed to clean up artifact: %v", err)
39 }
40 })
41
42 img, err := store.GetArtifactImage(tag)
43 require.NoError(t, err)
44 assert.NotNil(t, img)
45
46 metadata, err := store.GetArtifactMetadata(tag)
47 require.NoError(t, err)
48
49 assert.Equal(t, tag, metadata.Reference)
50 assert.Equal(t, digest, metadata.Digest)
51
52 // Verify annotations are present
53 require.NotNil(t, metadata.Annotations)
54 assert.Contains(t, metadata.Annotations, "org.opencontainers.image.created")
55 assert.Contains(t, metadata.Annotations, "org.opencontainers.image.description")
56 assert.Equal(t, "OCI artifact containing test.yaml", metadata.Annotations["org.opencontainers.image.description"])
57}
58
59func TestPackageFileAsOCIToStore_MetadataTagsAnnotation(t *testing.T) {
60 t.Parallel()

Callers

nothing calls this directly

Calls 9

DeleteArtifactMethod · 0.95
GetArtifactImageMethod · 0.95
GetArtifactMetadataMethod · 0.95
NewStoreFunction · 0.92
WithBaseDirFunction · 0.92
ResolveFunction · 0.92
PackageFileAsOCIToStoreFunction · 0.85
ContextMethod · 0.80
CleanupMethod · 0.65

Tested by

no test coverage detected