Commit b7c0f81
Changed files (7)
lib
saml
kit
builders
spec
saml
lib/saml/kit/builders/authentication_request.rb
@@ -1,7 +1,7 @@
module Saml
module Kit
- class AuthenticationRequest < Document
- class Builder
+ module Builders
+ class AuthenticationRequest
attr_accessor :id, :now, :issuer, :acs_url, :name_id_format, :sign, :destination
attr_accessor :version
@@ -25,7 +25,7 @@ module Saml
end
def build
- AuthenticationRequest.new(to_xml)
+ Saml::Kit::AuthenticationRequest.new(to_xml)
end
private
lib/saml/kit/builders.rb
@@ -4,3 +4,10 @@ require 'saml/kit/builders/logout_request'
require 'saml/kit/builders/logout_response'
require 'saml/kit/builders/response'
require 'saml/kit/builders/service_provider_metadata'
+
+module Saml
+ module Kit
+ module Builders
+ end
+ end
+end
spec/saml/bindings/http_post_spec.rb
@@ -8,7 +8,7 @@ RSpec.describe Saml::Kit::Bindings::HttpPost do
let(:relay_state) { "ECHO" }
it 'encodes the request using the HTTP-POST encoding for a AuthenticationRequest' do
- builder = Saml::Kit::AuthenticationRequest::Builder.new
+ builder = Saml::Kit::Builders::AuthenticationRequest.new
url, saml_params = subject.serialize(builder, relay_state: relay_state)
expect(url).to eql(location)
@@ -50,7 +50,7 @@ RSpec.describe Saml::Kit::Bindings::HttpPost do
end
it 'excludes the RelayState when blank' do
- builder = Saml::Kit::AuthenticationRequest::Builder.new
+ builder = Saml::Kit::Builders::AuthenticationRequest.new
url, saml_params = subject.serialize(builder)
expect(url).to eql(location)
@@ -60,7 +60,7 @@ RSpec.describe Saml::Kit::Bindings::HttpPost do
describe "#deserialize" do
it 'deserializes to an AuthnRequest' do
- builder = Saml::Kit::AuthenticationRequest::Builder.new
+ builder = Saml::Kit::Builders::AuthenticationRequest.new
_, params = subject.serialize(builder)
result = subject.deserialize(params)
expect(result).to be_instance_of(Saml::Kit::AuthenticationRequest)
spec/saml/bindings/http_redirect_spec.rb
@@ -8,7 +8,7 @@ RSpec.describe Saml::Kit::Bindings::HttpRedirect do
let(:relay_state) { "ECHO" }
it 'encodes the request using the HTTP-Redirect encoding' do
- builder = Saml::Kit::AuthenticationRequest::Builder.new
+ builder = Saml::Kit::Builders::AuthenticationRequest.new
url, _ = subject.serialize(builder, relay_state: relay_state)
expect(url).to start_with(location)
expect(url).to have_query_param('SAMLRequest')
@@ -27,7 +27,7 @@ RSpec.describe Saml::Kit::Bindings::HttpRedirect do
end
it 'deserializes the SAMLRequest to an AuthnRequest' do
- url, _ = subject.serialize(Saml::Kit::AuthenticationRequest::Builder.new)
+ url, _ = subject.serialize(Saml::Kit::Builders::AuthenticationRequest.new)
result = subject.deserialize(query_params_from(url))
expect(result).to be_instance_of(Saml::Kit::AuthenticationRequest)
end
@@ -74,7 +74,7 @@ RSpec.describe Saml::Kit::Bindings::HttpRedirect do
end
it 'raises an error when the signature does not match' do
- url, _ = subject.serialize(Saml::Kit::AuthenticationRequest::Builder.new)
+ url, _ = subject.serialize(Saml::Kit::Builders::AuthenticationRequest.new)
query_params = query_params_from(url)
query_params['Signature'] = 'invalid'
expect do
@@ -88,7 +88,7 @@ RSpec.describe Saml::Kit::Bindings::HttpRedirect do
provider = builder.build
allow(Saml::Kit.configuration.registry).to receive(:metadata_for).with(issuer).and_return(provider)
- url, _ = subject.serialize(Saml::Kit::AuthenticationRequest::Builder.new)
+ url, _ = subject.serialize(Saml::Kit::Builders::AuthenticationRequest.new)
result = subject.deserialize(query_params_from(url))
expect(result).to be_instance_of(Saml::Kit::AuthenticationRequest)
expect(result).to be_valid
spec/saml/builders/authentication_request_spec.rb
@@ -1,6 +1,6 @@
require 'spec_helper'
-RSpec.describe Saml::Kit::AuthenticationRequest::Builder do
+RSpec.describe Saml::Kit::Builders::AuthenticationRequest do
subject { described_class.new(configuration: configuration) }
let(:configuration) do
config = Saml::Kit::Configuration.new
spec/saml/authentication_request_spec.rb
@@ -8,7 +8,7 @@ RSpec.describe Saml::Kit::AuthenticationRequest do
let(:destination) { FFaker::Internet.http_url }
let(:name_id_format) { Saml::Kit::Namespaces::EMAIL_ADDRESS }
let(:raw_xml) do
- builder = described_class::Builder.new
+ builder = Saml::Kit::Builders::AuthenticationRequest.new
builder.id = id
builder.now = Time.now.utc
builder.issuer = issuer
@@ -25,7 +25,7 @@ RSpec.describe Saml::Kit::AuthenticationRequest do
it { expect(subject.destination).to eql(destination) }
describe "#to_xml" do
- subject { described_class::Builder.new(configuration: configuration) }
+ subject { Saml::Kit::Builders::AuthenticationRequest.new(configuration: configuration) }
let(:configuration) do
config = Saml::Kit::Configuration.new
config.issuer = issuer
@@ -83,7 +83,7 @@ RSpec.describe Saml::Kit::AuthenticationRequest do
end
it 'is invalid when the fingerprint of the certificate does not match the registered fingerprint' do
- builder = described_class::Builder.new
+ builder = Saml::Kit::Builders::AuthenticationRequest.new
builder.issuer = issuer
builder.acs_url = acs_url
xml = builder.to_xml
@@ -96,7 +96,7 @@ RSpec.describe Saml::Kit::AuthenticationRequest do
it 'is invalid when the service provider is not known' do
allow(registry).to receive(:metadata_for).and_return(nil)
- builder = described_class::Builder.new
+ builder = Saml::Kit::Builders::AuthenticationRequest.new
subject = described_class.new(builder.to_xml)
expect(subject).to be_invalid
expect(subject.errors[:provider]).to be_present
@@ -133,16 +133,15 @@ XML
describe "#acs_url" do
let(:registry) { instance_double(Saml::Kit::DefaultRegistry) }
let(:metadata) { instance_double(Saml::Kit::ServiceProviderMetadata) }
+ let(:builder) { Saml::Kit::Builders::AuthenticationRequest.new }
it 'returns the ACS in the request' do
- builder = described_class::Builder.new
builder.acs_url = acs_url
subject = builder.build
expect(subject.acs_url).to eql(acs_url)
end
it 'returns nil' do
- builder = described_class::Builder.new
builder.issuer = issuer
builder.acs_url = nil
subject = builder.build
README.md
@@ -32,7 +32,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
## Contributing
-Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/saml-kit.
+Bug reports and pull requests are welcome on GitHub at https://github.com/mokhan/saml-kit.
## License