diff options
author | 2023-08-24 12:02:46 +0200 | |
---|---|---|
committer | 2023-08-31 20:27:09 -0700 | |
commit | bea9017b4833ee8608657feb31d650fe48183c8d (patch) | |
tree | 88ac5340ed864150b63a2082fad03c034f9e2d1d /internal/model/feed_test.go | |
parent | 64c4c6b34743761d0f6ea02fc4d37594781afbf4 (diff) | |
download | v2-bea9017b4833ee8608657feb31d650fe48183c8d.tar.gz v2-bea9017b4833ee8608657feb31d650fe48183c8d.tar.zst v2-bea9017b4833ee8608657feb31d650fe48183c8d.zip |
Add factor for entry_frequency scheduler
Allow the user to increase the frequency of the entry_frequency
scheduler by a configurable factor in order to shorten the time between
updates.
Diffstat (limited to 'internal/model/feed_test.go')
-rw-r--r-- | internal/model/feed_test.go | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/internal/model/feed_test.go b/internal/model/feed_test.go index 91850f50..34f89e90 100644 --- a/internal/model/feed_test.go +++ b/internal/model/feed_test.go @@ -152,3 +152,28 @@ func TestFeedScheduleNextCheckEntryCountBasedMinInterval(t *testing.T) { t.Error(`The next_check_at should not be before the now + min interval`) } } + +func TestFeedScheduleNextCheckEntryFrequencyFactor(t *testing.T) { + factor := 2 + os.Clearenv() + os.Setenv("POLLING_SCHEDULER", "entry_frequency") + os.Setenv("SCHEDULER_ENTRY_FREQUENCY_FACTOR", fmt.Sprintf("%d", factor)) + + var err error + parser := config.NewParser() + config.Opts, err = parser.ParseEnvironmentVariables() + if err != nil { + t.Fatalf(`Parsing failure: %v`, err) + } + feed := &Feed{} + weeklyCount := 7 + feed.ScheduleNextCheck(weeklyCount) + + if feed.NextCheckAt.IsZero() { + t.Error(`The next_check_at must be set`) + } + + if feed.NextCheckAt.After(time.Now().Add(time.Minute * time.Duration(config.Opts.SchedulerEntryFrequencyMaxInterval()/factor))) { + t.Error(`The next_check_at should not be after the now + factor * count`) + } +} |