github.com/please-build/puku@v1.7.3-0.20240516143641-f7d7f4941f57/e2e/tests/codegen/codgen_test.go (about) 1 package codegen 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 "github.com/stretchr/testify/require" 8 9 "github.com/please-build/puku/e2e/harness" 10 "github.com/please-build/puku/edit" 11 ) 12 13 func TestTarget(t *testing.T) { 14 h := harness.MustNew() 15 err := h.Format("//codegen/...") 16 require.NoError(t, err) 17 18 file, err := h.ParseFile("codegen/BUILD_FILE.plz") 19 require.NoError(t, err) 20 21 codegen := edit.FindTargetByName(file, "codegen") 22 require.NotNil(t, codegen) 23 24 assert.ElementsMatch(t, []string{"//foo"}, codegen.AttrStrings("deps")) 25 assert.ElementsMatch(t, []string{":srcs"}, codegen.AttrStrings("srcs")) 26 27 codegenProvider := edit.FindTargetByName(file, "codegen_provider") 28 require.NotNil(t, codegenProvider) 29 30 assert.ElementsMatch(t, []string{"//foo"}, codegenProvider.AttrStrings("deps")) 31 assert.ElementsMatch(t, []string{":provider"}, codegenProvider.AttrStrings("srcs")) 32 33 recursiveCodegenProvider := edit.FindTargetByName(file, "recursive_codegen_provider") 34 require.NotNil(t, recursiveCodegenProvider) 35 36 assert.ElementsMatch(t, []string{"//foo"}, recursiveCodegenProvider.AttrStrings("deps")) 37 assert.ElementsMatch(t, []string{":recursive_provider"}, recursiveCodegenProvider.AttrStrings("srcs")) 38 }