Skip to content

Commit

Permalink
tests: add tests for go/protoutil/duration (#14965)
Browse files Browse the repository at this point in the history
Signed-off-by: Manik Rana <manikrana54@gmail.com>
  • Loading branch information
Maniktherana authored Jan 17, 2024
1 parent 9552e4c commit b15e9f6
Showing 1 changed file with 55 additions and 2 deletions.
57 changes: 55 additions & 2 deletions go/protoutil/duration_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ import (
)

func TestDurationFromProto(t *testing.T) {
t.Parallel()

tests := []struct {
name string
Expand Down Expand Up @@ -59,13 +58,32 @@ func TestDurationFromProto(t *testing.T) {
isOk: true,
shouldErr: true,
},
{
name: "nanoseconds",
in: &vttime.Duration{
Seconds: 1,
Nanos: 500000000,
},
expected: time.Second + 500*time.Millisecond,
isOk: true,
shouldErr: false,
},
{
name: "out of range nanoseconds",
in: &vttime.Duration{
Seconds: -1,
Nanos: 500000000,
},
expected: 0,
isOk: true,
shouldErr: true,
},
}

for _, tt := range tests {
tt := tt

t.Run(tt.name, func(t *testing.T) {
t.Parallel()

actual, ok, err := DurationFromProto(tt.in)
if tt.shouldErr {
Expand All @@ -80,3 +98,38 @@ func TestDurationFromProto(t *testing.T) {
})
}
}

func TestDurationToProto(t *testing.T) {

tests := []struct {
name string
in time.Duration
expected *vttime.Duration
}{
{
name: "success",
in: time.Second * 1000,
expected: &vttime.Duration{Seconds: 1000},
},
{
name: "zero duration",
in: 0,
expected: &vttime.Duration{},
},
{
name: "nanoseconds",
in: time.Second + 500*time.Millisecond,
expected: &vttime.Duration{Seconds: 1, Nanos: 500000000},
},
}

for _, tt := range tests {
tt := tt

t.Run(tt.name, func(t *testing.T) {

actual := DurationToProto(tt.in)
assert.Equal(t, tt.expected, actual)
})
}
}

0 comments on commit b15e9f6

Please sign in to comment.