Commit c3521e6

mokha <mokha@cisco.com>
2019-01-18 22:45:25
start to define the default user schema.
1 parent b27b911
Changed files (3)
lib/scim/shady.rb
@@ -1,6 +1,21 @@
 require "scim/shady/version"
+require 'json'
+require 'scim-kit'
 
 module Scim
   module Shady
+    class User < ::Scim::Kit::V2::Resource
+      def initialize
+        schema = ::Scim::Kit::V2::Schema.new(id: ::Scim::Kit::V2::Schemas::USER, name: 'User', location: "/scim/v2/Schemas/#{::Scim::Kit::V2::Schemas::USER}")
+        schema.add_attribute(name: :user_name) do |x|
+          x.required = true
+        end
+        super(schemas: [schema])
+      end
+
+      def template_name
+        'resource.json.jbuilder'
+      end
+    end
   end
 end
spec/scim/user_spec.rb
@@ -0,0 +1,10 @@
+RSpec.describe Scim::Shady::User do
+  subject { described_class.new }
+  let(:user_name) { FFaker::Internet.user_name }
+
+  before do
+    subject.user_name = user_name
+  end
+
+  specify { expect(subject.to_h[:userName]).to eql(user_name) }
+end
spec/spec_helper.rb
@@ -1,8 +1,6 @@
 require "bundler/setup"
 require "scim/shady"
-require "securerandom"
 require "ffaker"
-require "openssl"
 
 RSpec.configure do |config|
   # Enable flags like --only-failures and --next-failure