Commit 88ceddd
Changed files (2)
lib
saml
spec
lib/saml/kit/default_registry.rb
@@ -29,6 +29,8 @@ module Saml
#
# {include:file:spec/saml/default_registry_spec.rb}
class DefaultRegistry
+ include Enumerable
+
def initialize(items = {})
@items = items
end
@@ -58,6 +60,13 @@ module Saml
@items[entity_id]
end
+ # Yields each registered [Saml::Kit::Metadata] to the block.
+ def each
+ @items.each do |key, value|
+ yield value
+ end
+ end
+
class HttpApi # :nodoc:
def initialize(url, verify_ssl: true)
@uri = URI.parse(url)
spec/saml/default_registry_spec.rb
@@ -74,4 +74,20 @@ RSpec.describe Saml::Kit::DefaultRegistry do
expect(result).to be_instance_of(Saml::Kit::CompositeMetadata)
end
end
+
+ describe "#each" do
+ it 'yields each registered metadata' do
+ idp = Saml::Kit::IdentityProviderMetadata.build do |config|
+ config.entity_id = "idp"
+ end
+ sp = Saml::Kit::ServiceProviderMetadata.build do |config|
+ config.entity_id = "sp"
+ end
+
+ subject.register(idp)
+ subject.register(sp)
+
+ expect(subject.map(&:to_xml)).to match_array([idp.to_xml, sp.to_xml])
+ end
+ end
end