cucumber-http 0.3.1 → 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 +4 -4
- data/README.md +30 -10
- data/lib/cucumber/http/benchmark_steps.rb +1 -1
- data/lib/cucumber/http/debug_steps.rb +0 -2
- data/lib/cucumber/http/http_steps.rb +44 -20
- data/lib/cucumber/http/version.rb +1 -1
- data/lib/cucumber/http.rb +0 -1
- metadata +8 -23
- data/lib/cucumber/http/transforms.rb +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c75c0db8674ba9d8fd6b0cf5c1d9c7f8f8854f37a800dad01fe8d43b744beecf
|
4
|
+
data.tar.gz: f8e1726ef35a5148f3327b94a8633b670dca929cf6dfc6193827c2a38df3f0c2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 605f04856f7872c474d30fc030cb0686bce7f7a7a2dc15e94e0f3c9c2905e6a891da62bad1d05df077ff380e66bdd66e375a85e9c981b3c2e71808891c886e28
|
7
|
+
data.tar.gz: 61770eb34b0b42d4835c7ed090e1811f5e8bae21718d7b17e474a9a64b63c18cd951bdd50ef153f09d057dc97c674884b87048c7db14995b5dd711f12cb6119c
|
data/README.md
CHANGED
@@ -38,7 +38,7 @@ Feature: Test the UDB3 labels API
|
|
38
38
|
Background:
|
39
39
|
Given I am using the UDB3 development environment
|
40
40
|
And I am authorized as user "centraal_beheerder"
|
41
|
-
And I send and accept
|
41
|
+
And I send "application/json" and accept "application/ld+json"
|
42
42
|
|
43
43
|
@labelcreate
|
44
44
|
Scenario: Create label
|
@@ -57,7 +57,7 @@ Given /^I am benchmarking$/
|
|
57
57
|
```
|
58
58
|
|
59
59
|
```ruby
|
60
|
-
Then
|
60
|
+
Then 'the elapsed time should be less than {float} second(s)'
|
61
61
|
```
|
62
62
|
|
63
63
|
#### HTTP
|
@@ -67,11 +67,27 @@ Given /^I set headers?:$/
|
|
67
67
|
```
|
68
68
|
|
69
69
|
```ruby
|
70
|
-
Given /^I send "(.*?)"
|
70
|
+
Given /^I send "(.*?)"$/
|
71
71
|
```
|
72
72
|
|
73
73
|
```ruby
|
74
|
-
Given /^I
|
74
|
+
Given /^I accept "(.*?)"$/
|
75
|
+
```
|
76
|
+
|
77
|
+
```ruby
|
78
|
+
Given /^I send and accept "(.*?)"$/
|
79
|
+
```
|
80
|
+
|
81
|
+
```ruby
|
82
|
+
Given /^I send "(.*?)" and accept "(.*?)"$/
|
83
|
+
```
|
84
|
+
|
85
|
+
```ruby
|
86
|
+
Given /^I send "(.*?)" and accept JSON$/
|
87
|
+
```
|
88
|
+
|
89
|
+
```ruby
|
90
|
+
Given /^I send and accept JSON$/
|
75
91
|
```
|
76
92
|
|
77
93
|
```ruby
|
@@ -87,11 +103,15 @@ When /^I send a (GET|POST|PATCH|PUT|DELETE) request to "([^"]*)"(?: with paramet
|
|
87
103
|
```
|
88
104
|
|
89
105
|
```ruby
|
90
|
-
Then
|
106
|
+
Then 'the response status should be "{int}"'
|
107
|
+
```
|
108
|
+
|
109
|
+
```ruby
|
110
|
+
Then 'the response status should not be "{int}"'
|
91
111
|
```
|
92
112
|
|
93
113
|
```ruby
|
94
|
-
Then /^the response body should be valid
|
114
|
+
Then /^the response body should be valid JSON$/
|
95
115
|
```
|
96
116
|
|
97
117
|
#### Debugging
|
@@ -122,12 +142,12 @@ Examples for testing the [REST API](https://apidoc.uitdatabank.be) of
|
|
122
142
|
|
123
143
|
Creating an organizer with a random name:
|
124
144
|
```ruby
|
125
|
-
When
|
145
|
+
When 'I create an organizer with a random name of {integer} character(s)' do |characters|
|
126
146
|
name = Faker::Lorem.characters(characters)
|
127
147
|
steps %Q{
|
128
148
|
Given I am using the UDB3 development environment
|
129
149
|
And I am authorized as user "centraal_beheerder"
|
130
|
-
And I send and accept
|
150
|
+
And I send and accept "application/json"
|
131
151
|
When I set the JSON request payload to:
|
132
152
|
"""
|
133
153
|
{"mainLanguage":"nl","website":"https://www.#{name}.be","name":"#{name}","contact":[]}
|
@@ -139,12 +159,12 @@ end
|
|
139
159
|
|
140
160
|
Creating a role with a random name:
|
141
161
|
```ruby
|
142
|
-
When
|
162
|
+
When 'I create a role with a random name of {integer} character(s)' do |characters|
|
143
163
|
name = Faker::Lorem.characters(characters)
|
144
164
|
steps %Q{
|
145
165
|
Given I am using the UDB3 development environment
|
146
166
|
And I am authorized as user "centraal_beheerder"
|
147
|
-
And I send and accept
|
167
|
+
And I send and accept "application/json"
|
148
168
|
When I set the JSON request payload to:
|
149
169
|
"""
|
150
170
|
{ "name": "#{name}" }
|
@@ -2,7 +2,7 @@ Given /^I am benchmarking$/ do
|
|
2
2
|
@scenario_start_time = Time.now
|
3
3
|
end
|
4
4
|
|
5
|
-
Then
|
5
|
+
Then 'the elapsed time should be less than {float} second(s)' do |time|
|
6
6
|
elapsed = Time.now - @scenario_start_time
|
7
7
|
|
8
8
|
expect(elapsed).to be < time
|
@@ -12,8 +12,6 @@ Then /^show me the( unparsed)? response$/ do |unparsed|
|
|
12
12
|
if unparsed.nil?
|
13
13
|
if response[:headers]['content-type'][0] =~ /json/
|
14
14
|
body = JSON.pretty_generate(JSON.parse(response[:body]))
|
15
|
-
elsif response[:headers]['content-type'][0] =~ /xml/
|
16
|
-
body = Nokogiri::XML(response[:body])
|
17
15
|
end
|
18
16
|
end
|
19
17
|
|
@@ -1,23 +1,52 @@
|
|
1
|
-
require 'nokogiri'
|
2
1
|
require 'json_spec'
|
3
2
|
|
4
3
|
Given /^I set headers?:$/ do |hdrs|
|
5
4
|
hdrs.rows_hash.each { |name, value| add_header(name, value) }
|
6
5
|
end
|
7
6
|
|
8
|
-
Given /^I send "(.*?)"
|
7
|
+
Given /^I send "(.*?)"$/ do |content_type|
|
9
8
|
steps %Q{
|
10
9
|
Given I set headers:
|
11
|
-
| Content-Type | #{content_type}
|
12
|
-
| Accept | application/#{accept_type.downcase} |
|
10
|
+
| Content-Type | #{content_type} |
|
13
11
|
}
|
14
12
|
end
|
15
13
|
|
16
|
-
Given /^I
|
14
|
+
Given /^I accept "(.*?)"$/ do |accept_type|
|
17
15
|
steps %Q{
|
18
16
|
Given I set headers:
|
19
|
-
|
|
20
|
-
|
17
|
+
| Accept | #{accept_type} |
|
18
|
+
}
|
19
|
+
end
|
20
|
+
|
21
|
+
Given /^I send and accept "(.*?)"$/ do |type|
|
22
|
+
steps %Q{
|
23
|
+
Given I set headers:
|
24
|
+
| Content-Type | #{type} |
|
25
|
+
| Accept | #{type} |
|
26
|
+
}
|
27
|
+
end
|
28
|
+
|
29
|
+
Given /^I send "(.*?)" and accept "(.*?)"$/ do |content_type, accept_type|
|
30
|
+
steps %Q{
|
31
|
+
Given I set headers:
|
32
|
+
| Content-Type | #{content_type} |
|
33
|
+
| Accept | #{accept_type} |
|
34
|
+
}
|
35
|
+
end
|
36
|
+
|
37
|
+
Given /^I send "(.*?)" and accept JSON$/ do |content_type|
|
38
|
+
steps %Q{
|
39
|
+
Given I set headers:
|
40
|
+
| Content-Type | #{content_type} |
|
41
|
+
| Accept | application/json |
|
42
|
+
}
|
43
|
+
end
|
44
|
+
|
45
|
+
Given /^I send and accept JSON$/ do
|
46
|
+
steps %Q{
|
47
|
+
Given I set headers:
|
48
|
+
| Content-Type | application/json |
|
49
|
+
| Accept | application/json |
|
21
50
|
}
|
22
51
|
end
|
23
52
|
|
@@ -63,19 +92,14 @@ When /^(?:I )?keep the value of the (?:JSON|json)(?: response)?(?: at "(.*)")? a
|
|
63
92
|
JsonSpec.memorize(key, parse_json(last_json, path))
|
64
93
|
end
|
65
94
|
|
66
|
-
Then
|
67
|
-
|
68
|
-
expect(response[:status]).not_to eq(status_code)
|
69
|
-
else
|
70
|
-
expect(response[:status]).to eq(status_code)
|
71
|
-
end
|
95
|
+
Then 'the response status should be "{int}"' do |status_code|
|
96
|
+
expect(response[:status]).to eq(status_code)
|
72
97
|
end
|
73
98
|
|
74
|
-
Then
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
end
|
99
|
+
Then 'the response status should not be "{int}"' do |status_code|
|
100
|
+
expect(response[:status]).not_to eq(status_code)
|
101
|
+
end
|
102
|
+
|
103
|
+
Then /^the response body should be valid JSON$/ do
|
104
|
+
expect { JSON.parse(response[:body]) }.not_to raise_error
|
81
105
|
end
|
data/lib/cucumber/http.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cucumber-http
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kristof Willaert
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-02-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cucumber
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '3.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '3.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: json_spec
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -52,20 +52,6 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '2.0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: nokogiri
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '1.6'
|
62
|
-
type: :runtime
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - "~>"
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '1.6'
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
56
|
name: faker
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -86,14 +72,14 @@ dependencies:
|
|
86
72
|
requirements:
|
87
73
|
- - "~>"
|
88
74
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
75
|
+
version: '13.0'
|
90
76
|
type: :development
|
91
77
|
prerelease: false
|
92
78
|
version_requirements: !ruby/object:Gem::Requirement
|
93
79
|
requirements:
|
94
80
|
- - "~>"
|
95
81
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
82
|
+
version: '13.0'
|
97
83
|
- !ruby/object:Gem::Dependency
|
98
84
|
name: bundler
|
99
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,7 +94,7 @@ dependencies:
|
|
108
94
|
- - "~>"
|
109
95
|
- !ruby/object:Gem::Version
|
110
96
|
version: '1.9'
|
111
|
-
description: Cucumber steps to easily test external
|
97
|
+
description: Cucumber steps to easily test external JSON APIs
|
112
98
|
email:
|
113
99
|
- kristof.willaert@publiq.be
|
114
100
|
executables: []
|
@@ -121,7 +107,6 @@ files:
|
|
121
107
|
- lib/cucumber/http/debug_steps.rb
|
122
108
|
- lib/cucumber/http/hooks.rb
|
123
109
|
- lib/cucumber/http/http_steps.rb
|
124
|
-
- lib/cucumber/http/transforms.rb
|
125
110
|
- lib/cucumber/http/version.rb
|
126
111
|
- lib/cucumber/http/world_extensions.rb
|
127
112
|
- lib/cucumber/http/world_extensions/headers.rb
|
@@ -153,5 +138,5 @@ requirements: []
|
|
153
138
|
rubygems_version: 3.1.2
|
154
139
|
signing_key:
|
155
140
|
specification_version: 4
|
156
|
-
summary: Cucumber steps to easily test
|
141
|
+
summary: Cucumber steps to easily test JSON APIs
|
157
142
|
test_files: []
|