genlogic_test.go 866 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package generator
  2. import (
  3. "os"
  4. "path/filepath"
  5. "testing"
  6. "github.com/stretchr/testify/assert"
  7. "github.com/tal-tech/go-zero/tools/goctl/rpc/parser"
  8. "github.com/tal-tech/go-zero/tools/goctl/util"
  9. "github.com/tal-tech/go-zero/tools/goctl/util/ctx"
  10. )
  11. func TestGenerateLogic(t *testing.T) {
  12. project := "stream"
  13. abs, err := filepath.Abs("./test")
  14. assert.Nil(t, err)
  15. dir := filepath.Join(abs, project)
  16. err = util.MkdirIfNotExist(dir)
  17. assert.Nil(t, err)
  18. defer func() {
  19. _ = os.RemoveAll(abs)
  20. }()
  21. projectCtx, err := ctx.Prepare(dir)
  22. assert.Nil(t, err)
  23. p := parser.NewDefaultProtoParser()
  24. proto, err := p.Parse("./test_stream.proto")
  25. assert.Nil(t, err)
  26. dirCtx, err := mkdir(projectCtx, proto)
  27. assert.Nil(t, err)
  28. g := NewDefaultGenerator()
  29. err = g.Prepare()
  30. if err != nil {
  31. return
  32. }
  33. err = g.GenLogic(dirCtx, proto)
  34. assert.Nil(t, err)
  35. }