2022-03-30 01:46:21 +05:30
package variables
import (
"testing"
2022-04-07 07:53:01 +02:00
"time"
2022-03-30 01:46:21 +05:30
"github.com/stretchr/testify/require"
"gopkg.in/yaml.v2"
)
func TestVariablesEvaluate ( t * testing . T ) {
2022-04-20 15:41:21 +05:30
data := ` a1 : "{{rand_base(5)}}"
a2 : "{{md5(a1)}}"
a3 : "this_is_random_text"
2022-06-08 17:43:52 +03:00
a4 : "{{date_time('%Y-%M-%D')}}"
2022-04-20 15:41:21 +05:30
a5 : "{{reverse(hostname)}}"
a6 : "123456" `
2022-03-30 01:46:21 +05:30
variables := Variable { }
err := yaml . Unmarshal ( [ ] byte ( data ) , & variables )
require . NoError ( t , err , "could not unmarshal variables" )
result := variables . Evaluate ( map [ string ] interface { } { "hostname" : "google.com" } )
2022-04-07 07:53:01 +02:00
a4 := time . Now ( ) . Format ( "2006-01-02" )
require . Equal ( t , map [ string ] interface { } { "a1" : "BpLnf" , "a2" : "531403a4c6a4133e42d0499b5a6ee60f" , "a3" : "this_is_random_text" , "a4" : a4 , "a5" : "moc.elgoog" , "a6" : "123456" } , result , "could not get correct elements" )
2022-03-30 01:46:21 +05:30
}