Files

66 lines
1.8 KiB
Go

package worker
import (
"encoding/json"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestMarshalPayload_Nil_Cov3(t *testing.T) {
result, err := marshalPayload(nil)
require.NoError(t, err)
assert.Equal(t, json.RawMessage(`{}`), result)
}
func TestMarshalPayload_JSONRawMessage_Valid_Cov3(t *testing.T) {
input := json.RawMessage(`{"key":"value"}`)
result, err := marshalPayload(input)
require.NoError(t, err)
assert.Equal(t, input, result)
}
func TestMarshalPayload_JSONRawMessage_Invalid_Cov3(t *testing.T) {
input := json.RawMessage(`{invalid}`)
_, err := marshalPayload(input)
require.Error(t, err)
}
func TestMarshalPayload_Bytes_Valid_Cov3(t *testing.T) {
input := []byte(`{"key":"value"}`)
result, err := marshalPayload(input)
require.NoError(t, err)
assert.Equal(t, json.RawMessage(input), result)
}
func TestMarshalPayload_Bytes_Invalid_Cov3(t *testing.T) {
input := []byte(`{invalid}`)
_, err := marshalPayload(input)
require.Error(t, err)
}
func TestMarshalPayload_Struct_Cov3(t *testing.T) {
type testPayload struct {
Name string `json:"name"`
}
result, err := marshalPayload(testPayload{Name: "test"})
require.NoError(t, err)
assert.Contains(t, string(result), `"name":"test"`)
}
func TestMarshalPayload_Map_Cov3(t *testing.T) {
result, err := marshalPayload(map[string]any{"key": "value"})
require.NoError(t, err)
assert.Contains(t, string(result), `"key":"value"`)
}
func TestDefaultBackoff_Cov3(t *testing.T) {
assert.Equal(t, 1, int(defaultBackoff(1).Seconds()))
assert.Equal(t, 2, int(defaultBackoff(2).Seconds()))
assert.Equal(t, 4, int(defaultBackoff(3).Seconds()))
assert.Equal(t, 300, int(defaultBackoff(20).Seconds()))
assert.Equal(t, 1, int(defaultBackoff(0).Seconds()))
assert.Equal(t, 1, int(defaultBackoff(-1).Seconds()))
}