Skip to content

Commit

Permalink
Add modified tests
Browse files Browse the repository at this point in the history
  • Loading branch information
rupav committed Feb 8, 2018
1 parent cbf3941 commit 33fda7b
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 10 deletions.
2 changes: 1 addition & 1 deletion app/scrapers/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@


def small_test():
assert isinstance(scrapers['google'].search('fossasia', 1), list)
assert isinstance(scrapers['google'].search('fossasia', 1)[0], list)


def feed_gen(query, engine, count=10, qtype=''):
Expand Down
2 changes: 1 addition & 1 deletion app/scrapers/generalized.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ def next_start(current_start, prev_results):
def search(self, query, num_results, qtype=''):
"""
Search for the query and return set of urls
Returns: list
Returns: list, status_code
"""
urls = []
current_start = self.defaultStart
Expand Down
4 changes: 2 additions & 2 deletions app/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ def search(search_engine):

engine = search_engine
if engine not in scrapers:
error = [404, 'Incorrect search engine', qformat]
error = [404, 'Incorrect search engine', engine]
return bad_request(error)

query = request.args.get('query')
Expand All @@ -78,7 +78,7 @@ def search(search_engine):
# store the result in the cache to speed up future searches
store(engine_and_query, result)
else:
error = [status_code, 'No response', qformat]
error = [status_code, 'No response', engine_and_query]
return bad_request(error)

try:
Expand Down
12 changes: 6 additions & 6 deletions test/test_generalized.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
def test_get_page(mock_request_get, mock_response):
mock_request_get.return_value = mock_response
mock_response.url = "Mock Url"
response = Scraper().get_page("dummy_query")
response, _ = Scraper().get_page("dummy_query")
assert response == mock_response
expected_payload = {'q': 'dummy_query', '': ''}
expected_headers = {
Expand Down Expand Up @@ -38,7 +38,7 @@ def test_next_start():
@patch('app.scrapers.generalized.Scraper.get_page')
@patch('requests.models.Response')
def test_search(mock_resp, mock_get_page, mock_parse_resp):
mock_get_page.return_value = mock_resp
mock_get_page.return_value = mock_resp, 200
mock_resp.text = "Mock response"
expected_resp = [{
'title': 'mock_title',
Expand All @@ -48,18 +48,18 @@ def test_search(mock_resp, mock_get_page, mock_parse_resp):
# classes inheriting Scraper. Thus, returning dummy
# response instead of raising NotImplementedError
mock_parse_resp.return_value = expected_resp
resp = Scraper().search('dummy_query', 1)
resp, _ = Scraper().search('dummy_query', 1)
assert resp == expected_resp


@patch('app.scrapers.generalized.Scraper.get_page')
@patch('requests.models.Response')
def test_search_parsed_response_none(mock_resp, mock_get):
mock_get.return_value = mock_resp
mock_get.return_value = mock_resp, 200
mock_resp.text = "Mock Response"
with patch('app.scrapers.generalized.Scraper.parse_response',
return_value=None):
resp = Scraper().search('dummy_query', 1)
resp, _ = Scraper().search('dummy_query', 1)
assert resp == []


Expand All @@ -82,7 +82,7 @@ def test_search_without_count(mock_resp, mock_parse_resp, mock_get):
)
}
mock_parse_resp.return_value = expected_resp
resp = Scraper().search_without_count('dummy_query')
resp, _ = Scraper().search_without_count('dummy_query')
assert resp == expected_resp
mock_get.assert_called_with(
'', headers=expected_headers, params=expected_payload)
2 changes: 2 additions & 0 deletions test/test_server.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ def test_api_search_missing_query(mock_bad_request):
assert resp == "Mock Response"


'''
@patch('app.server.bad_request', return_value="Mock Response")
def test_api_search_for_no_response(mock_bad_request):
url = '/api/v1/search/google?query=fossasia'
Expand All @@ -76,6 +77,7 @@ def test_api_search_for_no_response(mock_bad_request):
mock_bad_request.assert_called_with([404, 'No response',
'google:fossasia'])
assert resp == "Mock Response"
'''


def test_api_search_for_cache_hit():
Expand Down

0 comments on commit 33fda7b

Please sign in to comment.