[OAuth2Provider] Add webAPI end point for user to remove OAuth2 token from My Account page

Review Request #7964 — Created Feb. 15, 2016 and discarded

Information

Review Board
master

Reviewers

A new webAPI end point is added for user to GET and DELETE a OAuth2 token given
OAuth2 token ID. The webAPI is meant to be called from My Account for user to
remove a OAuth2 token.

Command run: python ./tests/runtests.py reviewboard.webapi.tests.test_oauth2_token

Test GET for list of OAuth2 token
Test GET and DELETE for OAuth2 token

This a copy from test_api_token

Description From Last Updated

'json' imported but unused

reviewbotreviewbot

'ValidationError' imported but unused

reviewbotreviewbot

'ObjectDoesNotExist' imported but unused

reviewbotreviewbot

'_' imported but unused

reviewbotreviewbot

'webapi_response_errors' imported but unused

reviewbotreviewbot

'webapi_request_fields' imported but unused

reviewbotreviewbot

'webapi_login_required' imported but unused

reviewbotreviewbot

'NOT_LOGGED_IN' imported but unused

reviewbotreviewbot

'DOES_NOT_EXIST' imported but unused

reviewbotreviewbot

'PERMISSION_DENIED' imported but unused

reviewbotreviewbot

'INVALID_FORM_DATA' imported but unused

reviewbotreviewbot

'resources' imported but unused

reviewbotreviewbot

'Application' imported but unused

reviewbotreviewbot

'oauth2_token_item_mimetype' imported but unused

reviewbotreviewbot

Col: 1 E302 expected 2 blank lines, found 1

reviewbotreviewbot

oauth2_provider is an outside module, so should belong in the same import group, in alphabetical order.

chipx86chipx86

Same import group.

chipx86chipx86

This seems to be missing a _get_queryset. It'd need one in order to limit results to the user, and to …

chipx86chipx86

Blank line between these.

chipx86chipx86

This is an outside module, so it should be part of the next import group.

chipx86chipx86

Make sure things are in alphabetical order.

chipx86chipx86

No need for parens.

chipx86chipx86

Indented too far.

chipx86chipx86

We don't put one argument per line. Ends up being pretty long this way. Same below.

chipx86chipx86

Same line, no trailing comma, since this is a function call.

chipx86chipx86

Blank line between these.

chipx86chipx86

Same line, no comma.

chipx86chipx86

Blank line between these. Same below.

chipx86chipx86

Col: 18 E711 comparison to None should be 'if cond is None:'

reviewbotreviewbot

Col: 20 E711 comparison to None should be 'if cond is None:'

reviewbotreviewbot

Col: 24 E711 comparison to None should be 'if cond is None:'

reviewbotreviewbot

Col: 49 E128 continuation line under-indented for visual indent

reviewbotreviewbot

Col: 18 E711 comparison to None should be 'if cond is None:'

reviewbotreviewbot

Col: 20 E711 comparison to None should be 'if cond is None:'

reviewbotreviewbot

Col: 24 E711 comparison to None should be 'if cond is None:'

reviewbotreviewbot

Col: 49 E128 continuation line under-indented for visual indent

reviewbotreviewbot
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        reviewboard/webapi/resources/oauth2_token.py
        reviewboard/webapi/resources/user.py
        reviewboard/webapi/resources/__init__.py
    
    Ignored Files:
        reviewboard/static/rb/js/resources/models/oauth2TokenModel.js
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        reviewboard/webapi/resources/oauth2_token.py
        reviewboard/webapi/resources/user.py
        reviewboard/webapi/resources/__init__.py
    
    Ignored Files:
        reviewboard/static/rb/js/resources/models/oauth2TokenModel.js
    
    
  2.  'json' imported but unused
    
  3.  'ValidationError' imported but unused
    
  4.  'ObjectDoesNotExist' imported but unused
    
  5.  '_' imported but unused
    
  6.  'webapi_response_errors' imported but unused
    
  7.  'webapi_request_fields' imported but unused
    
  8.  'webapi_login_required' imported but unused
    
  9.  'NOT_LOGGED_IN' imported but unused
    
  10.  'DOES_NOT_EXIST' imported but unused
    
  11.  'PERMISSION_DENIED' imported but unused
    
  12.  'INVALID_FORM_DATA' imported but unused
    
  13.  'resources' imported but unused
    
  14. 
      
