(t *testing.T)
| 8802 | } |
| 8803 | |
| 8804 | func 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 |
nothing calls this directly
no test coverage detected
searching dependent graphs…