api-tester 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4c2d7d376e7fabf9e5d3b6d3dcfc46fed51769c4
4
- data.tar.gz: bec8bec10284f71f2ac319a341cce60f305ed04f
3
+ metadata.gz: 173ab496b5c0a3a43c1e445cabc382335b475730
4
+ data.tar.gz: 52325c92e2e3296593dd4f281098b3b84b417f92
5
5
  SHA512:
6
- metadata.gz: 51849f3cbee0fe669116ec6bd9b1d9ff2c19a4e345d9f9ea2c1fc47e059bf00283a95dcbf5c754bd81ae9697c4db01f17067532d238a58bc85702d0e8e0f176e
7
- data.tar.gz: 1fdc1be1f412a64596c58b2c652a69b63b822d18c8b51f889097317375418a14ec7ee0fcd3de40a23454e85f604ce593203e320f2c4af97b0390ceda8b39154e
6
+ metadata.gz: c7accb0f928261574018b33e9d1fca93dd41a919bb8ce888a4c3e26add1cb2f8e3fab0532c125e5e9a43c8cacabef1b696ecdf06cb456013b660e31ca712531e
7
+ data.tar.gz: aac95b14b2c0170d5c4841a846e8ba7b54fc36f3ab763ca1d64f8a949af69daeb59bff2e58c41c371ab3f3a0687871348c345c4a9dfb63b044cbdf3afee54d26
data/README.md CHANGED
@@ -51,7 +51,7 @@ required)
51
51
  Add this line to your application's Gemfile (Note: specify your version due to gem's currently volatile nature):
52
52
 
53
53
  ```ruby
54
- gem 'api-tester', '0.0.2'
54
+ gem 'api-tester', '0.0.3'
55
55
  ```
56
56
 
57
57
  And then execute:
@@ -122,8 +122,8 @@ class InfoCreator < TestHelper
122
122
  end
123
123
  end
124
124
 
125
- tester = ApiTester.new(endpoint)
126
- tester.test_helper = InfoCreator.new
125
+ endpoint = Endpoint.new "Endpoint Name", "www.endpoint-url.com"
126
+ endpoint.test_helper = InfoCreator.new
127
127
  expect(tester.go).to be true
128
128
  ```
129
129
 
@@ -38,7 +38,6 @@ class ApiTester
38
38
 
39
39
  def go
40
40
  self.modules.sort_by{ |mod| mod.order }.each do |mod|
41
- mod.test_helper = self.test_helper
42
41
  mod.go self.definition, self.report
43
42
  end
44
43
 
@@ -4,6 +4,7 @@ class Endpoint
4
4
  attr_accessor :url
5
5
  attr_accessor :methods
6
6
  attr_accessor :name
7
+ attr_accessor :test_helper
7
8
  attr_accessor :bad_request_response
8
9
  attr_accessor :not_allowed_response
9
10
  attr_accessor :not_found_response
@@ -12,6 +13,7 @@ class Endpoint
12
13
  self.url = url
13
14
  self.name = name
14
15
  self.methods = []
16
+ self.test_helper = TestHelper.new
15
17
  self.bad_request_response = Response.new 400
16
18
  self.not_allowed_response = Response.new 415
17
19
  self.not_found_response = Response.new 404
@@ -9,7 +9,7 @@ class Format < Module
9
9
  definition.methods.each do |method|
10
10
  cases = method.request.cases
11
11
  cases.each do |format_case|
12
- response = self.call method, definition.url, format_case
12
+ response = self.call method, definition, format_case
13
13
  test = FormatTest.new response, format_case.payload, definition.bad_request_response, definition.url, method.verb
14
14
  self.report.reports.concat test.check
15
15
  end
@@ -8,7 +8,7 @@ class GoodCase < Module
8
8
 
9
9
  definition.methods.each do |method|
10
10
  default_case = BoundaryCase.new definition.url, method.request.default_payload, method.request.default_headers
11
- response = self.call method, definition.url, default_case
11
+ response = self.call method, definition, default_case
12
12
  test = GoodCaseTest.new response, definition.url, method
13
13
  self.report.reports.concat test.check
14
14
  end
@@ -3,11 +3,6 @@ require 'tester/test_helper'
3
3
 
4
4
  class Module
5
5
  attr_accessor :report
6
- attr_accessor :test_helper
7
-
8
- def initialize
9
- self.test_helper = TestHelper.new
10
- end
11
6
 
12
7
  def set_report report
13
8
  self.report = report
@@ -21,18 +16,18 @@ class Module
21
16
  5
22
17
  end
23
18
 
24
- def before
25
- self.test_helper.before
19
+ def before definition
20
+ definition.test_helper.before
26
21
  end
27
22
 
28
- def after
29
- self.test_helper.after
23
+ def after definition
24
+ definition.test_helper.after
30
25
  end
31
26
 
32
- def call method, url, format_case
33
- self.before
34
- response = method.call url, format_case.payload, format_case.headers
35
- self.after
27
+ def call method, definition, format_case
28
+ self.before definition
29
+ response = method.call definition.url, format_case.payload, format_case.headers
30
+ self.after definition
36
31
  response
37
32
  end
38
33
  end
@@ -22,7 +22,7 @@ class Typo < Module
22
22
  missing_verbs.each do |verb|
23
23
  check_method = create_api_method verb
24
24
  typo_case = BoundaryCase.new("Typo verb check #{verb}", {}, {})
25
- response = self.call check_method, definition.url, typo_case
25
+ response = self.call check_method, definition, typo_case
26
26
 
27
27
  test = TypoClass.new response, typo_case.payload, definition.not_allowed_response, url, verb
28
28
  reports = test.check
@@ -32,9 +32,10 @@ class Typo < Module
32
32
 
33
33
  def check_typo_url definition, url
34
34
  bad_url = "#{url}gibberishadsfasdf"
35
+ bad_definition = Endpoint.new "Bad URL", bad_url
35
36
  typo_case = BoundaryCase.new("Typo URL check", {}, {})
36
37
  check_method = create_api_method SupportedVerbs::GET
37
- response = self.call check_method, bad_url, typo_case
38
+ response = self.call check_method, bad_definition, typo_case
38
39
 
39
40
  test = TypoClass.new response, typo_case.payload, definition.not_found_response, bad_url, SupportedVerbs::GET
40
41
  reports = test.check
@@ -1,3 +1,3 @@
1
1
  module Tester
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: api-tester
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - arane