kl-ruby-saml 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/Gemfile +3 -0
 - data/README.md +24 -24
 - data/Rakefile +1 -1
 - data/changelog.md +3 -3
 - data/kl-ruby-saml.gemspec +4 -4
 - data/lib/kl-ruby-saml.rb +1 -0
 - data/lib/onelogin/kl-ruby-saml.rb +17 -0
 - data/lib/onelogin/{ruby-saml → kl-ruby-saml}/attribute_service.rb +1 -1
 - data/lib/onelogin/{ruby-saml → kl-ruby-saml}/attributes.rb +1 -1
 - data/lib/onelogin/{ruby-saml → kl-ruby-saml}/authrequest.rb +7 -7
 - data/lib/onelogin/{ruby-saml → kl-ruby-saml}/http_error.rb +1 -1
 - data/lib/onelogin/{ruby-saml → kl-ruby-saml}/idp_metadata_parser.rb +3 -3
 - data/lib/onelogin/{ruby-saml → kl-ruby-saml}/logging.rb +3 -3
 - data/lib/onelogin/{ruby-saml → kl-ruby-saml}/logoutrequest.rb +7 -7
 - data/lib/onelogin/{ruby-saml → kl-ruby-saml}/logoutresponse.rb +7 -7
 - data/lib/onelogin/{ruby-saml → kl-ruby-saml}/metadata.rb +3 -3
 - data/lib/onelogin/{ruby-saml → kl-ruby-saml}/response.rb +9 -9
 - data/lib/onelogin/{ruby-saml → kl-ruby-saml}/saml_message.rb +2 -2
 - data/lib/onelogin/{ruby-saml → kl-ruby-saml}/settings.rb +6 -6
 - data/lib/onelogin/{ruby-saml → kl-ruby-saml}/slo_logoutrequest.rb +6 -6
 - data/lib/onelogin/{ruby-saml → kl-ruby-saml}/slo_logoutresponse.rb +7 -7
 - data/lib/onelogin/{ruby-saml → kl-ruby-saml}/utils.rb +1 -1
 - data/lib/onelogin/{ruby-saml → kl-ruby-saml}/validation_error.rb +1 -1
 - data/lib/onelogin/kl-ruby-saml/version.rb +5 -0
 - data/lib/xml_security.rb +5 -5
 - data/test/idp_metadata_parser_test.rb +7 -7
 - data/test/logging_test.rb +11 -11
 - data/test/logout_responses/logoutresponse_fixtures.rb +1 -1
 - data/test/logoutrequest_test.rb +17 -17
 - data/test/logoutresponse_test.rb +39 -39
 - data/test/metadata_test.rb +5 -5
 - data/test/request_test.rb +26 -26
 - data/test/response_test.rb +116 -116
 - data/test/saml_message_test.rb +4 -4
 - data/test/settings_test.rb +19 -19
 - data/test/slo_logoutrequest_test.rb +26 -26
 - data/test/slo_logoutresponse_test.rb +16 -16
 - data/test/test_helper.rb +3 -3
 - data/test/utils_test.rb +23 -23
 - data/test/xml_security_test.rb +17 -17
 - metadata +23 -23
 - data/lib/onelogin/ruby-saml.rb +0 -17
 - data/lib/onelogin/ruby-saml/version.rb +0 -5
 - data/lib/ruby-saml.rb +0 -1
 
    
        data/test/saml_message_test.rb
    CHANGED
    
    | 
         @@ -1,11 +1,11 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require File.expand_path(File.join(File.dirname(__FILE__), "test_helper"))
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
            class  
     | 
