[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. Show all issues
     'json' imported but unused
    
  3. Show all issues
     'ValidationError' imported but unused
    
  4. Show all issues
     'ObjectDoesNotExist' imported but unused
    
  5. Show all issues
     '_' imported but unused
    
  6. Show all issues
     'webapi_response_errors' imported but unused
    
  7. Show all issues
     'webapi_request_fields' imported but unused
    
  8. Show all issues
     'webapi_login_required' imported but unused
    
  9. Show all issues
     'NOT_LOGGED_IN' imported but unused
    
  10. Show all issues
     'DOES_NOT_EXIST' imported but unused
    
  11. Show all issues
     'PERMISSION_DENIED' imported but unused
    
  12. Show all issues
     'INVALID_FORM_DATA' imported but unused
    
  13. Show all issues
     '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. Show all issues
     'Application' imported but unused
    
  3. Show all issues
     'oauth2_token_item_mimetype' imported but unused
    
  4. reviewboard/webapi/tests/urls.py (Diff revision 2)
     
     
    Show all issues
    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)
     
     
     
     
    Show all issues

    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)
     
     
     
     
    Show all issues

    Same import group.

  4. Show all issues

    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. Show all issues

    Blank line between these.

  6. Show all issues

    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)
     
     
     
     
     
     
     
     
     
    Show all issues

    Make sure things are in alphabetical order.

  8. Show all issues

    No need for parens.

    1. parens as () not a typo for parents

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

    Indented too far.

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

    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. Show all issues

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

  12. Show all issues

    Blank line between these.

  13. Show all issues

    Same line, no comma.

  14. Show all issues

    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. Show all issues
    Col: 18
     E711 comparison to None should be 'if cond is None:'
    
  3. Show all issues
    Col: 20
     E711 comparison to None should be 'if cond is None:'
    
  4. Show all issues
    Col: 24
     E711 comparison to None should be 'if cond is None:'
    
  5. Show all issues
    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. Show all issues
    Col: 18
     E711 comparison to None should be 'if cond is None:'
    
  3. Show all issues
    Col: 20
     E711 comparison to None should be 'if cond is None:'
    
  4. Show all issues
    Col: 24
     E711 comparison to None should be 'if cond is None:'
    
  5. Show all issues
    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