template_test.go 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. package generator
  2. import (
  3. "os"
  4. "path/filepath"
  5. "testing"
  6. "github.com/stretchr/testify/assert"
  7. "github.com/wuntsong-org/go-zero-plus/tools/goctlwt/util/pathx"
  8. )
  9. func TestGenTemplates(t *testing.T) {
  10. _ = Clean()
  11. err := GenTemplates()
  12. assert.Nil(t, err)
  13. }
  14. func TestRevertTemplate(t *testing.T) {
  15. _ = Clean()
  16. err := GenTemplates()
  17. assert.Nil(t, err)
  18. fp, err := pathx.GetTemplateDir(category)
  19. if err != nil {
  20. return
  21. }
  22. mainTpl := filepath.Join(fp, mainTemplateFile)
  23. data, err := os.ReadFile(mainTpl)
  24. if err != nil {
  25. return
  26. }
  27. assert.Equal(t, templates[mainTemplateFile], string(data))
  28. err = RevertTemplate("test")
  29. if err != nil {
  30. assert.Equal(t, "test: no such file name", err.Error())
  31. }
  32. err = os.WriteFile(mainTpl, []byte("modify"), os.ModePerm)
  33. if err != nil {
  34. return
  35. }
  36. data, err = os.ReadFile(mainTpl)
  37. if err != nil {
  38. return
  39. }
  40. assert.Equal(t, "modify", string(data))
  41. err = RevertTemplate(mainTemplateFile)
  42. assert.Nil(t, err)
  43. data, err = os.ReadFile(mainTpl)
  44. if err != nil {
  45. return
  46. }
  47. assert.Equal(t, templates[mainTemplateFile], string(data))
  48. }
  49. func TestClean(t *testing.T) {
  50. _ = Clean()
  51. err := GenTemplates()
  52. assert.Nil(t, err)
  53. fp, err := pathx.GetTemplateDir(category)
  54. if err != nil {
  55. return
  56. }
  57. mainTpl := filepath.Join(fp, mainTemplateFile)
  58. _, err = os.Stat(mainTpl)
  59. assert.Nil(t, err)
  60. err = Clean()
  61. assert.Nil(t, err)
  62. _, err = os.Stat(mainTpl)
  63. assert.NotNil(t, err)
  64. }
  65. func TestUpdate(t *testing.T) {
  66. _ = Clean()
  67. err := GenTemplates()
  68. assert.Nil(t, err)
  69. fp, err := pathx.GetTemplateDir(category)
  70. if err != nil {
  71. return
  72. }
  73. mainTpl := filepath.Join(fp, mainTemplateFile)
  74. err = os.WriteFile(mainTpl, []byte("modify"), os.ModePerm)
  75. if err != nil {
  76. return
  77. }
  78. data, err := os.ReadFile(mainTpl)
  79. if err != nil {
  80. return
  81. }
  82. assert.Equal(t, "modify", string(data))
  83. assert.Nil(t, Update())
  84. data, err = os.ReadFile(mainTpl)
  85. if err != nil {
  86. return
  87. }
  88. assert.Equal(t, templates[mainTemplateFile], string(data))
  89. }
  90. func TestGetCategory(t *testing.T) {
  91. _ = Clean()
  92. result := Category()
  93. assert.Equal(t, category, result)
  94. }