mirror of
https://github.com/moby/buildkit.git
synced 2026-06-24 08:47:57 +00:00
Co-authored-by: Derek McGowan <derek@mcg.dev> Signed-off-by: Marat Radchenko <marat@slonopotamus.org>
58 lines
1.3 KiB
Go
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)
|
|
}
|