LE
reviewbot
  1. Tool: PEP8 Style Checker
    Processed Files:
        reviewboard/webapi/resources/__init__.py
        reviewboard/webapi/tests/test_oauth2_token.py
        reviewboard/webapi/resources/oauth2_token.py
        reviewboard/webapi/tests/urls.py
        reviewboard/webapi/tests/mimetypes.py
        reviewboard/webapi/resources/user.py
    
    Ignored Files:
        reviewboard/static/rb/js/accountPrefsPage/views/oauth2TokensView.js
        reviewboard/static/rb/js/resources/models/oauth2TokenModel.js
    
    
    
    Tool: Pyflakes
    Processed Files:
        reviewboard/webapi/resources/__init__.py
        reviewboard/webapi/tests/test_oauth2_token.py
        reviewboard/webapi/resources/oauth2_token.py
        reviewboard/webapi/tests/urls.py
        reviewboard/webapi/tests/mimetypes.py
        reviewboard/webapi/resources/user.py
    
    Ignored Files:
        reviewboard/static/rb/js/accountPrefsPage/views/oauth2TokensView.js
        reviewboard/static/rb/js/resources/models/oauth2TokenModel.js
    
    
  2.  'Application' imported but unused
    
  3.  'oauth2_token_item_mimetype' imported but unused
    
  4. reviewboard/webapi/tests/urls.py (Diff revision 2)
     
     
    Col: 1
     E302 expected 2 blank lines, found 1
    
  5. 
      
LE
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        reviewboard/webapi/resources/__init__.py
        reviewboard/webapi/tests/test_oauth2_token.py
        reviewboard/webapi/resources/oauth2_token.py
        reviewboard/webapi/tests/urls.py
        reviewboard/webapi/tests/mimetypes.py
        reviewboard/webapi/resources/user.py
    
    Ignored Files:
        reviewboard/static/rb/js/accountPrefsPage/views/oauth2TokensView.js
        reviewboard/static/rb/js/resources/models/oauth2TokenModel.js
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        reviewboard/webapi/resources/__init__.py
        reviewboard/webapi/tests/test_oauth2_token.py
        reviewboard/webapi/resources/oauth2_token.py
        reviewboard/webapi/tests/urls.py
        reviewboard/webapi/tests/mimetypes.py
        reviewboard/webapi/resources/user.py
    
    Ignored Files:
        reviewboard/static/rb/js/accountPrefsPage/views/oauth2TokensView.js
        reviewboard/static/rb/js/resources/models/oauth2TokenModel.js
    
    
  2. 
      
chipx86
  1. The first couple of files just remove stuff from prior changes. Instead, you should update the prior changes to remove the code there, so that each change is a cohesive unit.

  2. reviewboard/webapi/resources/__init__.py (Diff revision 3)
     
     
     
     

    oauth2_provider is an outside module, so should belong in the same import group, in alphabetical order.

  3. reviewboard/webapi/resources/oauth2_token.py (Diff revision 3)
     
     
     
     

    Same import group.

  4. This seems to be missing a _get_queryset. It'd need one in order to limit results to the user, and to do permission checking, like other resources that are children of the user resource.

    1. Do we have a test for this? I dont it see anywhere.

  5. Blank line between these.

  6. This is an outside module, so it should be part of the next import group.

  7. reviewboard/webapi/tests/test_oauth2_token.py (Diff revision 3)
     
     
     
     
     
     
     
     
     

    Make sure things are in alphabetical order.

  8. No need for parens.

    1. parens as () not a typo for parents

  9. reviewboard/webapi/tests/test_oauth2_token.py (Diff revision 3)
     
     
     
     

    Indented too far.

  10. reviewboard/webapi/tests/test_oauth2_token.py (Diff revision 3)
     
     
     
     
     
     
     

    We don't put one argument per line. Ends up being pretty long this way.

    Same below.

    1. Discussed on Slack.
      token=random().__str__(), expires=timezone.now(), will be change to None and push to the body.
      Since we have the docstring we will try as many on a line as possible

  11. Same line, no trailing comma, since this is a function call.

  12. Blank line between these.

  13. Same line, no comma.

  14. Blank line between these.

    Same below.

  15. 
      
