import json import pytest from fatcat_web.search import get_elastic_container_random_releases from fatcat_openapi_client.rest import ApiException from fixtures import * def test_basic_refs(app, mocker): with open('tests/files/elastic_refs_in_release.json') as f: elastic_resp_in = json.loads(f.read()) with open('tests/files/elastic_refs_out_release.json') as f: elastic_resp_out = json.loads(f.read()) with open('tests/files/elastic_empty.json') as f: elastic_resp_empty = json.loads(f.read()) es_raw = mocker.patch('elasticsearch.connection.Urllib3HttpConnection.perform_request') es_raw.side_effect = [ (200, {}, json.dumps(elastic_resp_in)), (200, {}, json.dumps(elastic_resp_in)), (200, {}, json.dumps(elastic_resp_empty)), (200, {}, json.dumps(elastic_resp_out)), (200, {}, json.dumps(elastic_resp_out)), (200, {}, json.dumps(elastic_resp_empty)), ] # render refs-in rv = app.get('/release/aaaaaaaaaaaaarceaaaaaaaaai/refs-in') assert rv.status_code == 200 assert b"Why Most Published Research Findings Are False" in rv.data rv = app.get('/release/aaaaaaaaaaaaarceaaaaaaaaai/refs-in.json') assert rv.status_code == 200 # empty (in) rv = app.get('/release/aaaaaaaaaaaaarceaaaaaaaaai/refs-in') assert rv.status_code == 200 assert b"No References Found" in rv.data # render refs-out rv = app.get('/release/aaaaaaaaaaaaarceaaaaaaaaai/refs-out') assert rv.status_code == 200 assert b"Why Most Published Research Findings Are False" in rv.data rv = app.get('/release/aaaaaaaaaaaaarceaaaaaaaaai/refs-out.json') assert rv.status_code == 200 # empty (out) rv = app.get('/release/aaaaaaaaaaaaarceaaaaaaaaai/refs-out') assert rv.status_code == 200 assert b"No References Found" in rv.data