Files
buildkit/util/contentutil/source_test.go
Marat Radchenko 5be7edb69c Upgrade to containerd 2
Co-authored-by: Derek McGowan <derek@mcg.dev>
Signed-off-by: Marat Radchenko <marat@slonopotamus.org>
2025-01-13 16:42:48 -08:00

58 lines
1.3 KiB
Go

package contentutil
import (
"testing"
"github.com/containerd/containerd/v2/core/content"
"github.com/containerd/containerd/v2/pkg/reference"
"github.com/stretchr/testify/require"
)
func TestHasSource(t *testing.T) {
info := content.Info{
Labels: map[string]string{
"containerd.io/distribution.source.docker.io": "library/alpine",
},
}
ref, err := reference.Parse("docker.io/library/alpine:latest")
require.NoError(t, err)
b, err := HasSource(info, ref)
require.NoError(t, err)
require.True(t, b)
info = content.Info{
Labels: map[string]string{
"containerd.io/distribution.source.docker.io": "library/alpine,library/ubuntu",
},
}
b, err = HasSource(info, ref)
require.NoError(t, err)
require.True(t, b)
info = content.Info{}
b, err = HasSource(info, ref)
require.NoError(t, err)
require.False(t, b)
info = content.Info{Labels: map[string]string{}}
b, err = HasSource(info, ref)
require.NoError(t, err)
require.False(t, b)
info = content.Info{
Labels: map[string]string{
"containerd.io/distribution.source.docker.io": "library/ubuntu",
},
}
b, err = HasSource(info, ref)
require.NoError(t, err)
require.False(t, b)
info = content.Info{Labels: map[string]string{
"containerd.io/distribution.source.ghcr.io": "library/alpine",
}}
b, err = HasSource(info, ref)
require.NoError(t, err)
require.False(t, b)
}