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  }