Commit 61cb064
Changed files (11)
app
spec
requests
app/controllers/scim/v2/groups_controller.rb
@@ -5,7 +5,7 @@ module Scim
class GroupsController < ::Scim::Controller
def index
render json: {
- schemas: [Scim::Shady::Messages::LIST_RESPONSE],
+ schemas: [Scim::Kit::V2::Messages::LIST_RESPONSE],
totalResults: User.count,
Resources: resources,
}.to_json, status: :ok
app/controllers/scim/v2/resource_types_controller.rb
@@ -30,7 +30,7 @@ module Scim
Scim::Kit::V2::ResourceType.build(location: location) do |x|
x.id = 'User'
x.name = 'User'
- x.schema = SCIM::Schema::USER
+ x.schema = Scim::Kit::V2::Schemas::USER
x.description = 'User Account'
x.endpoint = scim_v2_users_url
end
@@ -41,7 +41,7 @@ module Scim
Scim::Kit::V2::ResourceType.build(location: location) do |x|
x.id = 'Group'
x.name = 'Group'
- x.schema = SCIM::Schema::GROUP
+ x.schema = Scim::Kit::V2::Schemas::GROUP
x.description = 'Group'
x.endpoint = scim_v2_groups_url
end
app/controllers/scim/v2/schemas_controller.rb
@@ -16,15 +16,15 @@ module Scim
private
def current_schema(url = request.original_url)
- return group_schema if url.include?(Scim::Kit::V2::Schema::GROUP)
- return user_schema if url.include?(Scim::Kit::V2::Schema::USER)
+ return group_schema if url.include?(Scim::Kit::V2::Schemas::GROUP)
+ return user_schema if url.include?(Scim::Kit::V2::Schemas::USER)
end
def user_schema
Scim::Kit::V2::Schema.build(
- id: Scim::Kit::V2::Schema::USER,
+ id: Scim::Kit::V2::Schemas::USER,
name: "User",
- location: scim_v2_schema_url(id: Scim::Kit::V2::Schema::USER)
+ location: scim_v2_schema_url(id: Scim::Kit::V2::Schemas::USER)
) do |schema|
schema.description = "User Account"
schema.add_attribute(name: 'userName') do |x|
@@ -71,9 +71,9 @@ module Scim
def group_schema
Scim::Kit::V2::Schema.new(
- id: Scim::Kit::V2::Schema::GROUP,
+ id: Scim::Kit::V2::Schemas::GROUP,
name: "Group",
- location: scim_v2_schema_url(id: Scim::Kit::V2::Schema::GROUP)
+ location: scim_v2_schema_url(id: Scim::Kit::V2::Schemas::GROUP)
) do |schema|
schema.description = "Group"
schema.add_attribute(name: 'displayName') do |x|
app/controllers/scim/v2/search_controller.rb
@@ -6,7 +6,7 @@ module Scim
def index
response.headers['Content-Type'] = 'application/scim+json'
render json: {
- schemas: [Scim::Shady::Messages::LIST_RESPONSE],
+ schemas: [Scim::Kit::V2::Messages::LIST_RESPONSE],
totalResults: 0,
itemsPerPage: 0,
startIndex: 1,
app/controllers/scim/v2/users_controller.rb
@@ -10,7 +10,7 @@ module Scim
def index
render json: {
- schemas: [Scim::Shady::Messages::LIST_RESPONSE],
+ schemas: [Scim::Kit::V2::Messages::LIST_RESPONSE],
totalResults: 0,
Resources: [],
}.to_json, status: :ok
app/controllers/scim/controller.rb
@@ -27,7 +27,7 @@ module Scim
def not_found
render json: {
- schemas: [Scim::Shady::Messages::ERROR],
+ schemas: [Scim::Kit::V2::Messages::ERROR],
detail: "Resource #{params[:id]} not found",
status: "404",
}.to_json, status: :not_found
spec/requests/scim/v2/groups_spec.rb
@@ -23,7 +23,7 @@ describe "/scim/v2/groups" do
specify { expect(response.headers['Content-Type']).to eql('application/scim+json') }
specify { expect(response.body).to be_present }
- specify { expect(json[:schemas]).to match_array([Scim::Shady::Messages::LIST_RESPONSE]) }
+ specify { expect(json[:schemas]).to match_array([Scim::Kit::V2::Messages::LIST_RESPONSE]) }
specify { expect(json[:totalResults]).to be_kind_of(Numeric) }
specify { expect(json[:Resources]).to match_array([id: user.to_param, userName: user.email]) }
end
spec/requests/scim/v2/search_spec.rb
@@ -16,7 +16,7 @@ describe '/scim/v1/.search' do
describe "POST /scim/v2/.search" do
let(:request_body) do
{
- "schemas": [Scim::Shady::Messages::SEARCH_REQUEST],
+ "schemas": [Scim::Kit::V2::Messages::SEARCH_REQUEST],
"attributes": %w[displayName userName],
"filter": "displayName sw \"smith\"",
"startIndex": 1,
@@ -30,7 +30,7 @@ describe '/scim/v1/.search' do
specify { expect(response).to have_http_status(:ok) }
specify { expect(response.headers['Content-Type']).to eql('application/scim+json') }
specify { expect(response.body).to be_present }
- specify { expect(json[:schemas]).to match_array([Scim::Shady::Messages::LIST_RESPONSE]) }
+ specify { expect(json[:schemas]).to match_array([Scim::Kit::V2::Messages::LIST_RESPONSE]) }
specify { expect(json[:totalResults]).to be_zero }
specify { expect(json[:itemsPerPage]).to be_zero }
specify { expect(json[:startIndex]).to be(1) }
spec/requests/scim/v2/service_provider_config_spec.rb
@@ -20,7 +20,7 @@ describe "/ServiceProviderConfig" do
specify { expect(response).to have_http_status(:ok) }
specify { expect(response.body).to be_present }
- specify { expect(json[:schemas]).to match_array([Scim::Shady::Schemas::SERVICE_PROVIDER_CONFIG]) }
+ specify { expect(json[:schemas]).to match_array([Scim::Kit::V2::Schemas::SERVICE_PROVIDER_CONFIGURATION]) }
specify { expect(json[:documentationUri]).to eql(root_url + "doc") }
specify { expect(json[:patch][:supported]).to be(false) }
specify { expect(json[:bulk][:supported]).to be(false) }
spec/requests/scim/v2/users_spec.rb
@@ -18,7 +18,7 @@ describe '/scim/v2/users' do
let(:email) { generate(:email) }
let(:locale) { 'en' }
let(:timezone) { 'Etc/UTC' }
- let(:body) { { schemas: [Scim::Shady::Schemas::USER], userName: email, locale: locale, timezone: timezone } }
+ let(:body) { { schemas: [Scim::Kit::V2::Schemas::USER], userName: email, locale: locale, timezone: timezone } }
let(:json) { JSON.parse(response.body, symbolize_names: true) }
before { post '/scim/v2/users', params: body.to_json, headers: headers }
@@ -27,7 +27,7 @@ describe '/scim/v2/users' do
specify { expect(response.headers['Content-Type']).to eql('application/scim+json') }
specify { expect(response.headers['Location']).to be_present }
specify { expect(response.body).to be_present }
- specify { expect(json[:schemas]).to match_array([Scim::Shady::Schemas::USER]) }
+ specify { expect(json[:schemas]).to match_array([Scim::Kit::V2::Schemas::USER]) }
specify { expect(json[:id]).to be_present }
specify { expect(json[:userName]).to eql(email) }
specify { expect(json[:meta][:resourceType]).to eql('User') }
@@ -68,7 +68,7 @@ describe '/scim/v2/users' do
specify { expect(response.headers['ETag']).to be_present }
specify { expect(response.body).to be_present }
- specify { expect(json[:schemas]).to match_array([Scim::Shady::Schemas::USER]) }
+ specify { expect(json[:schemas]).to match_array([Scim::Kit::V2::Schemas::USER]) }
specify { expect(json[:id]).to eql(user.to_param) }
specify { expect(json[:userName]).to eql(user.email) }
specify { expect(json[:meta][:resourceType]).to eql('User') }
@@ -115,7 +115,7 @@ describe '/scim/v2/users' do
specify { expect(response).to have_http_status(:ok) }
specify { expect(response.headers['Content-Type']).to eql('application/scim+json') }
specify { expect(response.body).to be_present }
- specify { expect(json[:schemas]).to match_array([Scim::Shady::Messages::LIST_RESPONSE]) }
+ specify { expect(json[:schemas]).to match_array([Scim::Kit::V2::Messages::LIST_RESPONSE]) }
specify { expect(json[:totalResults]).to be_zero }
specify { expect(json[:Resources]).to be_empty }
end
@@ -125,7 +125,7 @@ describe '/scim/v2/users' do
let(:new_email) { FFaker::Internet.email }
let(:locale) { 'ja' }
let(:timezone) { 'America/Denver' }
- let(:body) { { schemas: [Scim::Shady::Schemas::USER], userName: new_email, locale: locale, timezone: timezone } }
+ let(:body) { { schemas: [Scim::Kit::V2::Schemas::USER], userName: new_email, locale: locale, timezone: timezone } }
let(:json) { JSON.parse(response.body, symbolize_names: true) }
before { put "/scim/v2/users/#{user.to_param}", headers: headers, params: body.to_json }
@@ -134,7 +134,7 @@ describe '/scim/v2/users' do
specify { expect(response.headers['Content-Type']).to eql('application/scim+json') }
specify { expect(response.headers['Location']).to eql(scim_v2_user_url(user)) }
specify { expect(response.body).to be_present }
- specify { expect(json[:schemas]).to match_array([Scim::Shady::Schemas::USER]) }
+ specify { expect(json[:schemas]).to match_array([Scim::Kit::V2::Schemas::USER]) }
specify { expect(json[:id]).to be_present }
specify { expect(json[:userName]).to eql(new_email) }
specify { expect(json[:meta][:resourceType]).to eql('User') }
Gemfile.lock
@@ -92,7 +92,7 @@ GEM
safe_yaml (~> 1.0.0)
crass (1.0.4)
diff-lcs (1.3)
- dotenv (2.5.0)
+ dotenv (2.6.0)
em-websocket (0.5.1)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0.6.0)
@@ -290,7 +290,7 @@ GEM
sass-listen (4.0.0)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
- scim-kit (0.2.0)
+ scim-kit (0.2.1)
tilt (~> 2.0)
tilt-jbuilder (~> 0.7)
scim-shady (0.2.1)