diff options
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`) + } +} |