create_tests 0.5.0 → 0.6.0

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
  SHA256:
3
- metadata.gz: 7c8cf432126f8d8c0bdde1c3607a570ae0372ecbe40e997ee3df748e5244d54b
4
- data.tar.gz: 76542de51984d7851304b675defe86b8403e44753f5bda3d5e11cf66c9f25737
3
+ metadata.gz: 6b9db678d32a3c6151cf00effac6062ef77a831c791abed212c41294ed5a4251
4
+ data.tar.gz: 9e5bfb3a5ab8b407667e139b5de3badf533cf91a142b5d4a56dccf1e9a2ee4a9
5
5
  SHA512:
6
- metadata.gz: 10be0f1d965a933d965d7b8dc468e36c79be3037cfd7ef7b36392332b843d77f64397f3657524f3223973d16a3fe7a95bfac3843b69450f39f4c321e0457aa0a
7
- data.tar.gz: 70d6fec75ec337e6d98c72c1d43aa300a5f1ef544603e37b9754777bd26a218070865a46ab9e3c099d3a31809d249bd8383b6529ad715e1b171f6d58338cf706
6
+ metadata.gz: 0df39b0be351bae73b4293ce72da871e347fab60033223ba87bcc8ca9aeb39d785c33faf5aef1e715d64021333ceddafb999ff2b35060ad38a3c0bbe8fb2eceb
7
+ data.tar.gz: 2b810be747a00f44f994a49a5a2e78bea62a4a8acdaaf81e816fe4aaffc2b6022853589874609d668103186f8f005b963d128c58b8619523ca36371629567e0e
data/README.md CHANGED
@@ -1,8 +1,6 @@
1
1
  # CreateTests
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/create_tests.svg)](https://rubygems.org/gems/create_tests)
4
- [![Build Status](https://travis-ci.com/MarioRuiz/create_tests.svg?branch=master)](https://github.com/MarioRuiz/create_tests)
5
- [![Coverage Status](https://coveralls.io/repos/github/MarioRuiz/create_tests/badge.svg?branch=master)](https://coveralls.io/github/MarioRuiz/create_tests?branch=master)
6
4
 
7
5
  Create Tests automatically from a Requests file. Perfect to be used with the result from importing a Swagger file using the open_api_import gem. Now we are supporting RSpec.
8
6
 
@@ -9,9 +9,12 @@ class CreateTests
9
9
  mod_name = module_txt.scan(/::(\w+)$/).join
10
10
  req_txt = "#{method_txt}("
11
11
  params = []
12
+ keywords_required = []
12
13
  method_obj.parameters.each do |p|
13
14
  if p[0] == :req #required
14
15
  params << "@#{p[1]}"
16
+ elsif p[0] == :key and Object.const_defined?(p[1].to_s.upcase)
17
+ keywords_required << p[1]
15
18
  end
16
19
  end
17
20
  req_txt += params.join(", ")
@@ -78,7 +81,7 @@ class CreateTests
78
81
  end
79
82
  tests[title] += "end\n"
80
83
 
81
- if params.size > 0
84
+ if params.size > 0 or keywords_required.size >0
82
85
  empty_param = ""
83
86
  params.each do |p|
84
87
  r = req_txt.gsub(/#{p}([),])/, '""\1')
@@ -90,6 +93,18 @@ class CreateTests
90
93
  empty_param += "expect(resp.message).to match /\#{request.responses[resp.code.to_sym].message}/i\n"
91
94
  end
92
95
  end
96
+ if keywords_required.size > 0
97
+ r = req_txt.scan(/(.+)\(/).join
98
+ empty_param += "
99
+ [:#{keywords_required.join(', :')}].each do |kw|
100
+ request = #{r}(kw => '')
101
+ resp = @http.#{request[:method]}(request)
102
+ expect(resp.code).to be_between('400', '499')\n"
103
+ if request.key?(:responses) and (request[:responses].keys.select{|c| c.to_s.to_i>=400&&c.to_s.to_i<=499}).size>0
104
+ empty_param += "expect(resp.message).to match /\#{request.responses[resp.code.to_sym].message}/i\n"
105
+ end
106
+ empty_param += "end\n"
107
+ end
93
108
  empty_param += "end\n"
94
109
  tests["it 'returns error if required parameter empty' "] = "do\n#{empty_param}"
95
110
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: create_tests
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mario Ruiz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-11-01 00:00:00.000000000 Z
11
+ date: 2020-03-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rufo
@@ -16,20 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.4'
20
- - - ">="
21
- - !ruby/object:Gem::Version
22
- version: 0.4.1
19
+ version: '0.11'
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
24
  - - "~>"
28
25
  - !ruby/object:Gem::Version
29
- version: '0.4'
30
- - - ">="
31
- - !ruby/object:Gem::Version
32
- version: 0.4.1
26
+ version: '0.11'
33
27
  - !ruby/object:Gem::Dependency
34
28
  name: nice_hash
35
29
  requirement: !ruby/object:Gem::Requirement
@@ -48,22 +42,22 @@ dependencies:
48
42
  name: rspec
49
43
  requirement: !ruby/object:Gem::Requirement
50
44
  requirements:
51
- - - "~>"
52
- - !ruby/object:Gem::Version
53
- version: '3.8'
54
45
  - - ">="
55
46
  - !ruby/object:Gem::Version
56
47
  version: 3.8.0
48
+ - - "~>"
49
+ - !ruby/object:Gem::Version
50
+ version: '3.8'
57
51
  type: :development
58
52
  prerelease: false
59
53
  version_requirements: !ruby/object:Gem::Requirement
60
54
  requirements:
61
- - - "~>"
62
- - !ruby/object:Gem::Version
63
- version: '3.8'
64
55
  - - ">="
65
56
  - !ruby/object:Gem::Version
66
57
  version: 3.8.0
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '3.8'
67
61
  - !ruby/object:Gem::Dependency
68
62
  name: coveralls
69
63
  requirement: !ruby/object:Gem::Requirement
@@ -124,8 +118,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
124
118
  - !ruby/object:Gem::Version
125
119
  version: '0'
126
120
  requirements: []
127
- rubyforge_project:
128
- rubygems_version: 2.7.6
121
+ rubygems_version: 3.0.3
129
122
  signing_key:
130
123
  specification_version: 4
131
124
  summary: CreateTests -- Create Tests automatically from a Requests file. Perfect to