Load scopes from seeds

Signed-off-by: theworldbright <kent@kentshikama.com>
This commit is contained in:
theworldbright 2015-08-01 19:21:51 +09:00
parent 99d6d7b3e7
commit 65c40f236e
7 changed files with 12 additions and 14 deletions

View file

@ -4,8 +4,6 @@ module Api
has_many :authorizations, through: :authorization_scopes
validates :name, presence: true, uniqueness: true
# TODO: Add constants so scopes can be referenced as OpenidConnect::Scope::Read
end
end
end

3
db/seeds.rb Normal file
View file

@ -0,0 +1,3 @@
Api::OpenidConnect::Scope.find_or_create_by!(name: "openid")
Api::OpenidConnect::Scope.find_or_create_by!(name: "read")
Api::OpenidConnect::Scope.find_or_create_by!(name: "write")

View file

@ -23,7 +23,7 @@ module Api
auth = Api::OpenidConnect::Authorization.with_redirect_uri(req.redirect_uri).use_code(req.code)
req.invalid_grant! if auth.blank?
res.access_token = auth.create_access_token
if auth.accessible?(Api::OpenidConnect::Scope.find_by(name: "openid"))
if auth.accessible?(Api::OpenidConnect::Scope.find_by!(name: "openid"))
id_token = auth.create_id_token
res.id_token = id_token.to_jwt(access_token: res.access_token)
end

View file

@ -15,7 +15,6 @@ describe Api::OpenidConnect::AuthorizationsController, type: :controller do
before do
sign_in :user, alice
allow(@controller).to receive(:current_user).and_return(alice)
Api::OpenidConnect::Scope.create!(name: "openid")
end
describe "#new" do

View file

@ -8,8 +8,8 @@ describe Api::OpenidConnect::ProtectedResourceEndpoint, type: :request do
end
let(:auth_with_read) do
auth = Api::OpenidConnect::Authorization.create!(o_auth_application: client, user: alice)
auth.scopes << [Api::OpenidConnect::Scope.find_or_create_by(name: "openid"),
Api::OpenidConnect::Scope.find_or_create_by(name: "read")]
auth.scopes << [Api::OpenidConnect::Scope.find_by!(name: "openid"),
Api::OpenidConnect::Scope.find_by!(name: "read")]
auth
end
let!(:access_token_with_read) { auth_with_read.create_access_token.to_s }

View file

@ -1,20 +1,17 @@
require "spec_helper"
describe Api::OpenidConnect::TokenEndpoint, type: :request do
let!(:client) do
Api::OpenidConnect::OAuthApplication.create!(
redirect_uris: ["http://localhost:3000/"], client_name: "diaspora client",
ppid: true, sector_identifier_uri: "https://example.com/uri")
end
let!(:auth) {
Api::OpenidConnect::Authorization.find_or_create_by(
let!(:auth) do
auth = Api::OpenidConnect::Authorization.find_or_create_by(
o_auth_application: client, user: bob, redirect_uri: "http://localhost:3000/")
}
let!(:code) { auth.create_code }
before do
Api::OpenidConnect::Scope.find_or_create_by(name: "read")
auth.scopes << [Api::OpenidConnect::Scope.find_by!(name: "openid")]
auth
end
let!(:code) { auth.create_code }
describe "the authorization code grant type" do
context "when the authorization code is valid" do

View file

@ -84,6 +84,7 @@ RSpec.configure do |config|
$process_queue = false
allow_any_instance_of(Postzord::Dispatcher::Public).to receive(:deliver_to_remote)
allow_any_instance_of(Postzord::Dispatcher::Private).to receive(:deliver_to_remote)
load "#{Rails.root}/db/seeds.rb"
end
config.expect_with :rspec do |expect_config|