diff --git a/lib/feed_handler.rb b/lib/feed_handler.rb index e166f3a..af1d356 100644 --- a/lib/feed_handler.rb +++ b/lib/feed_handler.rb @@ -108,7 +108,7 @@ class FeedHandler end def enough_time_since_last_failure(container) - container.fetched_at < (Time.now - FeedHandler.disabled_period) + container.fetched_at.nil? || container.fetched_at < (Time.now - FeedHandler.disabled_period) end end diff --git a/test/unit/feed_handler_test.rb b/test/unit/feed_handler_test.rb index 02a1534..0eebf36 100644 --- a/test/unit/feed_handler_test.rb +++ b/test/unit/feed_handler_test.rb @@ -132,6 +132,14 @@ class FeedHandlerTest < ActiveSupport::TestCase assert container.enabled, 'must reenable container after (%s)' % container_class end + + should "handle a feed that was never fetched successfully (#{container_class})" do + container = create(container_class) + container.update_errors = FeedHandler.max_errors + 1 + container.fetched_at = nil + handler.expects(:actually_process_container).with(container) + handler.process(container) + end end should 'not crash even when finish fetch fails' do -- libgit2 0.21.2