123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- package template
- import (
- "os"
- "path/filepath"
- "testing"
- )
- const (
- templateYamlFile = "test_tpl/test.yaml.tpl"
- parsedYamlDir = "test_tpl_parsed"
- parsedYamlFileName = "test.yaml"
- )
- const (
- templateYaml = `[[ .key ]]: "[[ .value ]]"`
- parsedYaml = `key: "value"`
- )
- func TestParseTemplatesDir(t *testing.T) {
- err := ParseTemplatesDir("test_tpl", parsedYamlDir, map[string]any{
- "key": "key",
- "value": "value",
- }, WithDelim("[[", "]]"))
- if err != nil {
- t.Fatal(err)
- }
- defer func() {
- err := os.RemoveAll(parsedYamlDir)
- if err != nil {
- t.Fatal(err)
- }
- }()
- parsedBytes, err := os.ReadFile(filepath.Join(parsedYamlDir, parsedYamlFileName))
- if err != nil {
- t.Fatal(err)
- }
- if string(parsedBytes) != parsedYaml {
- t.Fatal("渲染后的模板值不一致")
- }
- }
- func TestParseTemplateFileToFile(t *testing.T) {
- err := ParseTemplateFileToFile(templateYamlFile, parsedYamlFileName, map[string]any{
- "key": "key",
- "value": "value",
- }, WithDelim("[[", "]]"))
- if err != nil {
- t.Fatal(err)
- }
- defer func() {
- err := os.RemoveAll(parsedYamlFileName)
- if err != nil {
- t.Fatal(err)
- }
- }()
- parsedBytes, err := os.ReadFile(parsedYamlFileName)
- if err != nil {
- t.Fatal(err)
- }
- if string(parsedBytes) != parsedYaml {
- t.Fatal("渲染后的模板值不一致")
- }
- }
- func TestParseTemplateFileToString(t *testing.T) {
- parsed, err := ParseTemplateFileToString(templateYamlFile, map[string]any{
- "key": "key",
- "value": "value",
- }, WithDelim("[[", "]]"))
- if err != nil {
- t.Fatal(err)
- }
- if parsed != parsedYaml {
- t.Fatal("渲染后的模板值不一致")
- }
- }
- func TestParseTemplateFileToBytes(t *testing.T) {
- parsedBytes, err := ParseTemplateFileToBytes(templateYamlFile, map[string]any{
- "key": "key",
- "value": "value",
- }, WithDelim("[[", "]]"))
- if err != nil {
- t.Fatal(err)
- }
- if string(parsedBytes) != parsedYaml {
- t.Fatal("渲染后的模板值不一致")
- }
- }
- func TestParseTemplateStringToString(t *testing.T) {
- parsed, err := ParseTemplateStringToString(templateYaml, map[string]any{
- "key": "key",
- "value": "value",
- }, WithDelim("[[", "]]"))
- if err != nil {
- t.Fatal(err)
- }
- if parsed != parsedYaml {
- t.Fatal("渲染后的模板值不一致")
- }
- }
- func TestParseTemplateStringToBytes(t *testing.T) {
- parsedBytes, err := ParseTemplateStringToBytes(templateYaml, map[string]any{
- "key": "key",
- "value": "value",
- }, WithDelim("[[", "]]"))
- if err != nil {
- t.Fatal(err)
- }
- if string(parsedBytes) != parsedYaml {
- t.Fatal("渲染后的模板值不一致")
- }
- }
|