Commit 2f1ae93
Changed files (6)
lib
saml
kit
spec
support
matchers
lib/saml/kit/rspec/have_query_param.rb
@@ -0,0 +1,19 @@
+require 'uri'
+
+RSpec::Matchers.define :have_query_param do |key|
+ match do |url|
+ query_params_from(url)[key].present?
+ end
+
+ def query_params_from(url)
+ Hash[query_for(url).split("&").map { |x| x.split('=', 2) }]
+ end
+
+ def uri_for(url)
+ URI.parse(url)
+ end
+
+ def query_for(url)
+ uri_for(url).query
+ end
+end
spec/support/matchers/have_xpath.rb → lib/saml/kit/rspec/have_xpath.rb
File renamed without changes
lib/saml/kit/rspec.rb
@@ -0,0 +1,2 @@
+require 'saml/kit/rspec/have_query_param'
+require 'saml/kit/rspec/have_xpath'
spec/support/matchers/have_query_param.rb
@@ -1,5 +0,0 @@
-RSpec::Matchers.define :have_query_param do |key|
- match do |url|
- query_params_from(url)['SAMLRequest'].present?
- end
-end
spec/support/test_helpers.rb
@@ -11,3 +11,7 @@ module TestHelpers
uri_for(url).query
end
end
+
+RSpec.configure do |config|
+ config.include TestHelpers
+end
spec/spec_helper.rb
@@ -4,6 +4,7 @@ SimpleCov.start do
end
require "bundler/setup"
require "saml/kit"
+require "saml/kit/rspec"
require "active_support/testing/time_helpers"
require "ffaker"
require "webmock/rspec"
@@ -13,7 +14,6 @@ Saml::Kit.configuration.logger.level = Xml::Kit.logger.level = Logger::FATAL
Dir[File.join(Dir.pwd, 'spec/support/**/*.rb')].each { |f| require f }
RSpec.configure do |config|
config.include ActiveSupport::Testing::TimeHelpers
- config.include TestHelpers
# Enable flags like --only-failures and --next-failure
config.example_status_persistence_file_path = ".rspec_status"