From 3c002be3456c4ef691495f272a137e86c71dd496 Mon Sep 17 00:00:00 2001 From: Manik Rana Date: Tue, 16 Jan 2024 20:57:18 +0530 Subject: [PATCH] tests: add tests for /go/protoutil/duration Signed-off-by: Manik Rana --- go/protoutil/duration_test.go | 47 +++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/go/protoutil/duration_test.go b/go/protoutil/duration_test.go index 20f01482563..a507630db07 100644 --- a/go/protoutil/duration_test.go +++ b/go/protoutil/duration_test.go @@ -59,6 +59,16 @@ 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, + }, } for _, tt := range tests { @@ -80,3 +90,40 @@ func TestDurationFromProto(t *testing.T) { }) } } + +func TestDurationToProto(t *testing.T) { + t.Parallel() + + 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) { + t.Parallel() + + actual := DurationToProto(tt.in) + assert.Equal(t, tt.expected, actual) + }) + } +}