Sha256: eb88890c90914c79c32e4abb3a8d1510d5845c26c1ffa28a7713f7ccdb650718

Contents?: true

Size: 1.19 KB

Versions: 7

Compression:

Stored size: 1.19 KB

Contents

require "pact_broker/api/middleware/configuration"

module PactBroker
  module Api
    module Middleware
      class TestApp
        def call(_)
          [200, {}, [PactBroker.configuration.allow_dangerous_contract_modification.to_s]]
        end
      end

      describe Configuration do
        describe "#call" do
          let(:configuration) do
            conf = PactBroker::Configuration.default_configuration
            conf.allow_dangerous_contract_modification = false
            conf
          end
          let(:app) { Configuration.new(TestApp.new, configuration) }
          let(:rack_env) { {} }

          subject { get("/", nil, rack_env) }

          context "with no overrides" do
            it "uses the default configuration" do
              expect(subject.body).to eq "false"
            end
          end

          context "with overrides" do
            let(:rack_env) do
              { "pactbroker.configuration_overrides" => { allow_dangerous_contract_modification: true }}
            end

            it "overrides the configuration for the duration of the request" do
              expect(subject.body).to eq "true"
            end
          end
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
pact_broker-2.89.1 spec/lib/pact_broker/api/middleware/configuration_spec.rb
pact_broker-2.89.0 spec/lib/pact_broker/api/middleware/configuration_spec.rb
pact_broker-2.88.0 spec/lib/pact_broker/api/middleware/configuration_spec.rb
pact_broker-2.87.0 spec/lib/pact_broker/api/middleware/configuration_spec.rb
pact_broker-2.86.0 spec/lib/pact_broker/api/middleware/configuration_spec.rb
pact_broker-2.85.1 spec/lib/pact_broker/api/middleware/configuration_spec.rb
pact_broker-2.85.0 spec/lib/pact_broker/api/middleware/configuration_spec.rb