Commit 3db30f4

mo <mo@mokhan.ca>
2017-11-30 16:26:31
move service provider metadata to new module.
1 parent 7b4ce78
lib/saml/kit/builders/service_provider_metadata.rb
@@ -1,7 +1,7 @@
 module Saml
   module Kit
-    class ServiceProviderMetadata < Metadata
-      class Builder
+    module Builders
+      class ServiceProviderMetadata
         attr_accessor :id, :entity_id, :acs_urls, :logout_urls, :name_id_formats, :sign
         attr_accessor :want_assertions_signed
 
@@ -63,7 +63,7 @@ module Saml
         end
 
         def build
-          ServiceProviderMetadata.new(to_xml)
+          Saml::Kit::ServiceProviderMetadata.new(to_xml)
         end
 
         def self.build
spec/saml/bindings/http_redirect_spec.rb
@@ -83,7 +83,7 @@ RSpec.describe Saml::Kit::Bindings::HttpRedirect do
     end
 
     it 'returns a signed document, when a signature is missing' do
-      builder = Saml::Kit::ServiceProviderMetadata::Builder.new
+      builder = Saml::Kit::Builders::ServiceProviderMetadata.new
       builder.add_assertion_consumer_service(FFaker::Internet.http_url, binding: :http_post)
       provider = builder.build
       allow(Saml::Kit.configuration.registry).to receive(:metadata_for).with(issuer).and_return(provider)
spec/saml/builders/response_spec.rb
@@ -76,7 +76,7 @@ RSpec.describe Saml::Kit::Builders::Response do
     end
 
     it 'does not add a signature when the SP does not want assertions signed' do
-      builder = Saml::Kit::ServiceProviderMetadata::Builder.new
+      builder = Saml::Kit::Builders::ServiceProviderMetadata.new
       builder.want_assertions_signed = false
       metadata = builder.build
       allow(request).to receive(:provider).and_return(metadata)
spec/saml/builders/service_provider_metadata_spec.rb
@@ -1,6 +1,6 @@
 require 'spec_helper'
 
-RSpec.describe Saml::Kit::ServiceProviderMetadata::Builder do
+RSpec.describe Saml::Kit::Builders::ServiceProviderMetadata do
   let(:acs_url) { FFaker::Internet.http_url }
   let(:entity_id) { FFaker::Internet.uri("https") }
 
spec/saml/default_registry_spec.rb
@@ -4,7 +4,7 @@ RSpec.describe Saml::Kit::DefaultRegistry do
   subject { described_class.new }
   let(:entity_id) { FFaker::Internet.http_url }
   let(:service_provider_metadata) do
-    builder = Saml::Kit::ServiceProviderMetadata::Builder.new
+    builder = Saml::Kit::Builders::ServiceProviderMetadata.new
     builder.entity_id = entity_id
     builder.build
   end
spec/saml/identity_provider_metadata_spec.rb
@@ -80,7 +80,7 @@ RSpec.describe Saml::Kit::IdentityProviderMetadata do
     end
 
     it 'is invalid, when given service provider metadata' do
-      service_provider_metadata = Saml::Kit::ServiceProviderMetadata::Builder.new.to_xml
+      service_provider_metadata = Saml::Kit::Builders::ServiceProviderMetadata.new.to_xml
       subject = described_class.new(service_provider_metadata)
       expect(subject).to_not be_valid
       expect(subject.errors[:base]).to include(I18n.translate("saml/kit.errors.IDPSSODescriptor.invalid"))
spec/saml/service_provider_metadata_spec.rb
@@ -8,7 +8,7 @@ RSpec.describe Saml::Kit::ServiceProviderMetadata do
   let(:logout_redirect_url) { FFaker::Internet.uri("https") }
 
   describe described_class do
-    let(:builder) { described_class::Builder.new }
+    let(:builder) { Saml::Kit::Builders::ServiceProviderMetadata.new }
     subject do
       builder.entity_id = entity_id
       builder.add_assertion_consumer_service(acs_post_url, binding: :http_post)
@@ -52,7 +52,7 @@ RSpec.describe Saml::Kit::ServiceProviderMetadata do
 
   describe "#validate" do
     let(:service_provider_metadata) do
-      builder = described_class::Builder.new
+      builder = Saml::Kit::Builders::ServiceProviderMetadata.new
       builder.entity_id = entity_id
       builder.add_assertion_consumer_service(acs_post_url, binding: :http_post)
       builder.add_assertion_consumer_service(acs_redirect_url, binding: :http_redirect)
@@ -113,7 +113,7 @@ RSpec.describe Saml::Kit::ServiceProviderMetadata do
   end
 
   describe "#matches?" do
-    subject { described_class::Builder.new.build }
+    subject { Saml::Kit::Builders::ServiceProviderMetadata.new.build }
 
     it 'returns true when the fingerprint matches one of the signing certificates' do
       certificate = Hash.from_xml(subject.to_xml)['EntityDescriptor']['Signature']['KeyInfo']['X509Data']['X509Certificate']
spec/saml/xml_spec.rb
@@ -6,7 +6,7 @@ RSpec.describe Saml::Kit::Xml do
     let(:logout_url) { "https://#{FFaker::Internet.domain_name}/logout" }
 
     let(:signed_xml) do
-      builder = Saml::Kit::ServiceProviderMetadata::Builder.new
+      builder = Saml::Kit::Builders::ServiceProviderMetadata.new
       builder.entity_id = FFaker::Movie.title
       builder.add_assertion_consumer_service(login_url, binding: :http_post)
       builder.add_assertion_consumer_service(login_url, binding: :http_redirect)