create_tests 0.5.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
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