def test_parse_drug_details_or_overview_raises_exception_for_unknown_pages(self): url = 'http://www.accessdata.fda.gov/' mock_response = HtmlResponse(url=url) with pytest.raises(Exception): spider = Spider() spider.parse_drug_details_or_overview(mock_response)
def test_parse_drug_details_or_overview_raises_exception_for_unknown_pages( self): url = 'http://www.accessdata.fda.gov/' mock_response = HtmlResponse(url=url) with pytest.raises(Exception): spider = Spider() spider.parse_drug_details_or_overview(mock_response)
def test_parse_drug_details_or_overview_delegates_to_parse_drug_details_when_response_in_drug_overview(self): url = 'http://www.accessdata.fda.gov/scripts/cder/drugsatfda/index.cfm?fuseaction=Search.Overview&DrugName=E-BASE' mock_response = HtmlResponse(url=url) expected_result = 'expected_result' with mock.patch.object(Spider, 'parse_drug_overview', return_value=expected_result) as mock_method: spider = Spider() result = spider.parse_drug_details_or_overview(mock_response) mock_method.assert_called_once_with(mock_response) assert result == expected_result
def test_parse_drug_details_or_overview_delegates_to_parse_drug_details_when_response_in_drug_overview( self): url = 'http://www.accessdata.fda.gov/scripts/cder/drugsatfda/index.cfm?fuseaction=Search.Overview&DrugName=E-BASE' mock_response = HtmlResponse(url=url) expected_result = 'expected_result' with mock.patch.object(Spider, 'parse_drug_overview', return_value=expected_result) as mock_method: spider = Spider() result = spider.parse_drug_details_or_overview(mock_response) mock_method.assert_called_once_with(mock_response) assert result == expected_result
def test_parse_drug_details_or_overview_generates_new_request_if_redirected_to_search_page(self): url = 'http://www.accessdata.fda.gov/scripts/cder/drugsatfda/index.cfm?fuseaction=Search.Search_Drug_Name' meta = { 'original_url': 'http://www.accessdata.fda.gov/somewhere.cfm', 'original_cookies': { 'foo': 'bar', }, } mock_response = HtmlResponse(url=url) mock_response.request = Request(url, meta=meta) with mock.patch('random.random', return_value='random_cookiejar'): spider = Spider() request = spider.parse_drug_details_or_overview(mock_response) assert request.url == meta['original_url'] assert request.cookies == meta['original_cookies'] assert request.dont_filter assert request.callback == spider.parse_drug_details_or_overview assert request.meta['cookiejar'] == 'random_cookiejar'
def test_parse_drug_details_or_overview_generates_new_request_if_redirected_to_search_page( self): url = 'http://www.accessdata.fda.gov/scripts/cder/drugsatfda/index.cfm?fuseaction=Search.Search_Drug_Name' meta = { 'original_url': 'http://www.accessdata.fda.gov/somewhere.cfm', 'original_cookies': { 'foo': 'bar', }, } mock_response = HtmlResponse(url=url) mock_response.request = Request(url, meta=meta) with mock.patch('random.random', return_value='random_cookiejar'): spider = Spider() request = spider.parse_drug_details_or_overview(mock_response) assert request.url == meta['original_url'] assert request.cookies == meta['original_cookies'] assert request.dont_filter assert request.callback == spider.parse_drug_details_or_overview assert request.meta['cookiejar'] == 'random_cookiejar'