buildkit/frontend_test.go
buildkit/frontend_test.goBrowse 1970 files
589 tokens
1,900 bytes
Token encoding: o200k_base
Snapshot 21a254f
← Back to SKILL.md
1package buildkit2 3import (4 "testing"5 6 "github.com/stretchr/testify/require"7)8 9func TestParseBuildArgs(t *testing.T) {10 opts := map[string]string{11 "build-arg:FOO": "bar",12 "platform": "linux/amd64",13 "build-arg:BAZ": "qux",14 "filename": "Dockerfile",15 }16 17 got := parseBuildArgs(opts)18 19 want := map[string]string{20 "FOO": "bar",21 "BAZ": "qux",22 }23 24 if len(got) != len(want) {25 t.Errorf("got %d build args, want %d", len(got), len(want))26 }27 28 for k, v := range want {29 if got[k] != v {30 t.Errorf("build arg %q = %q, want %q", k, got[k], v)31 }32 }33}34 35func TestParseCacheImports(t *testing.T) {36 t.Parallel()37 38 t.Run("empty opts", func(t *testing.T) {39 imports, err := parseCacheImports(nil)40 require.NoError(t, err)41 require.Empty(t, imports)42 })43 44 t.Run("cache-imports JSON", func(t *testing.T) {45 imports, err := parseCacheImports(map[string]string{46 keyCacheImports: `[{"Type":"registry","Attrs":{"ref":"host.docker.internal:7890/node-bun:cache"}}]`,47 })48 require.NoError(t, err)49 require.Len(t, imports, 1)50 require.Equal(t, "registry", imports[0].Type)51 require.Equal(t, "host.docker.internal:7890/node-bun:cache", imports[0].Attrs["ref"])52 })53 54 t.Run("multiple cache-imports", func(t *testing.T) {55 imports, err := parseCacheImports(map[string]string{56 keyCacheImports: `[{"Type":"registry","Attrs":{"ref":"a:cache"}},{"Type":"gha","Attrs":{"scope":"my-scope"}}]`,57 })58 require.NoError(t, err)59 require.Len(t, imports, 2)60 require.Equal(t, "registry", imports[0].Type)61 require.Equal(t, "a:cache", imports[0].Attrs["ref"])62 require.Equal(t, "gha", imports[1].Type)63 require.Equal(t, "my-scope", imports[1].Attrs["scope"])64 })65 66 t.Run("invalid cache-imports JSON", func(t *testing.T) {67 _, err := parseCacheImports(map[string]string{68 keyCacheImports: `not-json`,69 })70 require.Error(t, err)71 require.Contains(t, err.Error(), keyCacheImports)72 })73}74