Sha256: 6043fa03b53ef4ebbcb3b75f48b98f7a32b414c457a59e749036629f065610b3

Contents?: true

Size: 1.05 KB

Versions: 6

Compression:

Stored size: 1.05 KB

Contents

require_relative '../tags'
require_relative '../suites/subscriptions_r5_backport_r4_client/common/subscription_simulation_utils'

module SubscriptionsTestKit
  class SubscriptionReadEndpoint < Inferno::DSL::SuiteEndpoint
    include SubscriptionsR5BackportR4Client::SubscriptionSimulationUtils

    def test_run_identifier
      request.headers['authorization']&.delete_prefix('Bearer ')
    end

    def make_response
      response.format = :json
      subscription_id = request.params[:id]

      subscription = find_subscription(test_run.test_session_id)

      if subscription.present? && subscription.id == subscription_id
        status_code = determine_subscription_status_code(subscription_id)
        response.body = subscription.source_hash.merge('status' => status_code).to_json
      else
        response.status = 404
        response.body = operation_outcome('error', 'not-found',
                                          "No subscription exists with ID #{subscription_id}").to_json
      end
    end

    def tags
      [SUBSCRIPTION_READ_TAG]
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
subscriptions_test_kit-0.10.0 lib/subscriptions_test_kit/endpoints/subscription_read_endpoint.rb
subscriptions_test_kit-0.9.4 lib/subscriptions_test_kit/endpoints/subscription_read_endpoint.rb
subscriptions_test_kit-0.9.3 lib/subscriptions_test_kit/endpoints/subscription_read_endpoint.rb
subscriptions_test_kit-0.9.2 lib/subscriptions_test_kit/endpoints/subscription_read_endpoint.rb
subscriptions_test_kit-0.9.1 lib/subscriptions_test_kit/endpoints/subscription_read_endpoint.rb
subscriptions_test_kit-0.9.0 lib/subscriptions_test_kit/endpoints/subscription_read_endpoint.rb