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.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -0
  3. data/README.md +24 -24
  4. data/Rakefile +1 -1
  5. data/changelog.md +3 -3
  6. data/kl-ruby-saml.gemspec +4 -4
  7. data/lib/kl-ruby-saml.rb +1 -0
  8. data/lib/onelogin/kl-ruby-saml.rb +17 -0
  9. data/lib/onelogin/{ruby-saml → kl-ruby-saml}/attribute_service.rb +1 -1
  10. data/lib/onelogin/{ruby-saml → kl-ruby-saml}/attributes.rb +1 -1
  11. data/lib/onelogin/{ruby-saml → kl-ruby-saml}/authrequest.rb +7 -7
  12. data/lib/onelogin/{ruby-saml → kl-ruby-saml}/http_error.rb +1 -1
  13. data/lib/onelogin/{ruby-saml → kl-ruby-saml}/idp_metadata_parser.rb +3 -3
  14. data/lib/onelogin/{ruby-saml → kl-ruby-saml}/logging.rb +3 -3
  15. data/lib/onelogin/{ruby-saml → kl-ruby-saml}/logoutrequest.rb +7 -7
  16. data/lib/onelogin/{ruby-saml → kl-ruby-saml}/logoutresponse.rb +7 -7
  17. data/lib/onelogin/{ruby-saml → kl-ruby-saml}/metadata.rb +3 -3
  18. data/lib/onelogin/{ruby-saml → kl-ruby-saml}/response.rb +9 -9
  19. data/lib/onelogin/{ruby-saml → kl-ruby-saml}/saml_message.rb +2 -2
  20. data/lib/onelogin/{ruby-saml → kl-ruby-saml}/settings.rb +6 -6
  21. data/lib/onelogin/{ruby-saml → kl-ruby-saml}/slo_logoutrequest.rb +6 -6
  22. data/lib/onelogin/{ruby-saml → kl-ruby-saml}/slo_logoutresponse.rb +7 -7
  23. data/lib/onelogin/{ruby-saml → kl-ruby-saml}/utils.rb +1 -1
  24. data/lib/onelogin/{ruby-saml → kl-ruby-saml}/validation_error.rb +1 -1
  25. data/lib/onelogin/kl-ruby-saml/version.rb +5 -0
  26. data/lib/xml_security.rb +5 -5
  27. data/test/idp_metadata_parser_test.rb +7 -7
  28. data/test/logging_test.rb +11 -11
  29. data/test/logout_responses/logoutresponse_fixtures.rb +1 -1
  30. data/test/logoutrequest_test.rb +17 -17
  31. data/test/logoutresponse_test.rb +39 -39
  32. data/test/metadata_test.rb +5 -5
  33. data/test/request_test.rb +26 -26
  34. data/test/response_test.rb +116 -116
  35. data/test/saml_message_test.rb +4 -4
  36. data/test/settings_test.rb +19 -19
  37. data/test/slo_logoutrequest_test.rb +26 -26
  38. data/test/slo_logoutresponse_test.rb +16 -16
  39. data/test/test_helper.rb +3 -3
  40. data/test/utils_test.rb +23 -23
  41. data/test/xml_security_test.rb +17 -17
  42. metadata +23 -23
  43. data/lib/onelogin/ruby-saml.rb +0 -17
  44. data/lib/onelogin/ruby-saml/version.rb +0 -5
  45. data/lib/ruby-saml.rb +0 -1
@@ -1,11 +1,11 @@
1
1
  require File.expand_path(File.join(File.dirname(__FILE__), "test_helper"))
2
2
 
3
- class RubySamlTest < Minitest::Test
3
+ class KlRubySamlTest < Minitest::Test
4
4
 
5
5
  describe "SamlMessage" do
6
6
 
7
- let(:settings) { OneLogin::RubySaml::Settings.new }
8
- let(:saml_message) { OneLogin::RubySaml::SamlMessage.new }
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
@@ -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::RubySaml::Settings.new
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::RubySaml::Settings.new(config)
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::RubySaml::Settings.new
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::RubySaml::Settings.new
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::RubySaml::Settings.new
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::RubySaml::Settings.new
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::RubySaml::Settings.new
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::RubySaml::Settings.new
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::RubySaml::Settings.new
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::RubySaml::Settings.new
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::RubySaml::Settings.new
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::RubySaml::Settings.new
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::RubySaml::Settings.new
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::RubySaml::Settings.new
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::RubySaml::Settings.new
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::RubySaml::Settings.new
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::RubySaml::Settings.new
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::RubySaml::Settings.new
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 RubySamlTest < Minitest::Test
7
+ class KlRubySamlTest < Minitest::Test
8
8
 
