MCPcopy Index your code
hub / github.com/riverqueue/river / TestInsertParamsFromJobArgsAndOptions

Function TestInsertParamsFromJobArgsAndOptions

client_test.go:8804–9052  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

8802}
8803
8804func TestInsertParamsFromJobArgsAndOptions(t *testing.T) {
8805 t.Parallel()
8806
8807 archetype := riversharedtest.BaseServiceArchetype(t)
8808 config := newTestConfig(t, "")
8809
8810 t.Run("Defaults", func(t *testing.T) {
8811 t.Parallel()
8812
8813 insertParams, err := insertParamsFromConfigArgsAndOptions(archetype, config, noOpArgs{}, nil)
8814 require.NoError(t, err)
8815 require.JSONEq(t, `{"name":""}`, string(insertParams.EncodedArgs))
8816 require.Equal(t, (noOpArgs{}).Kind(), insertParams.Kind)
8817 require.Equal(t, config.MaxAttempts, insertParams.MaxAttempts)
8818 require.Equal(t, rivercommon.PriorityDefault, insertParams.Priority)
8819 require.Equal(t, QueueDefault, insertParams.Queue)
8820 require.Nil(t, insertParams.ScheduledAt)
8821 require.Equal(t, []string{}, insertParams.Tags)
8822 require.Empty(t, insertParams.UniqueKey)
8823 require.Zero(t, insertParams.UniqueStates)
8824 })
8825
8826 t.Run("ConfigOverrides", func(t *testing.T) {
8827 t.Parallel()
8828
8829 overrideConfig := &Config{
8830 MaxAttempts: 34,
8831 }
8832
8833 insertParams, err := insertParamsFromConfigArgsAndOptions(archetype, overrideConfig, noOpArgs{}, nil)
8834 require.NoError(t, err)
8835 require.Equal(t, overrideConfig.MaxAttempts, insertParams.MaxAttempts)
8836 })
8837
8838 t.Run("InsertOptsOverrides", func(t *testing.T) {
8839 t.Parallel()
8840
8841 opts := &InsertOpts{
8842 MaxAttempts: 42,
8843 Priority: 2,
8844 Queue: "other",
8845 ScheduledAt: time.Now().Add(time.Hour),
8846 Tags: []string{"tag1", "tag2"},
8847 }
8848 insertParams, err := insertParamsFromConfigArgsAndOptions(archetype, config, noOpArgs{}, opts)
8849 require.NoError(t, err)
8850 require.Equal(t, 42, insertParams.MaxAttempts)
8851 require.Equal(t, 2, insertParams.Priority)
8852 require.Equal(t, "other", insertParams.Queue)
8853 require.Equal(t, opts.ScheduledAt, *insertParams.ScheduledAt)
8854 require.Equal(t, []string{"tag1", "tag2"}, insertParams.Tags)
8855 })
8856
8857 t.Run("WorkerInsertOptsOverrides", func(t *testing.T) {
8858 t.Parallel()
8859
8860 nearFuture := time.Now().Add(5 * time.Minute)
8861

Callers

nothing calls this directly

Calls 10

StateBitmaskMethod · 0.95
BaseServiceArchetypeFunction · 0.92
UniqueKeyFunction · 0.92
newTestConfigFunction · 0.70
RunMethod · 0.65
KindMethod · 0.65
NowMethod · 0.65
StubNowMethod · 0.65
AddMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…