Class: ApiTester::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/api-tester/definition/request.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeRequest

Returns a new instance of Request.



9
10
11
# File 'lib/api-tester/definition/request.rb', line 9

def initialize
  self.fields = []
end

Instance Attribute Details

#definitionObject

Returns the value of attribute definition.



5
6
7
# File 'lib/api-tester/definition/request.rb', line 5

def definition
  @definition
end

#fieldsObject

Returns the value of attribute fields.



7
8
9
# File 'lib/api-tester/definition/request.rb', line 7

def fields
  @fields
end

#headersObject

Returns the value of attribute headers.



6
7
8
# File 'lib/api-tester/definition/request.rb', line 6

def headers
  @headers
end

Instance Method Details

#add_field(new_field) ⇒ Object



13
14
15
16
# File 'lib/api-tester/definition/request.rb', line 13

def add_field(new_field)
  self.fields << new_field
  self
end

#altered_payload(field_name, value) ⇒ Object



45
46
47
48
49
# File 'lib/api-tester/definition/request.rb', line 45

def altered_payload field_name, value
  body = payload
  body[field_name] = value
  body
end

#casesObject



34
35
36
37
38
39
40
41
42
43
# File 'lib/api-tester/definition/request.rb', line 34

def cases
  boundary_cases = Array.new
  self.fields.each do |field|
    field.negative_boundary_values.each do |value|
      bcase = BoundaryCase.new("Setting #{field.name} to #{value}", altered_payload(field.name, value), default_headers)
      boundary_cases.push(bcase)
    end
  end
  boundary_cases
end

#default_headersObject



30
31
32
# File 'lib/api-tester/definition/request.rb', line 30

def default_headers
  self.headers || {content_type: :json, accept: :json}
end

#default_payloadObject



26
27
28
# File 'lib/api-tester/definition/request.rb', line 26

def default_payload
  payload
end

#payloadObject



18
19
20
21
22
23
24
# File 'lib/api-tester/definition/request.rb', line 18

def payload
  response = Hash.new
  self.fields.each do |field|
    response[field.name] = field.default_value
  end
  response
end