Commit 87b24ad
Changed files (3)
lib
scim
kit
spec
scim
kit
lib/scim/kit/v2/attributable.rb
@@ -41,7 +41,10 @@ module Scim
if value.is_a?(Hash)
attribute_for(name)&.assign_attributes(value)
else
- attribute_for(name)&._value = value
+ attribute = attribute_for(name)
+ raise Scim::Kit::UnknownAttributeError, name unless attribute
+
+ attribute._value = value
end
end
lib/scim/kit.rb
@@ -14,5 +14,6 @@ require 'scim/kit/version'
module Scim
module Kit
class Error < StandardError; end
+ class UnknownAttributeError < Error; end
end
end
spec/scim/kit/v2/resource_spec.rb
@@ -469,10 +469,16 @@ RSpec.describe Scim::Kit::V2::Resource do
specify { expect(subject.name.family_name).to eql('Garrett') }
specify { expect(subject.emails[0][:value]).to eql(email) }
specify { expect(subject.emails[0][:primary]).to be(true) }
+ specify do
+ attributes = { schemas: schemas.map(&:id), unknown: 'unknown' }
+ expect do
+ described_class.new(schemas: schemas, attributes: attributes)
+ end.to raise_error(Scim::Kit::UnknownAttributeError)
+ end
end
end
- describe 'Errors' do
+ describe Scim::Kit::V2::Messages::ERROR do
subject { described_class.new(schemas: schemas) }
let(:schemas) { [Scim::Kit::V2::Error.default_schema] }