mirror of
https://github.com/kyverno/kyverno.git
synced 2025-03-30 19:35:06 +00:00
Fixes time_now
failing (#5928)
* fixes time_now Signed-off-by: Vishal Choudhary <contactvishaltech@gmail.com> * testing Signed-off-by: Vishal Choudhary <contactvishaltech@gmail.com> * simplified Signed-off-by: Vishal Choudhary <contactvishaltech@gmail.com> Signed-off-by: Vishal Choudhary <contactvishaltech@gmail.com>
This commit is contained in:
parent
76b716da4e
commit
837f474969
2 changed files with 30 additions and 24 deletions
|
@ -380,10 +380,7 @@ func GetFunctions() []*FunctionEntry {
|
|||
},
|
||||
{
|
||||
Entry: &gojmespath.FunctionEntry{
|
||||
Name: timeNow,
|
||||
Arguments: []ArgSpec{
|
||||
{Types: []JpType{JpString}},
|
||||
},
|
||||
Name: timeNow,
|
||||
Handler: jpTimeNow,
|
||||
},
|
||||
ReturnType: []JpType{JpString},
|
||||
|
@ -877,26 +874,9 @@ func jpTimeSince(arguments []interface{}) (interface{}, error) {
|
|||
}
|
||||
|
||||
func jpTimeNow(arguments []interface{}) (interface{}, error) {
|
||||
var err error
|
||||
layout, err := validateArg("", arguments, 0, reflect.String)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var t time.Time
|
||||
|
||||
t = time.Now()
|
||||
if layout.String() != "" {
|
||||
t, err = time.Parse(layout.String(), t.String())
|
||||
} else {
|
||||
t, err = time.Parse(time.RFC3339, t.String())
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return t.String(), nil
|
||||
var ts time.Time = time.Now()
|
||||
var t string = ts.Format(time.RFC3339)
|
||||
return t, nil
|
||||
}
|
||||
|
||||
func jpPathCanonicalize(arguments []interface{}) (interface{}, error) {
|
||||
|
|
|
@ -5,6 +5,7 @@ import (
|
|||
"fmt"
|
||||
"runtime"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"gotest.tools/assert"
|
||||
)
|
||||
|
@ -1639,3 +1640,28 @@ func Test_TimeParse(t *testing.T) {
|
|||
})
|
||||
}
|
||||
}
|
||||
|
||||
func Test_TimeNow(t *testing.T) {
|
||||
testCases := []struct {
|
||||
test string
|
||||
layout string
|
||||
}{
|
||||
{
|
||||
test: "time_now()",
|
||||
},
|
||||
}
|
||||
for i, tc := range testCases {
|
||||
t.Run(fmt.Sprintf("case %d", i), func(t *testing.T) {
|
||||
query, err := New(tc.test)
|
||||
assert.NilError(t, err)
|
||||
|
||||
res, err := query.Search("")
|
||||
assert.NilError(t, err)
|
||||
|
||||
result, ok := res.(string)
|
||||
assert.Assert(t, ok)
|
||||
|
||||
assert.Equal(t, result, time.Now().Format(time.RFC3339))
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue