mirror of https://github.com/databricks/cli.git
42 lines
900 B
Go
42 lines
900 B
Go
|
package dyn_test
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
"time"
|
||
|
|
||
|
"github.com/databricks/cli/libs/dyn"
|
||
|
assert "github.com/databricks/cli/libs/dyn/dynassert"
|
||
|
)
|
||
|
|
||
|
func TestTimeValid(t *testing.T) {
|
||
|
for _, tc := range []string{
|
||
|
"2024-08-29",
|
||
|
"2024-01-15T12:34:56.789012345Z",
|
||
|
} {
|
||
|
tm, err := dyn.NewTime(tc)
|
||
|
if assert.NoError(t, err) {
|
||
|
assert.NotEqual(t, time.Time{}, tm.Time())
|
||
|
assert.Equal(t, tc, tm.String())
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestTimeInvalid(t *testing.T) {
|
||
|
tm, err := dyn.NewTime("invalid")
|
||
|
assert.Error(t, err)
|
||
|
assert.Equal(t, dyn.Time{}, tm)
|
||
|
}
|
||
|
|
||
|
func TestTimeFromTime(t *testing.T) {
|
||
|
tref := time.Now()
|
||
|
t1 := dyn.FromTime(tref)
|
||
|
|
||
|
// Verify that the underlying value is the same.
|
||
|
assert.Equal(t, tref, t1.Time())
|
||
|
|
||
|
// Verify that the string representation can be used to construct the same.
|
||
|
t2, err := dyn.NewTime(t1.String())
|
||
|
assert.NoError(t, err)
|
||
|
assert.True(t, t1.Time().Equal(t2.Time()))
|
||
|
}
|