1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- package api
- import (
- "encoding/json"
- "math"
- "testing"
- "time"
- "github.com/stretchr/testify/assert"
- "github.com/stretchr/testify/require"
- )
- func TestKeepAliveParsingFromJSON(t *testing.T) {
- tests := []struct {
- name string
- req string
- exp *Duration
- }{
- {
- name: "Positive Integer",
- req: `{ "keep_alive": 42 }`,
- exp: &Duration{42 * time.Second},
- },
- {
- name: "Positive Integer String",
- req: `{ "keep_alive": "42m" }`,
- exp: &Duration{42 * time.Minute},
- },
- {
- name: "Negative Integer",
- req: `{ "keep_alive": -1 }`,
- exp: &Duration{math.MaxInt64},
- },
- {
- name: "Negative Integer String",
- req: `{ "keep_alive": "-1m" }`,
- exp: &Duration{math.MaxInt64},
- },
- }
- for _, test := range tests {
- t.Run(test.name, func(t *testing.T) {
- var dec ChatRequest
- err := json.Unmarshal([]byte(test.req), &dec)
- require.NoError(t, err)
- assert.Equal(t, test.exp, dec.KeepAlive)
- })
- }
- }
|