diff options
| -rw-r--r-- | fatcat/api_client.py | 11 | ||||
| -rw-r--r-- | fatcat/routes.py | 24 | ||||
| -rw-r--r-- | tests/routes.py | 30 | 
3 files changed, 31 insertions, 34 deletions
| diff --git a/fatcat/api_client.py b/fatcat/api_client.py index e371b727..0c9336ee 100644 --- a/fatcat/api_client.py +++ b/fatcat/api_client.py @@ -12,13 +12,10 @@ class FatCatApiClient:      def get(self, path):          return self.session.get(self.host_url + path) -    def post(self, path, data=None, headers=None): -        hdrs = {"content-type": "application/json"} -        if headers: -            hdrs.update(headers) -        #if type(data) == dict: -        #    data = json.dumps(data, indent=None).encode('utf-8') -        return self.session.post(self.host_url + path, json=data, headers=hdrs) +    def post(self, path, data=None): +        headers = {"content-type": "application/json"} +        return self.session.post(self.host_url + path, json=data, +            headers=headers)      def import_crossref_file(self, json_file):          eg = self.new_editgroup() diff --git a/fatcat/routes.py b/fatcat/routes.py index b1568833..ba12043d 100644 --- a/fatcat/routes.py +++ b/fatcat/routes.py @@ -21,18 +21,12 @@ def work_random():  @app.route('/work/<int:ident>', methods=['GET'])  def work_view(ident):      rv = api.api_work_get(ident) -    if rv.status_code != 200: -        # TODO: better wrapping for all entities -        return abort(rv.status_code)      entity = json.loads(rv.data.decode('utf-8'))      return render_template('work_view.html', work=entity)  @app.route('/release/<int:ident>', methods=['GET'])  def release_view(ident):      rv = api.api_release_get(ident) -    if rv.status_code != 200: -        # TODO: better wrapping for all entities -        return abort(rv.status_code)      entity = json.loads(rv.data.decode('utf-8'))      return render_template('release_view.html', release=entity) @@ -45,36 +39,24 @@ def release_random():  @app.route('/creator/<int:ident>', methods=['GET'])  def creator_view(ident):      rv = api.api_creator_get(ident) -    if rv.status_code != 200: -        # TODO: better wrapping for all entities -        return abort(rv.status_code)      entity = json.loads(rv.data.decode('utf-8'))      return render_template('creator_view.html', creator=entity)  @app.route('/container/<int:ident>', methods=['GET'])  def container_view(ident):      rv = api.api_container_get(ident) -    if rv.status_code != 200: -        # TODO: better wrapping for all entities -        return abort(rv.status_code)      entity = json.loads(rv.data.decode('utf-8'))      return render_template('container_view.html', container=entity)  @app.route('/file/<int:ident>', methods=['GET'])  def file_view(ident):      rv = api.api_file_get(ident) -    if rv.status_code != 200: -        # TODO: better wrapping for all entities -        return abort(rv.status_code)      entity = json.loads(rv.data.decode('utf-8'))      return render_template('file_view.html', file=entity)  @app.route('/editgroup/<int:ident>', methods=['GET'])  def editgroup_view(ident):      rv = api.api_editgroup_get(ident) -    if rv.status_code != 200: -        # TODO: better wrapping for all entities -        return abort(rv.status_code)      entity = json.loads(rv.data.decode('utf-8'))      return render_template('editgroup_view.html', editgroup=entity) @@ -86,18 +68,12 @@ def editgroup_current():  @app.route('/editor/<username>', methods=['GET'])  def editor_view(username):      rv = api.api_editor_get(username) -    if rv.status_code != 200: -        # TODO: better wrapping for all entities -        return abort(rv.status_code)      entity = json.loads(rv.data.decode('utf-8'))      return render_template('editor_view.html', editor=entity)  @app.route('/editor/<username>/changelog', methods=['GET'])  def editor_changelog(username):      rv = api.api_editor_get(username) -    if rv.status_code != 200: -        # TODO: better wrapping for all entities -        return abort(rv.status_code)      editor = json.loads(rv.data.decode('utf-8'))      rv = api.api_editor_changelog(username)      changelog_entries = json.loads(rv.data.decode('utf-8')) diff --git a/tests/routes.py b/tests/routes.py index e389a55f..d74412b6 100644 --- a/tests/routes.py +++ b/tests/routes.py @@ -26,15 +26,39 @@ def test_all_views(rich_app):          rv = app.get('/{}/1'.format(route))          assert rv.status_code == 200 -        rv = app.get('/v0/work/random') -        rv = app.get(rv.location) -        assert rv.status_code == 200 +        rv = app.get('/{}/999999999999'.format(route)) +        assert rv.status_code == 404 + +    rv = app.get('/work/random') +    rv = app.get(rv.location) +    assert rv.status_code == 200 + +    rv = app.get('/work/random') +    assert rv.status_code == 302 + +    rv = app.get('/work/create') +    assert rv.status_code == 200 + +    rv = app.get('/release/random') +    assert rv.status_code == 302      rv = app.get('/editgroup/1')      assert rv.status_code == 200 +    rv = app.get('/editgroup/99999999') +    assert rv.status_code == 404 + +    rv = app.get('/editgroup/current') +    assert rv.status_code == 302 +      rv = app.get('/editor/admin')      assert rv.status_code == 200 +    rv = app.get('/editor/bizzaro') +    assert rv.status_code == 404 +      rv = app.get('/editor/admin/changelog')      assert rv.status_code == 200 + +    rv = app.get('/editor/bizarro/changelog') +    assert rv.status_code == 404 | 
