2021-08-27 02:38:15 +05:30
|
|
|
package dsl
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"testing"
|
2021-09-24 19:35:00 +05:30
|
|
|
"time"
|
2021-08-27 02:38:15 +05:30
|
|
|
|
2021-09-24 19:35:00 +05:30
|
|
|
"github.com/Knetic/govaluate"
|
2021-08-27 02:38:15 +05:30
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func TestDSLURLEncodeDecode(t *testing.T) {
|
|
|
|
|
functions := HelperFunctions()
|
|
|
|
|
|
|
|
|
|
encoded, err := functions["url_encode"]("&test\"")
|
|
|
|
|
require.Nil(t, err, "could not url encode")
|
|
|
|
|
require.Equal(t, "%26test%22", encoded, "could not get url encoded data")
|
|
|
|
|
|
|
|
|
|
decoded, err := functions["url_decode"]("%26test%22")
|
|
|
|
|
require.Nil(t, err, "could not url encode")
|
|
|
|
|
require.Equal(t, "&test\"", decoded, "could not get url decoded data")
|
|
|
|
|
}
|
2021-09-24 19:35:00 +05:30
|
|
|
|
|
|
|
|
func TestDSLTimeComparison(t *testing.T) {
|
|
|
|
|
compiled, err := govaluate.NewEvaluableExpressionWithFunctions("time_now() > not_after", HelperFunctions())
|
|
|
|
|
require.Nil(t, err, "could not compare time")
|
|
|
|
|
|
|
|
|
|
result, err := compiled.Evaluate(map[string]interface{}{"not_after": float64(time.Now().Unix() - 1000)})
|
|
|
|
|
require.Nil(t, err, "could not evaluate compare time")
|
|
|
|
|
require.Equal(t, true, result, "could not get url encoded data")
|
|
|
|
|
}
|