mirror of
https://github.com/moby/buildkit.git
synced 2026-06-30 19:57:39 +00:00
46 lines
1.3 KiB
Go
46 lines
1.3 KiB
Go
package gateway
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestCheckSourceIsAllowed(t *testing.T) {
|
|
makeGatewayFrontend := func(sources []string) (*gatewayFrontend, error) {
|
|
gw, err := NewGatewayFrontend(nil, sources)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
gw1 := gw.(*gatewayFrontend)
|
|
return gw1, nil
|
|
}
|
|
|
|
var gw *gatewayFrontend
|
|
var err error
|
|
|
|
// no restrictions
|
|
gw, err = makeGatewayFrontend([]string{})
|
|
require.NoError(t, err)
|
|
err = gw.checkSourceIsAllowed("anything")
|
|
require.NoError(t, err)
|
|
|
|
gw, err = makeGatewayFrontend([]string{"docker-registry.wikimedia.org/repos/releng/blubber/buildkit:9.9.9"})
|
|
require.NoError(t, err)
|
|
err = gw.checkSourceIsAllowed("docker-registry.wikimedia.org/repos/releng/blubber/buildkit")
|
|
require.NoError(t, err)
|
|
err = gw.checkSourceIsAllowed("docker-registry.wikimedia.org/repos/releng/blubber/buildkit:v1.2.3")
|
|
require.NoError(t, err)
|
|
err = gw.checkSourceIsAllowed("docker-registry.wikimedia.org/something-else")
|
|
require.Error(t, err)
|
|
|
|
gw, err = makeGatewayFrontend([]string{"alpine"})
|
|
require.NoError(t, err)
|
|
err = gw.checkSourceIsAllowed("alpine")
|
|
require.NoError(t, err)
|
|
err = gw.checkSourceIsAllowed("library/alpine")
|
|
require.NoError(t, err)
|
|
err = gw.checkSourceIsAllowed("docker.io/library/alpine")
|
|
require.NoError(t, err)
|
|
}
|