9
9
  describe "SloLogoutrequest" do
10
10
 
11
- let(:settings) { OneLogin::RubySaml::Settings.new }
12
- let(:logout_request) { OneLogin::RubySaml::SloLogoutrequest.new(logout_request_document) }
13
- let(:invalid_logout_request) { OneLogin::RubySaml::SloLogoutrequest.new(invalid_logout_request_document) }
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::RubySaml::SloLogoutrequest.new(nil) }
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::RubySaml::SloLogoutrequest.new('')
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::RubySaml::ValidationError) { invalid_logout_request.is_valid? }
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::RubySaml::SloLogoutrequest.new(logout_request_xml_with_session_index)
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::RubySaml::SloLogoutrequest.new('')
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::RubySaml::SloLogoutrequest.new('')
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::RubySaml::ValidationError, "Current time is on or after NotOnOrAfter") do
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::RubySaml::SloLogoutrequest.new('')
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::RubySaml::SloLogoutrequest.new('')
167
+ logout_request_blank = OneLogin::KlRubySaml::SloLogoutrequest.new('')
168
168
  logout_request_blank.soft = false
169
- assert_raises(OneLogin::RubySaml::ValidationError, "Blank logout request") do
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::RubySaml::ValidationError, "Element '{urn:oasis:names:tc:SAML:2.0:assertion}Issuer': This element is not expected") do
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::RubySaml::ValidationError, "Doesn't match the issuer, expected: <#{logout_request.settings.idp_entity_id}>, but was: <https://app.onelogin.com/saml/metadata/SOMEACCOUNT>") do
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::RubySaml::Logoutrequest.new.create_params(settings, :RelayState => 'http://example.com')
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::RubySaml::SloLogoutrequest.new(params['SAMLRequest'], options)
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::RubySaml::Logoutrequest.new.create_params(settings, :RelayState => 'http://example.com')
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::RubySaml::SloLogoutrequest.new(params['SAMLRequest'], options)
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::RubySaml::Logoutrequest.new.create_params(settings, :RelayState => 'http://example.com')
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::RubySaml::SloLogoutrequest.new(params['SAMLRequest'], options)
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::RubySaml::Logoutrequest.new.create_params(settings, :RelayState => 'http://example.com')
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::RubySaml::SloLogoutrequest.new(params['SAMLRequest'], options)
269
- assert_raises(OneLogin::RubySaml::ValidationError, "Invalid Signature on Logout Request") do
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::RubySaml::Settings.new }
9
- let(:logout_request) { OneLogin::RubySaml::SloLogoutrequest.new(logout_request_document) }
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::RubySaml::SloLogoutresponse.new.create(settings, logout_request.id)
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::RubySaml::SloLogoutresponse.new.create(settings, logout_request.id, nil, { :hello => nil })
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::RubySaml::SloLogoutresponse.new.create(settings, logout_request.id, nil, { :foo => "bar" })
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::RubySaml::SloLogoutresponse.new.create(settings, logout_request.id, nil, { :RelayState => "http://idp.example.com" })
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::RubySaml::SloLogoutresponse.new.create(settings, logout_request.id)
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::RubySaml::SloLogoutresponse.new.create(settings, logout_request.id, "Custom Logout Message")
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::RubySaml::SloLogoutresponse.new.create_params(settings, logout_request.id, "Custom Logout Message")
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::RubySaml::SloLogoutresponse.new.create_params(settings, logout_request.id, "Custom Logout Message")
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::RubySaml::SloLogoutresponse.new.create_params(settings, logout_request.id, "Custom Logout Message")
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::RubySaml::SloLogoutresponse.new.create_params(settings, logout_request.id, "Custom Logout Message", :RelayState => 'http://example.com')
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::RubySaml::SloLogoutresponse.new.create_params(settings, logout_request.id, "Custom Logout Message", :RelayState => 'http://example.com')
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::RubySaml::SloLogoutresponse.new.create_params(settings, logout_request.id, "Custom Logout Message", :RelayState => 'http://example.com')
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::RubySaml::SloLogoutresponse.new.create_params(settings, logout_request.id, "Custom Logout Message", :RelayState => 'http://example.com')
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']