Sha256: 93a1308cf4cc73d379c696509e8d1c8a5663c91cd0b0be9fe885340cd5e7aa0f

Contents?: true

Size: 875 Bytes

Versions: 4

Compression:

Stored size: 875 Bytes

Contents

class Testcase

  attr_reader :raw, :name, :request, :response_expectation, :wait_before_request

  def initialize(raw, substitution)
    @raw = raw
    @name = raw['name']
    @request = @raw['request']
    @response_expectation = @raw['response_expectation']
    @wait_before_request = @raw['wait_before_request'].nil? ? 0 : @raw['wait_before_request']
    create_resource_substitutes(substitution)
  end

  private
  # substitutes rersource names cause of race conditions in multiple system scenarios
  def create_resource_substitutes(substitution)
    substitution['substitutes'].each do |substitute|
      @request = JSON.parse(@request.to_json.gsub(substitute, substitution['prefix'] + substitute))
      @response_expectation = JSON.parse(@response_expectation.to_json.gsub(substitute, substitution['prefix'] + substitute))
    end unless substitution.nil?
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
apirunner-0.4.1 lib/testcase.rb
apirunner-0.4.0 lib/testcase.rb
apirunner-0.3.10 lib/testcase.rb
apirunner-0.3.9 lib/testcase.rb