Commit ca7df42
Changed files (5)
lib
saml
spec
saml
lib/saml/kit/default_registry.rb
@@ -74,7 +74,7 @@ module Saml
def ensure_valid_metadata(metadata)
error = ArgumentError.new('Cannot register invalid metadata')
- raise error if metadata.invalid? || !metadata.respond_to?(:entity_id)
+ raise error if metadata.nil? || !metadata.respond_to?(:entity_id) || metadata.invalid?
end
# This class is responsible for
spec/saml/kit/default_registry_spec.rb
@@ -104,6 +104,12 @@ RSpec.describe Saml::Kit::DefaultRegistry do
subject.register(authn_request)
end.to raise_error(/Cannot register invalid metadata/)
end
+
+ it 'raises an error when the document is nil' do
+ expect do
+ subject.register(nil)
+ end.to raise_error(/Cannot register invalid metadata/)
+ end
end
describe '#each' do
.reek
@@ -1,125 +0,0 @@
----
-Attribute:
- exclude:
- - Saml::Kit::Assertion#occurred_at
- - Saml::Kit::Builders::AuthenticationRequest#assertion_consumer_service_url
- - Saml::Kit::Builders::AuthenticationRequest#destination
- - Saml::Kit::Builders::AuthenticationRequest#id
- - Saml::Kit::Builders::AuthenticationRequest#issuer
- - Saml::Kit::Builders::AuthenticationRequest#name_id_format
- - Saml::Kit::Builders::AuthenticationRequest#now
- - Saml::Kit::Builders::AuthenticationRequest#version
- - Saml::Kit::Builders::IdentityProviderMetadata#attributes
- - Saml::Kit::Builders::IdentityProviderMetadata#name_id_formats
- - Saml::Kit::Builders::IdentityProviderMetadata#want_authn_requests_signed
- - Saml::Kit::Builders::LogoutRequest#destination
- - Saml::Kit::Builders::LogoutRequest#id
- - Saml::Kit::Builders::LogoutRequest#issuer
- - Saml::Kit::Builders::LogoutRequest#name_id_format
- - Saml::Kit::Builders::LogoutRequest#now
- - Saml::Kit::Builders::LogoutRequest#version
- - Saml::Kit::Builders::LogoutResponse#destination
- - Saml::Kit::Builders::LogoutResponse#id
- - Saml::Kit::Builders::LogoutResponse#issuer
- - Saml::Kit::Builders::LogoutResponse#now
- - Saml::Kit::Builders::LogoutResponse#status_code
- - Saml::Kit::Builders::LogoutResponse#version
- - Saml::Kit::Builders::Metadata#contact_email
- - Saml::Kit::Builders::Metadata#entity_id
- - Saml::Kit::Builders::Metadata#id
- - Saml::Kit::Builders::Metadata#identity_provider
- - Saml::Kit::Builders::Metadata#organization_name
- - Saml::Kit::Builders::Metadata#organization_url
- - Saml::Kit::Builders::Metadata#service_provider
- - Saml::Kit::Builders::Response#destination
- - Saml::Kit::Builders::Response#id
- - Saml::Kit::Builders::Response#issuer
- - Saml::Kit::Builders::Response#now
- - Saml::Kit::Builders::Response#reference_id
- - Saml::Kit::Builders::Response#status_code
- - Saml::Kit::Builders::Response#status_message
- - Saml::Kit::Builders::Response#version
- - Saml::Kit::Builders::ServiceProviderMetadata#acs_urls
- - Saml::Kit::Builders::ServiceProviderMetadata#logout_urls
- - Saml::Kit::Builders::ServiceProviderMetadata#name_id_formats
- - Saml::Kit::Builders::ServiceProviderMetadata#want_assertions_signed
- - Saml::Kit::Configuration#clock_drift
- - Saml::Kit::Configuration#digest_method
- - Saml::Kit::Configuration#entity_id
- - Saml::Kit::Configuration#logger
- - Saml::Kit::Configuration#registry
- - Saml::Kit::Configuration#session_timeout
- - Saml::Kit::Configuration#signature_method
- - Saml::Kit::Document#registry
-BooleanParameter:
- exclude:
- - Saml::Kit::DefaultRegistry#register_url
- - Saml::Kit::DefaultRegistry::HttpApi#initialize
-ControlParameter:
- exclude:
- - Saml::Kit::Assertion#to_xml
- - Saml::Kit::Bindings::HttpRedirect#algorithm_for
- - Saml::Kit::Document#to_xml
- - Saml::Kit::Metadata#to_xml
- - Saml::Kit::Signature#to_xml
-TooManyInstanceVariables:
- max_instance_variables: 15
-TooManyMethods:
- max_methods: 30
-TooManyStatements:
- max_statements: 10
-UtilityFunction:
- exclude:
- - Saml::Kit::Assertion#parse_date
- - Saml::Kit::Bindings::HttpRedirect#algorithm_for
- - Saml::Kit::Bindings::HttpRedirect#canonicalize
- - Saml::Kit::Bindings::HttpRedirect#normalize
- - Saml::Kit::Bindings::HttpRedirect#params_to_hash
- - Saml::Kit::NullAssertion#expired_at
- - Saml::Kit::NullAssertion#started_at
- - uri_for
- - xml_document
- - Saml::Kit::Serializable#decode
- - Saml::Kit::Serializable#deflate
- - Saml::Kit::Serializable#encode
- - Saml::Kit::Serializable#escape
- - Saml::Kit::Serializable#inflate
- - Saml::Kit::Serializable#unescape
-LongParameterList:
- max_params: 4
-DuplicateMethodCall:
- exclude:
- - Saml::Kit::Bindings::Binding#saml_param_from
- - Saml::Kit::Builders::Response#initialize
- - Saml::Kit::XmlTemplatable#sign?
-FeatureEnvy:
- exclude:
- - Saml::Kit::Bindings::Binding#saml_param_from
- - Saml::Kit::Bindings::HttpRedirect#serialize
- - Saml::Kit::DefaultRegistry#register
- - Saml::Kit::Metadata#matches?
- - Saml::Kit::Signature#expected_digest_value
- - Saml::Kit::Signature#trusted?
-NilCheck:
- exclude:
- - Saml::Kit::Bindings::HttpRedirect#ensure_valid_signature
- - Saml::Kit::IdentityProviderMetadata#want_authn_requests_signed
- - Saml::Kit::LogoutRequest#single_logout_service
- - Saml::Kit::Respondable#must_match_request_id
- - Saml::Kit::Response#assertion
- - Saml::Kit::ServiceProviderMetadata#want_assertions_signed
- - Saml::Kit::Signature#certificate
- - Saml::Kit::Signature#trusted?
- - Saml::Kit::Signature#validate_signature
- - Saml::Kit::XmlTemplatable#sign?
-ManualDispatch:
- exclude:
- - Saml::Kit::Builders::Assertion#assertion_attributes
- - Saml::Kit::CompositeMetadata#method_missing
- - Saml::Kit::CompositeMetadata#respond_to_missing?
-UnusedParameters:
- exclude:
- - Saml::Kit::InvalidDocument#initialize
-TooManyConstants:
- exclude:
- - Saml::Kit::Namespaces
Rakefile
@@ -2,16 +2,12 @@
require 'bundler/audit/task'
require 'bundler/gem_tasks'
-require 'reek/rake/task'
require 'rspec/core/rake_task'
require 'rubocop/rake_task'
RSpec::Core::RakeTask.new(:spec)
RuboCop::RakeTask.new(:rubocop)
Bundler::Audit::Task.new
-Reek::Rake::Task.new(:reek) do |task|
- task.config_file = '.reek'
-end
-task lint: [:rubocop, :reek, 'bundle:audit']
+task lint: [:rubocop, 'bundle:audit']
task default: :spec
saml-kit.gemspec
@@ -34,7 +34,6 @@ Gem::Specification.new do |spec|
spec.add_development_dependency 'bundler-audit', '~> 0.6'
spec.add_development_dependency 'ffaker', '~> 2.7'
spec.add_development_dependency 'rake', '~> 10.0'
- spec.add_development_dependency 'reek', '~> 4.8'
spec.add_development_dependency 'rspec', '~> 3.0'
spec.add_development_dependency 'rspec-benchmark', '~> 0.3'
spec.add_development_dependency 'rubocop', '~> 0.52'