Add more granular OAuth scopes (#7929)
* Add more granular OAuth scopes * Add human-readable descriptions of the new scopes * Ensure new scopes look good on the app UI * Add tests * Group scopes in screen and color-code dangerous ones * Fix wrong extra scope
This commit is contained in:
parent
ca2cc556f1
commit
1f6ed4f86a
69 changed files with 295 additions and 105 deletions
|
@ -4,12 +4,14 @@ RSpec.describe Api::V1::ListsController, type: :controller do
|
|||
render_views
|
||||
|
||||
let!(:user) { Fabricate(:user, account: Fabricate(:account, username: 'alice')) }
|
||||
let!(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'read write') }
|
||||
let!(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
|
||||
let!(:list) { Fabricate(:list, account: user.account) }
|
||||
|
||||
before { allow(controller).to receive(:doorkeeper_token) { token } }
|
||||
|
||||
describe 'GET #index' do
|
||||
let(:scopes) { 'read:lists' }
|
||||
|
||||
it 'returns http success' do
|
||||
get :index
|
||||
expect(response).to have_http_status(200)
|
||||
|
@ -17,6 +19,8 @@ RSpec.describe Api::V1::ListsController, type: :controller do
|
|||
end
|
||||
|
||||
describe 'GET #show' do
|
||||
let(:scopes) { 'read:lists' }
|
||||
|
||||
it 'returns http success' do
|
||||
get :show, params: { id: list.id }
|
||||
expect(response).to have_http_status(200)
|
||||
|
@ -24,6 +28,8 @@ RSpec.describe Api::V1::ListsController, type: :controller do
|
|||
end
|
||||
|
||||
describe 'POST #create' do
|
||||
let(:scopes) { 'write:lists' }
|
||||
|
||||
before do
|
||||
post :create, params: { title: 'Foo bar' }
|
||||
end
|
||||
|
@ -39,6 +45,8 @@ RSpec.describe Api::V1::ListsController, type: :controller do
|
|||
end
|
||||
|
||||
describe 'PUT #update' do
|
||||
let(:scopes) { 'write:lists' }
|
||||
|
||||
before do
|
||||
put :update, params: { id: list.id, title: 'Updated title' }
|
||||
end
|
||||
|
@ -53,6 +61,8 @@ RSpec.describe Api::V1::ListsController, type: :controller do
|
|||
end
|
||||
|
||||
describe 'DELETE #destroy' do
|
||||
let(:scopes) { 'write:lists' }
|
||||
|
||||
before do
|
||||
delete :destroy, params: { id: list.id }
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue