You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
go-zero/tools/goctl/model/sql/gen/template_test.go

94 lines
2.0 KiB
Go

package gen
import (
"os"
"path/filepath"
"testing"
"github.com/stretchr/testify/assert"
"github.com/zeromicro/go-zero/tools/goctl/model/sql/template"
"github.com/zeromicro/go-zero/tools/goctl/util/pathx"
)
func TestGenTemplates(t *testing.T) {
err := pathx.InitTemplates(category, templates)
assert.Nil(t, err)
dir, err := pathx.GetTemplateDir(category)
assert.Nil(t, err)
file := filepath.Join(dir, "model-new.tpl")
data, err := os.ReadFile(file)
assert.Nil(t, err)
assert.Equal(t, string(data), template.New)
}
func TestRevertTemplate(t *testing.T) {
name := "model-new.tpl"
err := pathx.InitTemplates(category, templates)
assert.Nil(t, err)
dir, err := pathx.GetTemplateDir(category)
assert.Nil(t, err)
file := filepath.Join(dir, name)
data, err := os.ReadFile(file)
assert.Nil(t, err)
modifyData := string(data) + "modify"
err = pathx.CreateTemplate(category, name, modifyData)
assert.Nil(t, err)
data, err = os.ReadFile(file)
assert.Nil(t, err)
assert.Equal(t, string(data), modifyData)
assert.Nil(t, RevertTemplate(name))
data, err = os.ReadFile(file)
assert.Nil(t, err)
assert.Equal(t, template.New, string(data))
}
func TestClean(t *testing.T) {
name := "model-new.tpl"
err := pathx.InitTemplates(category, templates)
assert.Nil(t, err)
assert.Nil(t, Clean())
dir, err := pathx.GetTemplateDir(category)
assert.Nil(t, err)
file := filepath.Join(dir, name)
_, err = os.ReadFile(file)
assert.NotNil(t, err)
}
func TestUpdate(t *testing.T) {
name := "model-new.tpl"
err := pathx.InitTemplates(category, templates)
assert.Nil(t, err)
dir, err := pathx.GetTemplateDir(category)
assert.Nil(t, err)
file := filepath.Join(dir, name)
data, err := os.ReadFile(file)
assert.Nil(t, err)
modifyData := string(data) + "modify"
err = pathx.CreateTemplate(category, name, modifyData)
assert.Nil(t, err)
data, err = os.ReadFile(file)
assert.Nil(t, err)
assert.Equal(t, string(data), modifyData)
assert.Nil(t, Update())
data, err = os.ReadFile(file)
assert.Nil(t, err)
assert.Equal(t, template.New, string(data))
}