@@ -18,9 +18,21 @@ class MetadataTest < Minitest::Test
1818 end
1919
2020 it "generates Pretty Print Service Provider Metadata" do
21+ xml_text = OneLogin ::RubySaml ::Metadata . new . generate ( settings , true )
22+ # assert correct xml declaration
2123 start = "<?xml version='1.0' encoding='UTF-8'?>\n <md:EntityDescriptor"
22- xml_text_2 = OneLogin ::RubySaml ::Metadata . new . generate ( settings , true )
23- assert xml_text_2 [ 0 ..start . length -1 ] == start
24+ assert xml_text [ 0 ..start . length -1 ] == start
25+
26+ assert_equal "https://example.com" , REXML ::XPath . first ( xml_doc , "//md:EntityDescriptor" ) . attribute ( "entityID" ) . value
27+
28+ assert_equal "urn:oasis:names:tc:SAML:2.0:protocol" , spsso_descriptor . attribute ( "protocolSupportEnumeration" ) . value
29+ assert_equal "false" , spsso_descriptor . attribute ( "AuthnRequestsSigned" ) . value
30+ assert_equal "false" , spsso_descriptor . attribute ( "WantAssertionsSigned" ) . value
31+
32+ assert_equal "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" , REXML ::XPath . first ( xml_doc , "//md:NameIDFormat" ) . text . strip
33+
34+ assert_equal "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" , acs . attribute ( "Binding" ) . value
35+ assert_equal "https://foo.example/saml/consume" , acs . attribute ( "Location" ) . value
2436 end
2537
2638 it "generates Service Provider Metadata" do
@@ -93,7 +105,7 @@ class MetadataTest < Minitest::Test
93105 end
94106
95107 it "creates a signed metadata" do
96- assert_match %r[<ds:SignatureValue>\s * ([a-zA-Z0-9/+=]+)\s * </ds:SignatureValue>]m , xml_text
108+ assert_match %r[<ds:SignatureValue>([a-zA-Z0-9/+=]+)</ds:SignatureValue>]m , xml_text
97109 assert_match %r[<ds:SignatureMethod Algorithm='http://www.w3.org/2000/09/xmldsig#rsa-sha1'/>] , xml_text
98110 assert_match %r[<ds:DigestMethod Algorithm='http://www.w3.org/2000/09/xmldsig#sha1'/>] , xml_text
99111 signed_metadata = XMLSecurity ::SignedDocument . new ( xml_text )
@@ -107,7 +119,7 @@ class MetadataTest < Minitest::Test
107119 end
108120
109121 it "creates a signed metadata with specified digest and signature methods" do
110- assert_match %r[<ds:SignatureValue>\s * ([a-zA-Z0-9/+=]+)\s * </ds:SignatureValue>]m , xml_text
122+ assert_match %r[<ds:SignatureValue>([a-zA-Z0-9/+=]+)</ds:SignatureValue>]m , xml_text
111123 assert_match %r[<ds:SignatureMethod Algorithm='http://www.w3.org/2001/04/xmldsig-more#rsa-sha256'/>] , xml_text
112124 assert_match %r[<ds:DigestMethod Algorithm='http://www.w3.org/2001/04/xmldsig-more#sha512'/>] , xml_text
113125
0 commit comments