github.com/wynshop-open-source/gomplate@v3.5.0+incompatible/test/test.go (about) 1 // Package test contains functions to help validate assumptions and can cause 2 // template generation to fail in specific cases 3 package test 4 5 import ( 6 "github.com/pkg/errors" 7 // "reflect" 8 ) 9 10 // Assert - 11 func Assert(value bool, message string) (string, error) { 12 if !value { 13 if message != "" { 14 return "", errors.Errorf("assertion failed: %s", message) 15 } 16 return "", errors.New("assertion failed") 17 } 18 return "", nil 19 } 20 21 // Fail - 22 func Fail(message string) error { 23 if message != "" { 24 return errors.Errorf("template generation failed: %s", message) 25 } 26 return errors.New("template generation failed") 27 } 28 29 // Required - 30 func Required(message string, value interface{}) (interface{}, error) { 31 if message == "" { 32 message = "can not render template: a required value was not set" 33 } 34 35 if s, ok := value.(string); value == nil || (ok && s == "") { 36 return nil, errors.New(message) 37 } 38 39 return value, nil 40 }