Commit 61cb064

mo <mo.khan@gmail.com>
2019-01-06 02:07:27
decouple from shady
1 parent a2fa475
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)