| 
      
 3 
     | 
    
         
            +
            class KlRubySamlTest < Minitest::Test
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
              describe "SamlMessage" do
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
     | 
    
         
            -
                let(:settings) { OneLogin:: 
     | 
| 
       8 
     | 
    
         
            -
                let(:saml_message) { OneLogin:: 
     | 
| 
      
 7 
     | 
    
         
            +
                let(:settings) { OneLogin::KlRubySaml::Settings.new }
         
     | 
| 
      
 8 
     | 
    
         
            +
                let(:saml_message) { OneLogin::KlRubySaml::SamlMessage.new }
         
     | 
| 
       9 
9 
     | 
    
         
             
                let(:response_document) { read_response("response_unsigned_xml_base64") }
         
     | 
| 
       10 
10 
     | 
    
         
             
                let(:response_document_xml) { read_response("adfs_response_xmlns.xml") }
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
         @@ -53,4 +53,4 @@ class RubySamlTest < Minitest::Test 
     | 
|
| 
       53 
53 
     | 
    
         
             
                  assert response_document_xml, decoded_inflated
         
     | 
| 
       54 
54 
     | 
    
         
             
                end
         
     | 
| 
       55 
55 
     | 
    
         
             
              end
         
     | 
| 
       56 
     | 
    
         
            -
            end
         
     | 
| 
      
 56 
     | 
    
         
            +
            end
         
     | 
    
        data/test/settings_test.rb
    CHANGED
    
    | 
         @@ -1,12 +1,12 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require File.expand_path(File.join(File.dirname(__FILE__), "test_helper"))
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
            require 'onelogin/ruby-saml/settings'
         
     | 
| 
      
 3 
     | 
    
         
            +
            require 'onelogin/kl-ruby-saml/settings'
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
            class SettingsTest < Minitest::Test
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
7 
     | 
    
         
             
              describe "Settings" do
         
     | 
| 
       8 
8 
     | 
    
         
             
                before do
         
     | 
| 
       9 
     | 
    
         
            -
                  @settings = OneLogin:: 
     | 
| 
      
 9 
     | 
    
         
            +
                  @settings = OneLogin::KlRubySaml::Settings.new
         
     | 
| 
       10 
10 
     | 
    
         
             
                end
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
12 
     | 
    
         
             
                it "should provide getters and settings" do
         
     | 
| 
         @@ -44,7 +44,7 @@ class SettingsTest < Minitest::Test 
     | 
|
| 
       44 
44 
     | 
    
         
             
                      :passive => true,
         
     | 
| 
       45 
45 
     | 
    
         
             
                      :protocol_binding => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST'
         
     | 
| 
       46 
46 
     | 
    
         
             
                  }
         
     | 
| 
       47 
     | 
    
         
            -
                  @settings = OneLogin:: 
     | 
| 
      
 47 
     | 
    
         
            +
                  @settings = OneLogin::KlRubySaml::Settings.new(config)
         
     | 
| 
       48 
48 
     | 
    
         | 
| 
       49 
49 
     | 
    
         
             
                  config.each do |k,v|
         
     | 
| 
       50 
50 
     | 
    
         
             
                    assert_equal v, @settings.send(k)
         
     | 
| 
         @@ -52,7 +52,7 @@ class SettingsTest < Minitest::Test 
     | 
|
| 
       52 
52 
     | 
    
         
             
                end
         
     | 
| 
       53 
53 
     | 
    
         | 
| 
       54 
54 
     | 
    
         
             
                it "configure attribute service attributes correctly" do
         
     | 
| 
       55 
     | 
    
         
            -
                  @settings = OneLogin:: 
     | 
| 
      
 55 
     | 
    
         
            +
                  @settings = OneLogin::KlRubySaml::Settings.new
         
     | 
| 
       56 
56 
     | 
    
         
             
                  @settings.attribute_consuming_service.configure do
         
     | 
| 
       57 
57 
     | 
    
         
             
                    service_name "Test Service"
         
     | 
| 
       58 
58 
     | 
    
         
             
                    add_attribute :name => "Name", :name_format => "Name Format", :friendly_name => "Friendly Name"
         
     | 
| 
         @@ -64,13 +64,13 @@ class SettingsTest < Minitest::Test 
     | 
|
| 
       64 
64 
     | 
    
         
             
                end
         
     | 
| 
       65 
65 
     | 
    
         | 
| 
       66 
66 
     | 
    
         
             
                it "does not modify default security settings" do
         
     | 
| 
       67 
     | 
    
         
            -
                  settings = OneLogin:: 
     | 
| 
      
 67 
     | 
    
         
            +
                  settings = OneLogin::KlRubySaml::Settings.new
         
     | 
| 
       68 
68 
     | 
    
         
             
                  settings.security[:authn_requests_signed] = true
         
     | 
| 
       69 
69 
     | 
    
         
             
                  settings.security[:embed_sign] = true
         
     | 
| 
       70 
70 
     | 
    
         
             
                  settings.security[:digest_method] = XMLSecurity::Document::SHA256
         
     | 
| 
       71 
71 
     | 
    
         
             
                  settings.security[:signature_method] = XMLSecurity::Document::RSA_SHA256
         
     | 
| 
       72 
72 
     | 
    
         | 
| 
       73 
     | 
    
         
            -
                  new_settings = OneLogin:: 
     | 
| 
      
 73 
     | 
    
         
            +
                  new_settings = OneLogin::KlRubySaml::Settings.new
         
     | 
| 
       74 
74 
     | 
    
         
             
                  assert_equal new_settings.security[:authn_requests_signed], false
         
     | 
| 
       75 
75 
     | 
    
         
             
                  assert_equal new_settings.security[:embed_sign], false
         
     | 
| 
       76 
76 
     | 
    
         
             
                  assert_equal new_settings.security[:digest_method], XMLSecurity::Document::SHA1
         
     | 
| 
         @@ -97,19 +97,19 @@ class SettingsTest < Minitest::Test 
     | 
|
| 
       97 
97 
     | 
    
         | 
| 
       98 
98 
     | 
    
         
             
                describe "#get_idp_cert" do
         
     | 
| 
       99 
99 
     | 
    
         
             
                  it "returns nil when the cert is an empty string" do
         
     | 
| 
       100 
     | 
    
         
            -
                    @settings = OneLogin:: 
     | 
| 
      
 100 
     | 
    
         
            +
                    @settings = OneLogin::KlRubySaml::Settings.new
         
     | 
| 
       101 
101 
     | 
    
         
             
                    @settings.idp_cert = ""
         
     | 
| 
       102 
102 
     | 
    
         
             
                    assert_equal nil, @settings.get_idp_cert
         
     | 
| 
       103 
103 
     | 
    
         
             
                  end
         
     | 
| 
       104 
104 
     | 
    
         | 
| 
       105 
105 
     | 
    
         
             
                  it "returns nil when the cert is nil" do
         
     | 
| 
       106 
     | 
    
         
            -
                    @settings = OneLogin:: 
     | 
| 
      
 106 
     | 
    
         
            +
                    @settings = OneLogin::KlRubySaml::Settings.new
         
     | 
| 
       107 
107 
     | 
    
         
             
                    @settings.idp_cert = nil
         
     | 
| 
       108 
108 
     | 
    
         
             
                    assert_equal nil, @settings.get_idp_cert
         
     | 
| 
       109 
109 
     | 
    
         
             
                  end
         
     | 
| 
       110 
110 
     | 
    
         | 
| 
       111 
111 
     | 
    
         
             
                  it "returns the certificate when it is valid" do
         
     | 
| 
       112 
     | 
    
         
            -
                    @settings = OneLogin:: 
     | 
| 
      
 112 
     | 
    
         
            +
                    @settings = OneLogin::KlRubySaml::Settings.new
         
     | 
| 
       113 
113 
     | 
    
         
             
                    @settings.idp_cert = ruby_saml_cert_text
         
     | 
| 
       114 
114 
     | 
    
         
             
                    assert @settings.get_idp_cert.kind_of? OpenSSL::X509::Certificate
         
     | 
| 
       115 
115 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -125,19 +125,19 @@ class SettingsTest < Minitest::Test 
     | 
|
| 
       125 
125 
     | 
    
         | 
| 
       126 
126 
     | 
    
         
             
                describe "#get_sp_cert" do
         
     | 
| 
       127 
127 
     | 
    
         
             
                  it "returns nil when the cert is an empty string" do
         
     | 
| 
       128 
     | 
    
         
            -
                    @settings = OneLogin:: 
     | 
| 
      
 128 
     | 
    
         
            +
                    @settings = OneLogin::KlRubySaml::Settings.new
         
     | 
| 
       129 
129 
     | 
    
         
             
                    @settings.certificate = ""
         
     | 
| 
       130 
130 
     | 
    
         
             
                    assert_equal nil, @settings.get_sp_cert
         
     | 
| 
       131 
131 
     | 
    
         
             
                  end
         
     | 
| 
       132 
132 
     | 
    
         | 
| 
       133 
133 
     | 
    
         
             
                  it "returns nil when the cert is nil" do
         
     | 
| 
       134 
     | 
    
         
            -
                    @settings = OneLogin:: 
     | 
| 
      
 134 
     | 
    
         
            +
                    @settings = OneLogin::KlRubySaml::Settings.new
         
     | 
| 
       135 
135 
     | 
    
         
             
                    @settings.certificate = nil
         
     | 
| 
       136 
136 
     | 
    
         
             
                    assert_equal nil, @settings.get_sp_cert
         
     | 
| 
       137 
137 
     | 
    
         
             
                  end
         
     | 
| 
       138 
138 
     | 
    
         | 
| 
       139 
139 
     | 
    
         
             
                  it "returns the certificate when it is valid" do
         
     | 
| 
       140 
     | 
    
         
            -
                    @settings = OneLogin:: 
     | 
| 
      
 140 
     | 
    
         
            +
                    @settings = OneLogin::KlRubySaml::Settings.new
         
     | 
| 
       141 
141 
     | 
    
         
             
                    @settings.certificate = ruby_saml_cert_text
         
     | 
| 
       142 
142 
     | 
    
         
             
                    assert @settings.get_sp_cert.kind_of? OpenSSL::X509::Certificate
         
     | 
| 
       143 
143 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -154,19 +154,19 @@ class SettingsTest < Minitest::Test 
     | 
|
| 
       154 
154 
     | 
    
         | 
| 
       155 
155 
     | 
    
         
             
                describe "#get_sp_key" do
         
     | 
| 
       156 
156 
     | 
    
         
             
                  it "returns nil when the private key is an empty string" do
         
     | 
| 
       157 
     | 
    
         
            -
                    @settings = OneLogin:: 
     | 
| 
      
 157 
     | 
    
         
            +
                    @settings = OneLogin::KlRubySaml::Settings.new
         
     | 
| 
       158 
158 
     | 
    
         
             
                    @settings.private_key = ""
         
     | 
| 
       159 
159 
     | 
    
         
             
                    assert_equal nil, @settings.get_sp_key
         
     | 
| 
       160 
160 
     | 
    
         
             
                  end
         
     | 
| 
       161 
161 
     | 
    
         | 
| 
       162 
162 
     | 
    
         
             
                  it "returns nil when the private key is nil" do
         
     | 
| 
       163 
     | 
    
         
            -
                    @settings = OneLogin:: 
     | 
| 
      
 163 
     | 
    
         
            +
                    @settings = OneLogin::KlRubySaml::Settings.new
         
     | 
| 
       164 
164 
     | 
    
         
             
                    @settings.private_key = nil
         
     | 
| 
       165 
165 
     | 
    
         
             
                    assert_equal nil, @settings.get_sp_key
         
     | 
| 
       166 
166 
     | 
    
         
             
                  end
         
     | 
| 
       167 
167 
     | 
    
         | 
| 
       168 
168 
     | 
    
         
             
                  it "returns the private key when it is valid" do
         
     | 
| 
       169 
     | 
    
         
            -
                    @settings = OneLogin:: 
     | 
| 
      
 169 
     | 
    
         
            +
                    @settings = OneLogin::KlRubySaml::Settings.new
         
     | 
| 
       170 
170 
     | 
    
         
             
                    @settings.private_key = ruby_saml_key_text
         
     | 
| 
       171 
171 
     | 
    
         
             
                    assert @settings.get_sp_key.kind_of? OpenSSL::PKey::RSA
         
     | 
| 
       172 
172 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -183,7 +183,7 @@ class SettingsTest < Minitest::Test 
     | 
|
| 
       183 
183 
     | 
    
         | 
| 
       184 
184 
     | 
    
         
             
                describe "#get_fingerprint" do
         
     | 
| 
       185 
185 
     | 
    
         
             
                  it "get the fingerprint value when cert and fingerprint in settings are nil" do
         
     | 
| 
       186 
     | 
    
         
            -
                    @settings = OneLogin:: 
     | 
| 
      
 186 
     | 
    
         
            +
                    @settings = OneLogin::KlRubySaml::Settings.new
         
     | 
| 
       187 
187 
     | 
    
         
             
                    @settings.idp_cert_fingerprint = nil
         
     | 
| 
       188 
188 
     | 
    
         
             
                    @settings.idp_cert = nil
         
     | 
| 
       189 
189 
     | 
    
         
             
                    fingerprint = @settings.get_fingerprint
         
     | 
| 
         @@ -191,7 +191,7 @@ class SettingsTest < Minitest::Test 
     | 
|
| 
       191 
191 
     | 
    
         
             
                  end
         
     | 
| 
       192 
192 
     | 
    
         | 
| 
       193 
193 
     | 
    
         
             
                  it "get the fingerprint value when there is a cert at the settings" do
         
     | 
| 
       194 
     | 
    
         
            -
                    @settings = OneLogin:: 
     | 
| 
      
 194 
     | 
    
         
            +
                    @settings = OneLogin::KlRubySaml::Settings.new
         
     | 
| 
       195 
195 
     | 
    
         
             
                    @settings.idp_cert_fingerprint = nil
         
     | 
| 
       196 
196 
     | 
    
         
             
                    @settings.idp_cert = ruby_saml_cert_text
         
     | 
| 
       197 
197 
     | 
    
         
             
                    fingerprint = @settings.get_fingerprint
         
     | 
| 
         @@ -199,7 +199,7 @@ class SettingsTest < Minitest::Test 
     | 
|
| 
       199 
199 
     | 
    
         
             
                  end
         
     | 
| 
       200 
200 
     | 
    
         | 
| 
       201 
201 
     | 
    
         
             
                  it "get the fingerprint value when there is a fingerprint at the settings" do
         
     | 
| 
       202 
     | 
    
         
            -
                    @settings = OneLogin:: 
     | 
| 
      
 202 
     | 
    
         
            +
                    @settings = OneLogin::KlRubySaml::Settings.new
         
     | 
| 
       203 
203 
     | 
    
         
             
                    @settings.idp_cert_fingerprint = ruby_saml_cert_fingerprint
         
     | 
| 
       204 
204 
     | 
    
         
             
                    @settings.idp_cert = nil
         
     | 
| 
       205 
205 
     | 
    
         
             
                    fingerprint = @settings.get_fingerprint
         
     | 
| 
         @@ -207,7 +207,7 @@ class SettingsTest < Minitest::Test 
     | 
|
| 
       207 
207 
     | 
    
         
             
                  end
         
     | 
| 
       208 
208 
     | 
    
         | 
| 
       209 
209 
     | 
    
         
             
                  it "get the fingerprint value when there are cert and fingerprint at the settings" do
         
     | 
| 
       210 
     | 
    
         
            -
                    @settings = OneLogin:: 
     | 
| 
      
 210 
     | 
    
         
            +
                    @settings = OneLogin::KlRubySaml::Settings.new
         
     | 
| 
       211 
211 
     | 
    
         
             
                    @settings.idp_cert_fingerprint = ruby_saml_cert_fingerprint
         
     | 
| 
       212 
212 
     | 
    
         
             
                    @settings.idp_cert = ruby_saml_cert_text
         
     | 
| 
       213 
213 
     | 
    
         
             
                    fingerprint = @settings.get_fingerprint
         
     | 
| 
         @@ -1,16 +1,16 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require File.expand_path(File.join(File.dirname(__FILE__), "test_helper"))
         
     | 
| 
       2 
2 
     | 
    
         
             
            require 'logout_responses/logoutresponse_fixtures'
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
     | 
    
         
            -
            require 'onelogin/ruby-saml/slo_logoutrequest'
         
     | 
| 
      
 4 
     | 
    
         
            +
            require 'onelogin/kl-ruby-saml/slo_logoutrequest'
         
     | 
| 
       5 
5 
     | 
    
         
             
            require 'timecop'
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
     | 
    
         
            -
            class  
     | 
| 
      
 7 
     | 
    
         
            +
            class KlRubySamlTest < Minitest::Test
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
9 
     | 
    
         
             
              describe "SloLogoutrequest" do
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
       11 
     | 
    
         
            -
                let(:settings) { OneLogin:: 
     | 
| 
       12 
     | 
    
         
            -
                let(:logout_request) { OneLogin:: 
     | 
| 
       13 
     | 
    
         
            -
                let(:invalid_logout_request) { OneLogin:: 
     | 
| 
      
 11 
     | 
    
         
            +
                let(:settings) { OneLogin::KlRubySaml::Settings.new }
         
     | 
| 
      
 12 
     | 
    
         
            +
                let(:logout_request) { OneLogin::KlRubySaml::SloLogoutrequest.new(logout_request_document) }
         
     | 
| 
      
 13 
     | 
    
         
            +
                let(:invalid_logout_request) { OneLogin::KlRubySaml::SloLogoutrequest.new(invalid_logout_request_document) }
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
       15 
15 
     | 
    
         
             
                before do
         
     | 
| 
       16 
16 
     | 
    
         
             
                  settings.idp_entity_id = 'https://app.onelogin.com/saml/metadata/SOMEACCOUNT'
         
     | 
| 
         @@ -21,13 +21,13 @@ class RubySamlTest < Minitest::Test 
     | 
|
| 
       21 
21 
     | 
    
         | 
| 
       22 
22 
     | 
    
         
             
                describe "initiator" do
         
     | 
| 
       23 
23 
     | 
    
         
             
                  it "raise an exception when logout request is initialized with nil" do
         
     | 
| 
       24 
     | 
    
         
            -
                    assert_raises(ArgumentError) { OneLogin:: 
     | 
| 
      
 24 
     | 
    
         
            +
                    assert_raises(ArgumentError) { OneLogin::KlRubySaml::SloLogoutrequest.new(nil) }
         
     | 
| 
       25 
25 
     | 
    
         
             
                  end
         
     | 
| 
       26 
26 
     | 
    
         
             
                end
         
     | 
| 
       27 
27 
     | 
    
         | 
| 
       28 
28 
     | 
    
         
             
                describe "#is_valid?" do
         
     | 
| 
       29 
29 
     | 
    
         
             
                  it "return false when logout request is initialized with blank data" do
         
     | 
| 
       30 
     | 
    
         
            -
                    logout_request_blank = OneLogin:: 
     | 
| 
      
 30 
     | 
    
         
            +
                    logout_request_blank = OneLogin::KlRubySaml::SloLogoutrequest.new('')
         
     | 
| 
       31 
31 
     | 
    
         
             
                    assert !logout_request_blank.is_valid?
         
     | 
| 
       32 
32 
     | 
    
         
             
                    assert_includes logout_request_blank.errors, 'Blank logout request'
         
     | 
| 
       33 
33 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -54,7 +54,7 @@ class RubySamlTest < Minitest::Test 
     | 
|
| 
       54 
54 
     | 
    
         | 
| 
       55 
55 
     | 
    
         
             
                  it "raise error for invalid xml" do
         
     | 
| 
       56 
56 
     | 
    
         
             
                    invalid_logout_request.soft = false
         
     | 
| 
       57 
     | 
    
         
            -
                    assert_raises(OneLogin:: 
     | 
| 
      
 57 
     | 
    
         
            +
                    assert_raises(OneLogin::KlRubySaml::ValidationError) { invalid_logout_request.is_valid? }
         
     | 
| 
       58 
58 
     | 
    
         
             
                  end
         
     | 
| 
       59 
59 
     | 
    
         
             
                end
         
     | 
| 
       60 
60 
     | 
    
         | 
| 
         @@ -91,7 +91,7 @@ class RubySamlTest < Minitest::Test 
     | 
|
| 
       91 
91 
     | 
    
         
             
                  end
         
     | 
| 
       92 
92 
     | 
    
         | 
| 
       93 
93 
     | 
    
         
             
                  it "return an Array with one SessionIndex" do
         
     | 
| 
       94 
     | 
    
         
            -
                    logout_request_with_session_index = OneLogin:: 
     | 
| 
      
 94 
     | 
    
         
            +
                    logout_request_with_session_index = OneLogin::KlRubySaml::SloLogoutrequest.new(logout_request_xml_with_session_index)
         
     | 
| 
       95 
95 
     | 
    
         
             
                    assert_equal ['_ea853497-c58a-408a-bc23-c849752d9741'], logout_request_with_session_index.session_indexes
         
     | 
| 
       96 
96 
     | 
    
         
             
                  end
         
     | 
| 
       97 
97 
     | 
    
         
             
                end
         
     | 
| 
         @@ -103,7 +103,7 @@ class RubySamlTest < Minitest::Test 
     | 
|
| 
       103 
103 
     | 
    
         
             
                  end
         
     | 
| 
       104 
104 
     | 
    
         | 
| 
       105 
105 
     | 
    
         
             
                  it "return false when there is an invalid ID in the logout request" do
         
     | 
| 
       106 
     | 
    
         
            -
                    logout_request_blank = OneLogin:: 
     | 
| 
      
 106 
     | 
    
         
            +
                    logout_request_blank = OneLogin::KlRubySaml::SloLogoutrequest.new('')
         
     | 
| 
       107 
107 
     | 
    
         
             
                    assert !logout_request_blank.send(:validate_id)
         
     | 
| 
       108 
108 
     | 
    
         
             
                    assert_includes logout_request_blank.errors, "Missing ID attribute on Logout Request"
         
     | 
| 
       109 
109 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -115,7 +115,7 @@ class RubySamlTest < Minitest::Test 
     | 
|
| 
       115 
115 
     | 
    
         
             
                  end
         
     | 
| 
       116 
116 
     | 
    
         | 
| 
       117 
117 
     | 
    
         
             
                  it "return false when the logout request is not SAML 2.0 Version" do
         
     | 
| 
       118 
     | 
    
         
            -
                    logout_request_blank = OneLogin:: 
     | 
| 
      
 118 
     | 
    
         
            +
                    logout_request_blank = OneLogin::KlRubySaml::SloLogoutrequest.new('')
         
     | 
| 
       119 
119 
     | 
    
         
             
                    assert !logout_request_blank.send(:validate_version)
         
     | 
| 
       120 
120 
     | 
    
         
             
                    assert_includes logout_request_blank.errors, "Unsupported SAML version"
         
     | 
| 
       121 
121 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -142,7 +142,7 @@ class RubySamlTest < Minitest::Test 
     | 
|
| 
       142 
142 
     | 
    
         
             
                  it "raise when the logout request has an invalid NotOnOrAfter" do
         
     | 
| 
       143 
143 
     | 
    
         
             
                    logout_request.document.root.attributes['NotOnOrAfter'] = '2014-07-17T01:01:48Z'
         
     | 
| 
       144 
144 
     | 
    
         
             
                    logout_request.soft = false
         
     | 
| 
       145 
     | 
    
         
            -
                    assert_raises(OneLogin:: 
     | 
| 
      
 145 
     | 
    
         
            +
                    assert_raises(OneLogin::KlRubySaml::ValidationError, "Current time is on or after NotOnOrAfter") do
         
     | 
| 
       146 
146 
     | 
    
         
             
                      logout_request.send(:validate_not_on_or_after)
         
     | 
| 
       147 
147 
     | 
    
         
             
                    end
         
     | 
| 
       148 
148 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -157,16 +157,16 @@ class RubySamlTest < Minitest::Test 
     | 
|
| 
       157 
157 
     | 
    
         
             
                  end
         
     | 
| 
       158 
158 
     | 
    
         | 
| 
       159 
159 
     | 
    
         
             
                  it "return false when invalid logout request xml" do
         
     | 
| 
       160 
     | 
    
         
            -
                    logout_request_blank = OneLogin:: 
     | 
| 
      
 160 
     | 
    
         
            +
                    logout_request_blank = OneLogin::KlRubySaml::SloLogoutrequest.new('')
         
     | 
| 
       161 
161 
     | 
    
         
             
                    logout_request_blank.soft = true
         
     | 
| 
       162 
162 
     | 
    
         
             
                    assert !logout_request_blank.send(:validate_request_state)
         
     | 
| 
       163 
163 
     | 
    
         
             
                    assert_includes logout_request_blank.errors, "Blank logout request"
         
     | 
| 
       164 
164 
     | 
    
         
             
                  end
         
     | 
| 
       165 
165 
     | 
    
         | 
| 
       166 
166 
     | 
    
         
             
                  it "raise error for invalid xml" do
         
     | 
| 
       167 
     | 
    
         
            -
                    logout_request_blank = OneLogin:: 
     | 
| 
      
 167 
     | 
    
         
            +
                    logout_request_blank = OneLogin::KlRubySaml::SloLogoutrequest.new('')
         
     | 
| 
       168 
168 
     | 
    
         
             
                    logout_request_blank.soft = false
         
     | 
| 
       169 
     | 
    
         
            -
                    assert_raises(OneLogin:: 
     | 
| 
      
 169 
     | 
    
         
            +
                    assert_raises(OneLogin::KlRubySaml::ValidationError, "Blank logout request") do
         
     | 
| 
       170 
170 
     | 
    
         
             
                      logout_request_blank.send(:validate_request_state)
         
     | 
| 
       171 
171 
     | 
    
         
             
                    end
         
     | 
| 
       172 
172 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -185,7 +185,7 @@ class RubySamlTest < Minitest::Test 
     | 
|
| 
       185 
185 
     | 
    
         | 
| 
       186 
186 
     | 
    
         
             
                  it "raise when encountering a Logout Request bad formatted" do
         
     | 
| 
       187 
187 
     | 
    
         
             
                    invalid_logout_request.soft = false
         
     | 
| 
       188 
     | 
    
         
            -
                    assert_raises(OneLogin:: 
     | 
| 
      
 188 
     | 
    
         
            +
                    assert_raises(OneLogin::KlRubySaml::ValidationError, "Element '{urn:oasis:names:tc:SAML:2.0:assertion}Issuer': This element is not expected") do
         
     | 
| 
       189 
189 
     | 
    
         
             
                      invalid_logout_request.send(:validate_structure)
         
     | 
| 
       190 
190 
     | 
    
         
             
                    end
         
     | 
| 
       191 
191 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -204,7 +204,7 @@ class RubySamlTest < Minitest::Test 
     | 
|
| 
       204 
204 
     | 
    
         
             
                  it "raise when the issuer of the Logout Request does not match the IdP entityId" do
         
     | 
| 
       205 
205 
     | 
    
         
             
                    logout_request.settings.idp_entity_id = 'http://idp.example.com/invalid'
         
     | 
| 
       206 
206 
     | 
    
         
             
                    logout_request.soft = false
         
     | 
| 
       207 
     | 
    
         
            -
                    assert_raises(OneLogin:: 
     | 
| 
      
 207 
     | 
    
         
            +
                    assert_raises(OneLogin::KlRubySaml::ValidationError, "Doesn't match the issuer, expected: <#{logout_request.settings.idp_entity_id}>, but was: <https://app.onelogin.com/saml/metadata/SOMEACCOUNT>") do
         
     | 
| 
       208 
208 
     | 
    
         
             
                      logout_request.send(:validate_issuer)
         
     | 
| 
       209 
209 
     | 
    
         
             
                    end
         
     | 
| 
       210 
210 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -222,21 +222,21 @@ class RubySamlTest < Minitest::Test 
     | 
|
| 
       222 
222 
     | 
    
         | 
| 
       223 
223 
     | 
    
         
             
                  it "return true when valid RSA_SHA1 Signature" do
         
     | 
| 
       224 
224 
     | 
    
         
             
                    settings.security[:signature_method] = XMLSecurity::Document::RSA_SHA1
         
     | 
| 
       225 
     | 
    
         
            -
                    params = OneLogin:: 
     | 
| 
      
 225 
     | 
    
         
            +
                    params = OneLogin::KlRubySaml::Logoutrequest.new.create_params(settings, :RelayState => 'http://example.com')
         
     | 
| 
       226 
226 
     | 
    
         
             
                    params['RelayState'] = params[:RelayState]
         
     | 
| 
       227 
227 
     | 
    
         
             
                    options = {}
         
     | 
| 
       228 
228 
     | 
    
         
             
                    options[:get_params] = params
         
     | 
| 
       229 
     | 
    
         
            -
                    logout_request_sign_test = OneLogin:: 
     | 
| 
      
 229 
     | 
    
         
            +
                    logout_request_sign_test = OneLogin::KlRubySaml::SloLogoutrequest.new(params['SAMLRequest'], options)
         
     | 
| 
       230 
230 
     | 
    
         
             
                    logout_request_sign_test.settings = settings
         
     | 
| 
       231 
231 
     | 
    
         
             
                    assert logout_request_sign_test.send(:validate_signature)
         
     | 
| 
       232 
232 
     | 
    
         
             
                  end
         
     | 
| 
       233 
233 
     | 
    
         | 
| 
       234 
234 
     | 
    
         
             
                  it "return true when valid RSA_SHA256 Signature" do
         
     | 
| 
       235 
235 
     | 
    
         
             
                    settings.security[:signature_method] = XMLSecurity::Document::RSA_SHA256
         
     | 
| 
       236 
     | 
    
         
            -
                    params = OneLogin:: 
     | 
| 
      
 236 
     | 
    
         
            +
                    params = OneLogin::KlRubySaml::Logoutrequest.new.create_params(settings, :RelayState => 'http://example.com')
         
     | 
| 
       237 
237 
     | 
    
         
             
                    options = {}
         
     | 
| 
       238 
238 
     | 
    
         
             
                    options[:get_params] = params
         
     | 
| 
       239 
     | 
    
         
            -
                    logout_request_sign_test = OneLogin:: 
     | 
| 
      
 239 
     | 
    
         
            +
                    logout_request_sign_test = OneLogin::KlRubySaml::SloLogoutrequest.new(params['SAMLRequest'], options)
         
     | 
| 
       240 
240 
     | 
    
         
             
                    params['RelayState'] = params[:RelayState]
         
     | 
| 
       241 
241 
     | 
    
         
             
                    logout_request_sign_test.settings = settings
         
     | 
| 
       242 
242 
     | 
    
         
             
                    assert logout_request_sign_test.send(:validate_signature)
         
     | 
| 
         @@ -244,13 +244,13 @@ class RubySamlTest < Minitest::Test 
     | 
|
| 
       244 
244 
     | 
    
         | 
| 
       245 
245 
     | 
    
         
             
                  it "return false when invalid RSA_SHA1 Signature" do
         
     | 
| 
       246 
246 
     | 
    
         
             
                    settings.security[:signature_method] = XMLSecurity::Document::RSA_SHA1
         
     | 
| 
       247 
     | 
    
         
            -
                    params = OneLogin:: 
     | 
| 
      
 247 
     | 
    
         
            +
                    params = OneLogin::KlRubySaml::Logoutrequest.new.create_params(settings, :RelayState => 'http://example.com')
         
     | 
| 
       248 
248 
     | 
    
         
             
                    params['RelayState'] = 'http://invalid.exampcle.com'
         
     | 
| 
       249 
249 
     | 
    
         
             
                    params[:RelayState] = params['RelayState']
         
     | 
| 
       250 
250 
     | 
    
         
             
                    options = {}
         
     | 
| 
       251 
251 
     | 
    
         
             
                    options[:get_params] = params
         
     | 
| 
       252 
252 
     | 
    
         | 
| 
       253 
     | 
    
         
            -
                    logout_request_sign_test = OneLogin:: 
     | 
| 
      
 253 
     | 
    
         
            +
                    logout_request_sign_test = OneLogin::KlRubySaml::SloLogoutrequest.new(params['SAMLRequest'], options)
         
     | 
| 
       254 
254 
     | 
    
         
             
                    logout_request_sign_test.settings = settings
         
     | 
| 
       255 
255 
     | 
    
         
             
                    assert !logout_request_sign_test.send(:validate_signature)
         
     | 
| 
       256 
256 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -258,15 +258,15 @@ class RubySamlTest < Minitest::Test 
     | 
|
| 
       258 
258 
     | 
    
         
             
                  it "raise when invalid RSA_SHA1 Signature" do
         
     | 
| 
       259 
259 
     | 
    
         
             
                    settings.security[:signature_method] = XMLSecurity::Document::RSA_SHA1
         
     | 
| 
       260 
260 
     | 
    
         
             
                    settings.soft = false
         
     | 
| 
       261 
     | 
    
         
            -
                    params = OneLogin:: 
     | 
| 
      
 261 
     | 
    
         
            +
                    params = OneLogin::KlRubySaml::Logoutrequest.new.create_params(settings, :RelayState => 'http://example.com')
         
     | 
| 
       262 
262 
     | 
    
         
             
                    params['RelayState'] = 'http://invalid.exampcle.com'
         
     | 
| 
       263 
263 
     | 
    
         
             
                    params[:RelayState] = params['RelayState']
         
     | 
| 
       264 
264 
     | 
    
         
             
                    options = {}
         
     | 
| 
       265 
265 
     | 
    
         
             
                    options[:get_params] = params
         
     | 
| 
       266 
266 
     | 
    
         
             
                    options[:settings] = settings
         
     | 
| 
       267 
267 
     | 
    
         | 
| 
       268 
     | 
    
         
            -
                    logout_request_sign_test = OneLogin:: 
     | 
| 
       269 
     | 
    
         
            -
                    assert_raises(OneLogin:: 
     | 
| 
      
 268 
     | 
    
         
            +
                    logout_request_sign_test = OneLogin::KlRubySaml::SloLogoutrequest.new(params['SAMLRequest'], options)
         
     | 
| 
      
 269 
     | 
    
         
            +
                    assert_raises(OneLogin::KlRubySaml::ValidationError, "Invalid Signature on Logout Request") do
         
     | 
| 
       270 
270 
     | 
    
         
             
                      logout_request_sign_test.send(:validate_signature)
         
     | 
| 
       271 
271 
     | 
    
         
             
                    end
         
     | 
| 
       272 
272 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -1,12 +1,12 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require File.expand_path(File.join(File.dirname(__FILE__), "test_helper"))
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
            require 'onelogin/ruby-saml/slo_logoutresponse'
         
     | 
| 
      
 3 
     | 
    
         
            +
            require 'onelogin/kl-ruby-saml/slo_logoutresponse'
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
            class SloLogoutresponseTest < Minitest::Test
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
7 
     | 
    
         
             
              describe "SloLogoutresponse" do
         
     | 
| 
       8 
     | 
    
         
            -
                let(:settings) { OneLogin:: 
     | 
| 
       9 
     | 
    
         
            -
                let(:logout_request) { OneLogin:: 
     | 
| 
      
 8 
     | 
    
         
            +
                let(:settings) { OneLogin::KlRubySaml::Settings.new }
         
     | 
| 
      
 9 
     | 
    
         
            +
                let(:logout_request) { OneLogin::KlRubySaml::SloLogoutrequest.new(logout_request_document) }
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
       11 
11 
     | 
    
         
             
                before do
         
     | 
| 
       12 
12 
     | 
    
         
             
                  settings.idp_entity_id = 'https://app.onelogin.com/saml/metadata/SOMEACCOUNT'
         
     | 
| 
         @@ -19,7 +19,7 @@ class SloLogoutresponseTest < Minitest::Test 
     | 
|
| 
       19 
19 
     | 
    
         
             
                end
         
     | 
| 
       20 
20 
     | 
    
         | 
| 
       21 
21 
     | 
    
         
             
                it "create the deflated SAMLResponse URL parameter" do
         
     | 
| 
       22 
     | 
    
         
            -
                  unauth_url = OneLogin:: 
     | 
| 
      
 22 
     | 
    
         
            +
                  unauth_url = OneLogin::KlRubySaml::SloLogoutresponse.new.create(settings, logout_request.id)
         
     | 
| 
       23 
23 
     | 
    
         
             
                  assert_match /^http:\/\/unauth\.com\/logout\?SAMLResponse=/, unauth_url
         
     | 
| 
       24 
24 
     | 
    
         | 
| 
       25 
25 
     | 
    
         
             
                  inflated = decode_saml_response_payload(unauth_url)
         
     | 
| 
         @@ -27,25 +27,25 @@ class SloLogoutresponseTest < Minitest::Test 
     | 
|
| 
       27 
27 
     | 
    
         
             
                end
         
     | 
| 
       28 
28 
     | 
    
         | 
| 
       29 
29 
     | 
    
         
             
                it "support additional params" do
         
     | 
| 
       30 
     | 
    
         
            -
                  unauth_url = OneLogin:: 
     | 
| 
      
 30 
     | 
    
         
            +
                  unauth_url = OneLogin::KlRubySaml::SloLogoutresponse.new.create(settings, logout_request.id, nil, { :hello => nil })
         
     | 
| 
       31 
31 
     | 
    
         
             
                  assert_match /&hello=$/, unauth_url
         
     | 
| 
       32 
32 
     | 
    
         | 
| 
       33 
     | 
    
         
            -
                  unauth_url = OneLogin:: 
     | 
| 
      
 33 
     | 
    
         
            +
                  unauth_url = OneLogin::KlRubySaml::SloLogoutresponse.new.create(settings, logout_request.id, nil, { :foo => "bar" })
         
     | 
| 
       34 
34 
     | 
    
         
             
                  assert_match /&foo=bar$/, unauth_url
         
     | 
| 
       35 
35 
     | 
    
         | 
| 
       36 
     | 
    
         
            -
                  unauth_url = OneLogin:: 
     | 
| 
      
 36 
     | 
    
         
            +
                  unauth_url = OneLogin::KlRubySaml::SloLogoutresponse.new.create(settings, logout_request.id, nil, { :RelayState => "http://idp.example.com" })
         
     | 
| 
       37 
37 
     | 
    
         
             
                  assert_match /&RelayState=http%3A%2F%2Fidp.example.com$/, unauth_url
         
     | 
| 
       38 
38 
     | 
    
         
             
                end
         
     | 
| 
       39 
39 
     | 
    
         | 
| 
       40 
40 
     | 
    
         
             
                it "set InResponseTo to the ID from the logout request" do
         
     | 
| 
       41 
     | 
    
         
            -
                  unauth_url = OneLogin:: 
     | 
| 
      
 41 
     | 
    
         
            +
                  unauth_url = OneLogin::KlRubySaml::SloLogoutresponse.new.create(settings, logout_request.id)
         
     | 
| 
       42 
42 
     | 
    
         | 
| 
       43 
43 
     | 
    
         
             
                  inflated = decode_saml_response_payload(unauth_url)
         
     | 
| 
       44 
44 
     | 
    
         
             
                  assert_match /InResponseTo='_c0348950-935b-0131-1060-782bcb56fcaa'/, inflated
         
     | 
| 
       45 
45 
     | 
    
         
             
                end
         
     | 
| 
       46 
46 
     | 
    
         | 
| 
       47 
47 
     | 
    
         
             
                it "set a custom successful logout message on the response" do
         
     | 
| 
       48 
     | 
    
         
            -
                  unauth_url = OneLogin:: 
     | 
| 
      
 48 
     | 
    
         
            +
                  unauth_url = OneLogin::KlRubySaml::SloLogoutresponse.new.create(settings, logout_request.id, "Custom Logout Message")
         
     | 
| 
       49 
49 
     | 
    
         | 
| 
       50 
50 
     | 
    
         
             
                  inflated = decode_saml_response_payload(unauth_url)
         
     | 
| 
       51 
51 
     | 
    
         
             
                  assert_match /<samlp:StatusMessage>Custom Logout Message<\/samlp:StatusMessage>/, inflated
         
     | 
| 
         @@ -61,7 +61,7 @@ class SloLogoutresponseTest < Minitest::Test 
     | 
|
| 
       61 
61 
     | 
    
         | 
| 
       62 
62 
     | 
    
         
             
                  it "create a signed logout response" do
         
     | 
| 
       63 
63 
     | 
    
         
             
                    logout_request.settings = settings
         
     | 
| 
       64 
     | 
    
         
            -
                    params = OneLogin:: 
     | 
| 
      
 64 
     | 
    
         
            +
                    params = OneLogin::KlRubySaml::SloLogoutresponse.new.create_params(settings, logout_request.id, "Custom Logout Message")
         
     | 
| 
       65 
65 
     | 
    
         | 
| 
       66 
66 
     | 
    
         
             
                    response_xml = Base64.decode64(params["SAMLResponse"])
         
     | 
| 
       67 
67 
     | 
    
         
             
                    assert_match %r[<ds:SignatureValue>([a-zA-Z0-9/+=]+)</ds:SignatureValue>], response_xml
         
     | 
| 
         @@ -73,7 +73,7 @@ class SloLogoutresponseTest < Minitest::Test 
     | 
|
| 
       73 
73 
     | 
    
         
             
                    settings.security[:signature_method] = XMLSecurity::Document::RSA_SHA256
         
     | 
| 
       74 
74 
     | 
    
         
             
                    settings.security[:digest_method] = XMLSecurity::Document::SHA256
         
     | 
| 
       75 
75 
     | 
    
         | 
| 
       76 
     | 
    
         
            -
                    params = OneLogin:: 
     | 
| 
      
 76 
     | 
    
         
            +
                    params = OneLogin::KlRubySaml::SloLogoutresponse.new.create_params(settings, logout_request.id, "Custom Logout Message")
         
     | 
| 
       77 
77 
     | 
    
         | 
| 
       78 
78 
     | 
    
         
             
                    response_xml = Base64.decode64(params["SAMLResponse"])
         
     | 
| 
       79 
79 
     | 
    
         
             
                    assert_match %r[<ds:SignatureValue>([a-zA-Z0-9/+=]+)</ds:SignatureValue>], response_xml
         
     | 
| 
         @@ -86,7 +86,7 @@ class SloLogoutresponseTest < Minitest::Test 
     | 
|
| 
       86 
86 
     | 
    
         
             
                    settings.security[:digest_method] = XMLSecurity::Document::SHA512
         
     | 
| 
       87 
87 
     | 
    
         
             
                    logout_request.settings = settings
         
     | 
| 
       88 
88 
     | 
    
         | 
| 
       89 
     | 
    
         
            -
                    params = OneLogin:: 
     | 
| 
      
 89 
     | 
    
         
            +
                    params = OneLogin::KlRubySaml::SloLogoutresponse.new.create_params(settings, logout_request.id, "Custom Logout Message")
         
     | 
| 
       90 
90 
     | 
    
         | 
| 
       91 
91 
     | 
    
         
             
                    response_xml = Base64.decode64(params["SAMLResponse"])
         
     | 
| 
       92 
92 
     | 
    
         
             
                    assert_match %r[<ds:SignatureValue>([a-zA-Z0-9/+=]+)</ds:SignatureValue>], response_xml
         
     | 
| 
         @@ -108,7 +108,7 @@ class SloLogoutresponseTest < Minitest::Test 
     | 
|
| 
       108 
108 
     | 
    
         
             
                  it "create a signature parameter with RSA_SHA1 and validate it" do
         
     | 
| 
       109 
109 
     | 
    
         
             
                    settings.security[:signature_method] = XMLSecurity::Document::RSA_SHA1
         
     | 
| 
       110 
110 
     | 
    
         | 
| 
       111 
     | 
    
         
            -
                    params = OneLogin:: 
     | 
| 
      
 111 
     | 
    
         
            +
                    params = OneLogin::KlRubySaml::SloLogoutresponse.new.create_params(settings, logout_request.id, "Custom Logout Message", :RelayState => 'http://example.com')
         
     | 
| 
       112 
112 
     | 
    
         
             
                    assert params['SAMLResponse']
         
     | 
| 
       113 
113 
     | 
    
         
             
                    assert params[:RelayState]
         
     | 
| 
       114 
114 
     | 
    
         
             
                    assert params['Signature']
         
     | 
| 
         @@ -126,7 +126,7 @@ class SloLogoutresponseTest < Minitest::Test 
     | 
|
| 
       126 
126 
     | 
    
         
             
                  it "create a signature parameter with RSA_SHA256 /SHA256 and validate it" do
         
     | 
| 
       127 
127 
     | 
    
         
             
                    settings.security[:signature_method] = XMLSecurity::Document::RSA_SHA256
         
     | 
| 
       128 
128 
     | 
    
         | 
| 
       129 
     | 
    
         
            -
                    params = OneLogin:: 
     | 
| 
      
 129 
     | 
    
         
            +
                    params = OneLogin::KlRubySaml::SloLogoutresponse.new.create_params(settings, logout_request.id, "Custom Logout Message", :RelayState => 'http://example.com')
         
     | 
| 
       130 
130 
     | 
    
         
             
                    assert params['SAMLResponse']
         
     | 
| 
       131 
131 
     | 
    
         
             
                    assert params[:RelayState]
         
     | 
| 
       132 
132 
     | 
    
         
             
                    assert params['Signature']
         
     | 
| 
         @@ -145,7 +145,7 @@ class SloLogoutresponseTest < Minitest::Test 
     | 
|
| 
       145 
145 
     | 
    
         
             
                  it "create a signature parameter with RSA_SHA384 / SHA384 and validate it" do
         
     | 
| 
       146 
146 
     | 
    
         
             
                    settings.security[:signature_method] = XMLSecurity::Document::RSA_SHA384
         
     | 
| 
       147 
147 
     | 
    
         | 
| 
       148 
     | 
    
         
            -
                    params = OneLogin:: 
     | 
| 
      
 148 
     | 
    
         
            +
                    params = OneLogin::KlRubySaml::SloLogoutresponse.new.create_params(settings, logout_request.id, "Custom Logout Message", :RelayState => 'http://example.com')
         
     | 
| 
       149 
149 
     | 
    
         
             
                    assert params['SAMLResponse']
         
     | 
| 
       150 
150 
     | 
    
         
             
                    assert params[:RelayState]
         
     | 
| 
       151 
151 
     | 
    
         
             
                    assert params['Signature']
         
     | 
| 
         @@ -164,7 +164,7 @@ class SloLogoutresponseTest < Minitest::Test 
     | 
|
| 
       164 
164 
     | 
    
         
             
                  it "create a signature parameter with RSA_SHA512 / SHA512 and validate it" do
         
     | 
| 
       165 
165 
     | 
    
         
             
                    settings.security[:signature_method] = XMLSecurity::Document::RSA_SHA512
         
     | 
| 
       166 
166 
     | 
    
         | 
| 
       167 
     | 
    
         
            -
                    params = OneLogin:: 
     | 
| 
      
 167 
     | 
    
         
            +
                    params = OneLogin::KlRubySaml::SloLogoutresponse.new.create_params(settings, logout_request.id, "Custom Logout Message", :RelayState => 'http://example.com')
         
     | 
| 
       168 
168 
     | 
    
         
             
                    assert params['SAMLResponse']
         
     | 
| 
       169 
169 
     | 
    
         
             
                    assert params[:RelayState]
         
     | 
| 
       170 
170 
     | 
    
         
             
                    assert params['Signature']
         
     |