LE
reviewbot
  1. Tool: PEP8 Style Checker
    Processed Files:
        reviewboard/webapi/resources/__init__.py
        reviewboard/webapi/tests/test_oauth2_token.py
        reviewboard/webapi/resources/oauth2_token.py
        reviewboard/webapi/tests/urls.py
        reviewboard/webapi/tests/mimetypes.py
        reviewboard/webapi/resources/user.py
    
    Ignored Files:
        reviewboard/static/rb/js/resources/models/oauth2TokenModel.js
    
    
    
    Tool: Pyflakes
    Processed Files:
        reviewboard/webapi/resources/__init__.py
        reviewboard/webapi/tests/test_oauth2_token.py
        reviewboard/webapi/resources/oauth2_token.py
        reviewboard/webapi/tests/urls.py
        reviewboard/webapi/tests/mimetypes.py
        reviewboard/webapi/resources/user.py
    
    Ignored Files:
        reviewboard/static/rb/js/resources/models/oauth2TokenModel.js
    
    
  2. Col: 18
     E711 comparison to None should be 'if cond is None:'
    
  3. Col: 20
     E711 comparison to None should be 'if cond is None:'
    
  4. Col: 24
     E711 comparison to None should be 'if cond is None:'
    
  5. Col: 49
     E128 continuation line under-indented for visual indent
    
  6. 
      
LE
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        reviewboard/webapi/resources/__init__.py
        reviewboard/webapi/tests/test_oauth2_token.py
        reviewboard/webapi/resources/oauth2_token.py
        reviewboard/webapi/tests/urls.py
        reviewboard/webapi/tests/mimetypes.py
        reviewboard/webapi/resources/user.py
    
    Ignored Files:
        reviewboard/static/rb/js/resources/models/oauth2TokenModel.js
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        reviewboard/webapi/resources/__init__.py
        reviewboard/webapi/tests/test_oauth2_token.py
        reviewboard/webapi/resources/oauth2_token.py
        reviewboard/webapi/tests/urls.py
        reviewboard/webapi/tests/mimetypes.py
        reviewboard/webapi/resources/user.py
    
    Ignored Files:
        reviewboard/static/rb/js/resources/models/oauth2TokenModel.js
    
    
  2. Col: 18
     E711 comparison to None should be 'if cond is None:'
    
  3. Col: 20
     E711 comparison to None should be 'if cond is None:'
    
  4. Col: 24
     E711 comparison to None should be 'if cond is None:'
    
  5. Col: 49
     E128 continuation line under-indented for visual indent
    
  6. 
      
LE
reviewbot
  1. Tool: PEP8 Style Checker
    Processed Files:
        reviewboard/webapi/resources/__init__.py
        reviewboard/webapi/tests/test_oauth2_token.py
        reviewboard/webapi/resources/oauth2_token.py
        reviewboard/webapi/tests/urls.py
        reviewboard/webapi/tests/mimetypes.py
        reviewboard/webapi/resources/user.py
    
    Ignored Files:
        reviewboard/static/rb/js/resources/models/oauth2TokenModel.js
    
    
    
    Tool: Pyflakes
    Processed Files:
        reviewboard/webapi/resources/__init__.py
        reviewboard/webapi/tests/test_oauth2_token.py
        reviewboard/webapi/resources/oauth2_token.py
        reviewboard/webapi/tests/urls.py
        reviewboard/webapi/tests/mimetypes.py
        reviewboard/webapi/resources/user.py
    
    Ignored Files:
        reviewboard/static/rb/js/resources/models/oauth2TokenModel.js
    
    
  2. 
      
brennie
Review request changed

Status: Discarded

Loading...