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())) }