gen_test.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. package base
  2. import (
  3. "path/filepath"
  4. "testing"
  5. "github.com/stretchr/testify/assert"
  6. "github.com/tal-tech/go-zero/tools/goctl/rpc/parser"
  7. "github.com/tal-tech/go-zero/tools/goctl/util/console"
  8. )
  9. func TestParseImport(t *testing.T) {
  10. src, _ := filepath.Abs("./test.proto")
  11. base, _ := filepath.Abs("./base.proto")
  12. imports, containsAny, err := parser.ParseImport(src)
  13. assert.Nil(t, err)
  14. assert.Equal(t, true, containsAny)
  15. assert.Equal(t, 1, len(imports))
  16. assert.Equal(t, "github.com/tal-tech/go-zero/tools/goctl/rpc", imports[0].PbImportName)
  17. assert.Equal(t, base, imports[0].OriginalProtoPath)
  18. }
  19. func TestTransfer(t *testing.T) {
  20. src, _ := filepath.Abs("./test.proto")
  21. abs, _ := filepath.Abs("./test")
  22. imports, _, _ := parser.ParseImport(src)
  23. proto, err := parser.Transfer(src, abs, imports, console.NewConsole(false))
  24. assert.Nil(t, err)
  25. assert.Equal(t, 1, len(proto.Service))
  26. assert.Equal(t, "Greeter", proto.Service[0].Name.Source())
  27. assert.Equal(t, 5, len(proto.Structure))
  28. data, ok := proto.Structure["map"]
  29. assert.Equal(t, true, ok)
  30. assert.Equal(t, "M", data.Field[0].Name.Source())
  31. }