Sha256: e748ad3bf785c842abdefbc1336f76600c9d1318c58eb4d6eb8626ea5a71dec1

Contents?: true

Size: 1.14 KB

Versions: 79

Compression:

Stored size: 1.14 KB

Contents

class HalRelationProxyApp

  # This hash allows us to do a dodgy "generators" implementation
  # It means we can use placeholder URLS for the relations in our consumer tests so that
  # the consumer does not need to know the actual URLs.
  PATH_REPLACEMENTS = {
    '/HAL-REL-PLACEHOLDER-INDEX-PB-LATEST-TAGGED-VERSION-Condor-production' =>
      '/pacticipants/Condor/latest-version/production',
    '/HAL-REL-PLACEHOLDER-INDEX-PB-LATEST-VERSION-Condor' =>
      '/pacticipants/Condor/latest-version',
    '/HAL-REL-PLACEHOLDER-PB-WEBHOOKS' =>
      '/webhooks'
  }

  RESPONSE_BODY_REPLACEMENTS = {
  }

  def initialize(app)
    @app = app
  end

  def call env
    env_with_modified_path = env
    PATH_REPLACEMENTS.each do | (find, replace) |
      env_with_modified_path['PATH_INFO'] = env_with_modified_path['PATH_INFO'].gsub(find, replace)
    end

    response = @app.call(env_with_modified_path)

    modified_response_body = response.last.join
    RESPONSE_BODY_REPLACEMENTS.each do | (find, replace) |
      modified_response_body = modified_response_body.gsub(find, replace)
    end

    [response[0], response[1], [modified_response_body]]
  end

end

Version data entries

79 entries across 79 versions & 1 rubygems

Version Path
pact_broker-2.77.0 spec/service_consumers/hal_relation_proxy_app.rb
pact_broker-2.76.2 spec/service_consumers/hal_relation_proxy_app.rb
pact_broker-2.76.1 spec/service_consumers/hal_relation_proxy_app.rb
pact_broker-2.76.0 spec/service_consumers/hal_relation_proxy_app.rb
pact_broker-2.75.0 spec/service_consumers/hal_relation_proxy_app.rb
pact_broker-2.74.1 spec/service_consumers/hal_relation_proxy_app.rb
pact_broker-2.74.0 spec/service_consumers/hal_relation_proxy_app.rb
pact_broker-2.73.0 spec/service_consumers/hal_relation_proxy_app.rb
pact_broker-2.72.0 spec/service_consumers/hal_relation_proxy_app.rb
pact_broker-2.71.0 spec/service_consumers/hal_relation_proxy_app.rb
pact_broker-2.70.0 spec/service_consumers/hal_relation_proxy_app.rb
pact_broker-2.69.0 spec/service_consumers/hal_relation_proxy_app.rb
pact_broker-2.68.1 spec/service_consumers/hal_relation_proxy_app.rb
pact_broker-2.68.0 spec/service_consumers/hal_relation_proxy_app.rb
pact_broker-2.67.0 spec/service_consumers/hal_relation_proxy_app.rb
pact_broker-2.66.0 spec/service_consumers/hal_relation_proxy_app.rb
pact_broker-2.65.0 spec/service_consumers/hal_relation_proxy_app.rb
pact_broker-2.64.0 spec/service_consumers/hal_relation_proxy_app.rb
pact_broker-2.63.0 spec/service_consumers/hal_relation_proxy_app.rb
pact_broker-2.62.0 spec/service_consumers/hal_relation_proxy_app.rb