Module: ApiTester::GoodVariations

Defined in:
lib/api-tester/modules/good_variations.rb

Overview

Checks the good case as defined in contract

Class Method Summary collapse

Class Method Details

.go(contract) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/api-tester/modules/good_variations.rb', line 9

def self.go(contract)
  reports = []

  contract.endpoints.each do |endpoint|
    endpoint.methods.each do |method|
      method.request.fields.each do |field|
        field.good_cases.each do |value|
          payload = method.request.default_payload
          payload[field.name] = value
          call = BoundaryCase.new description: contract.base_url + endpoint.display_url,
                                  payload: payload,
                                  headers: method.request.default_headers
          response = endpoint.call base_url: contract.base_url,
                                   method: method,
                                   payload: payload,
                                   headers: call.headers
          test = GoodVariationTest.new response: response,
                                       url: contract.base_url + endpoint.url,
                                       method: method
          reports.concat test.check
        end
      end
      method.request.query_params.each do |field|
        field.good_cases.each do |value|
          payload = method.request.default_payload
          payload[field.name] = value
          call = BoundaryCase.new description: contract.base_url + endpoint.display_url,
                                  payload: payload,
                                  headers: method.request.default_headers
          response = endpoint.call base_url: contract.base_url,
                                   method: method,
                                   payload: payload,
                                   headers: call.headers
          test = GoodVariationTest.new response: response,
                                       url: contract.base_url + endpoint.url,
                                       method: method
          reports.concat test.check
        end
      end
    end
  end
  reports
end

.orderObject



53
54
55
# File 'lib/api-tester/modules/good_variations.rb', line 53

def self.order
  1
end