def test_get_pipeline_fields(self): app = MendeleyCache('mendeleycache') app.testing = True sut = app.test_client() """:type : FlaskClient""" # Fire fields versus an empty database response = sut.get('/fields', follow_redirects=True) """:type : Response""" self.assertEqual(response.status_code, 200) data = response.get_data(as_text=True) json_data = json.loads(data) self.assertEqual(len(json_data), 0) # Trigger the pipeline app.pipeline_controller.execute() # Fire fields versus a filled database response = sut.get('/fields', follow_redirects=True) """:type : Response""" self.assertEqual(response.status_code, 200) data = response.get_data(as_text=True) json_data = json.loads(data) self.assertEqual(len(json_data), 14)
def sample_api(): app = MendeleyCache('mendeleycache') app.debug = True report = app.pipeline_controller.execute() sut = app.test_client() """:type : FlaskClient""" calls = [ '/fields/', '/profiles/?slim=true', '/profiles/', str('/profiles/' '?field-ids=Y29udGludW91c3NvZnR3YXJlZW5naW5lZXJpbmc%3D'), str('/profiles/' '?profile-ids=Y29uc3RhbnRpbnNjaGV1ZXJtYW5u' '&field-ids=Y29udGludW91c3NvZnR3YXJlZW5naW5lZXJpbmc%3D'), '/documents/', str('/documents/' '?profile-ids=c3RlcGhhbmtydXNjaGU%3D' '&field-ids=Y29udGludW91c3NvZnR3YXJlZW5naW5lZXJpbmc%3D'), str('/documents/' '?profile-ids=c3RlcGhhbmtydXNjaGU%3D' '&field-ids=Y29udGludW91c3NvZnR3YXJlZW5naW5lZXJpbmc%3D' '&limit=1&offset=1'), str('/documents/' '?profile-ids=c3RlcGhhbmtydXNjaGU%3D' '&field-ids=Y29udGludW91c3NvZnR3YXJlZW5naW5lZXJpbmc%3D' '&limit=1&order-attr=year&order-dir=desc'), str('/documents/' '?profile-ids=c3RlcGhhbmtydXNjaGU%3D' '&field-ids=Y29udGludW91c3NvZnR3YXJlZW5naW5lZXJpbmc%3D' '&limit=1&order-attr=title'), str('/documents/' '?profile-ids=c3RlcGhhbmtydXNjaGU%3D' '&field-ids=Y29udGludW91c3NvZnR3YXJlZW5naW5lZXJpbmc%3D' '&limit=1&order-attr=source'), str('/documents/' '?profile-ids=c3RlcGhhbmtydXNjaGU%3D' '&field-ids=Y29udGludW91c3NvZnR3YXJlZW5naW5lZXJpbmc%3D' '&limit=1&order-attr=source&only-count=true'), str('/documents/' '?order-attr=year&order-dir=desc&offset=5&limit=5&only-count=true' ), '/cache/status/', '/cache/entities/' ] for call in calls: response = sut.get(call, follow_redirects=True) """:type : Response""" data = response.get_data(as_text=True) json_data = json.loads(data) print('Results for REST call: GET %s' % call) print(json.dumps(json_data, indent=2)) response = sut.post('/cache/update/', follow_redirects=True) """:type : Response""" data = response.get_data(as_text=True) json_data = json.loads(data) print('Results for REST call: POST /cache/update') print(json.dumps(json_data, indent=2))
def test_get_empty_fields(self): app = MendeleyCache('mendeleycache') app.debug = True sut = app.test_client() """:type : FlaskClient""" # Fire fields versus an empty database response = sut.get('/fields', follow_redirects=True) """:type : Response""" # Check status code self.assertEqual(response.status_code, 200) # Parse json data data = response.get_data(as_text=True)
def test_get_system(self): app = MendeleyCache("mendeleycache") app.debug = True sut = app.test_client() """:type : FlaskClient""" response = sut.get("/cache/status", follow_redirects=True) """:type : Response""" # Check status code self.assertEqual(response.status_code, 200) # Parse json data data = response.get_data(as_text=True) response_json = json.loads(data) self.assertIn("serverVersion", response_json)
def test_get_system(self): app = MendeleyCache('mendeleycache') app.debug = True sut = app.test_client() """:type : FlaskClient""" response= sut.get('/cache/status', follow_redirects=True) """:type : Response""" # Check status code self.assertEqual(response.status_code, 200) # Parse json data data=response.get_data(as_text=True) response_json = json.loads(data) self.assertIn('serverVersion', response_json)
__author__ = 'kohn' from mendeleycache.mendeleycache import MendeleyCache import flask app = MendeleyCache(__name__) @app.before_request def before(): flask.request.environ['CONTENT_TYPE'] = 'application/json' # Uncomment this, if you need CORS support. # As this docker container is used through nginx reverse proxies anyway, i wont set the header twice here # @app.after_request # def add_cors(resp): # """ # Ensure all responses have the CORS headers. This ensures any failures are also accessible # by the client. # http://mortoray.com/2014/04/09/allowing-unlimited-access-with-cors/ # """ # resp.headers['Access-Control-Allow-Origin'] = flask.request.headers.get('Origin', '*') # resp.headers['Access-Control-Allow-Credentials'] = 'true' # resp.headers['Access-Control-Allow-Methods'] = 'POST, OPTIONS, GET' # resp.headers['Access-Control-Allow-Headers'] = flask.request.headers.get( # 'Access-Control-Request-Headers', 'Authorization') # return resp
def sample_api(): app = MendeleyCache("mendeleycache") app.debug = True report = app.pipeline_controller.execute() sut = app.test_client() """:type : FlaskClient""" calls = [ "/fields/", "/profiles/?slim=true", "/profiles/", str("/profiles/" "?field-ids=Y29udGludW91c3NvZnR3YXJlZW5naW5lZXJpbmc%3D"), str( "/profiles/" "?profile-ids=Y29uc3RhbnRpbnNjaGV1ZXJtYW5u" "&field-ids=Y29udGludW91c3NvZnR3YXJlZW5naW5lZXJpbmc%3D" ), "/documents/", str( "/documents/" "?profile-ids=c3RlcGhhbmtydXNjaGU%3D" "&field-ids=Y29udGludW91c3NvZnR3YXJlZW5naW5lZXJpbmc%3D" ), str( "/documents/" "?profile-ids=c3RlcGhhbmtydXNjaGU%3D" "&field-ids=Y29udGludW91c3NvZnR3YXJlZW5naW5lZXJpbmc%3D" "&limit=1&offset=1" ), str( "/documents/" "?profile-ids=c3RlcGhhbmtydXNjaGU%3D" "&field-ids=Y29udGludW91c3NvZnR3YXJlZW5naW5lZXJpbmc%3D" "&limit=1&order-attr=year&order-dir=desc" ), str( "/documents/" "?profile-ids=c3RlcGhhbmtydXNjaGU%3D" "&field-ids=Y29udGludW91c3NvZnR3YXJlZW5naW5lZXJpbmc%3D" "&limit=1&order-attr=title" ), str( "/documents/" "?profile-ids=c3RlcGhhbmtydXNjaGU%3D" "&field-ids=Y29udGludW91c3NvZnR3YXJlZW5naW5lZXJpbmc%3D" "&limit=1&order-attr=source" ), str( "/documents/" "?profile-ids=c3RlcGhhbmtydXNjaGU%3D" "&field-ids=Y29udGludW91c3NvZnR3YXJlZW5naW5lZXJpbmc%3D" "&limit=1&order-attr=source&only-count=true" ), str("/documents/" "?order-attr=year&order-dir=desc&offset=5&limit=5&only-count=true"), "/cache/status/", "/cache/entities/", ] for call in calls: response = sut.get(call, follow_redirects=True) """:type : Response""" data = response.get_data(as_text=True) json_data = json.loads(data) print("Results for REST call: GET %s" % call) print(json.dumps(json_data, indent=2)) response = sut.post("/cache/update/", follow_redirects=True) """:type : Response""" data = response.get_data(as_text=True) json_data = json.loads(data) print("Results for REST call: POST /cache/update") print(json.dumps(json_data, indent=2))
def test_app_startup(self): app = MendeleyCache('mendeleycache') app.debug = True sut = app.test_client()