@@ -233,6 +233,36 @@ def run
233233 assert logfile_contains ( logfile , 'in `run' )
234234 end
235235
236+ test 'does not scrape disabled or unapproved sources' do
237+ WebMock . stub_request ( :get , /https:\/ \/ app.com\/ \d / ) . to_return ( status : 200 ,
238+ body : File . open ( Rails . root . join ( 'test' , 'fixtures' , 'files' , 'ingestion' , 'events.csv' ) ) )
239+
240+ scraper = Scraper . new ( load_scraper_config ( 'test_ingestion_disabled.yml' ) )
241+ provider = content_providers ( :goblet )
242+ user = users ( :admin )
243+ unapproved_source = provider . sources . create! ( url : 'https://app.com/2' , method : 'event_csv' , user : user ,
244+ enabled : true , approval_status : 'not_approved' )
245+ approval_requested_source = provider . sources . create! ( url : 'https://app.com/3' , method : 'event_csv' , user : user ,
246+ enabled : true , approval_status : 'requested' )
247+ User . current_user = user # Admin is required to save approved status
248+ enabled_source = provider . sources . create! ( url : 'https://app.com/1' , method : 'event_csv' , user : user ,
249+ enabled : true , approval_status : 'approved' )
250+ disabled_source = provider . sources . create! ( url : 'https://app.com/4' , method : 'event_csv' , user : user ,
251+ enabled : false , approval_status : 'approved' )
252+
253+ scraper . run
254+
255+ logfile = scraper . log_file
256+ # From Config
257+ assert logfile_contains ( logfile , "Source URL[https://app.com/events/sitemap.xml]" )
258+ refute logfile_contains ( logfile , "Source URL[https://app.com/events/disabled.xml]" )
259+ # From Database
260+ assert logfile_contains ( logfile , "Source URL[#{ enabled_source . url } ]" )
261+ refute logfile_contains ( logfile , "Source URL[#{ disabled_source . url } ]" )
262+ refute logfile_contains ( logfile , "Source URL[#{ unapproved_source . url } ]" )
263+ refute logfile_contains ( logfile , "Source URL[#{ approval_requested_source . url } ]" )
264+ end
265+
236266 private
237267
238268 def check_task_finished ( logfile )
0 commit comments