barthes 0.0.42 → 0.0.43
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 +7 -0
- data/.gitignore +1 -0
- data/Dockerfile +7 -0
- data/README.md +17 -21
- data/barthes.gemspec +2 -1
- data/docker-compose.yml +7 -0
- data/lib/barthes/client/ace_json4.rb +52 -0
- data/lib/barthes/version.rb +1 -1
- metadata +45 -54
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 0e51b8191e0587b55a791506307150c1a0a0231b
|
4
|
+
data.tar.gz: 8c68f381ff35596a42bd437aa38db1afb841cec9
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 2f260b2bd21e7749456a16b46ee82149ee6aad179a29f1bd8a9d40ddd75f88d96a7f97ea9c4bf5275853aad17685ce437cac6a45d535721e760294b3eea5b30a
|
7
|
+
data.tar.gz: a17ab610bd683d7867e8d24b879f65f92bc30507cf76b42670b15106655773191329d32541e857e1772a454dc698f2a5974810a6d47d2a2bb1d5ffe9ea46ecc7
|
data/.gitignore
CHANGED
data/Dockerfile
ADDED
data/README.md
CHANGED
@@ -1,31 +1,27 @@
|
|
1
1
|
# Barthes
|
2
2
|
|
3
|
-
](http://badge.fury.io/rb/barthes)
|
4
|
+
[](https://codeclimate.com/github/tily/barthes)
|
4
5
|
|
5
|
-
|
6
|
+
Data-driven acceptance test framework.
|
6
7
|
|
7
|
-
##
|
8
|
-
|
9
|
-
Add this line to your application's Gemfile:
|
10
|
-
|
11
|
-
gem 'barthes'
|
12
|
-
|
13
|
-
And then execute:
|
14
|
-
|
15
|
-
$ bundle
|
8
|
+
## Usage
|
16
9
|
|
17
|
-
|
10
|
+
See https://github.com/tily/barthes/wiki for Japanese documents.
|
18
11
|
|
19
|
-
|
12
|
+
## Install
|
20
13
|
|
21
|
-
|
14
|
+
```
|
15
|
+
# Gemfile
|
16
|
+
gem "barthes"
|
17
|
+
```
|
18
|
+
## How to develop with docker
|
22
19
|
|
23
|
-
|
20
|
+
```
|
21
|
+
## Set your environment variables
|
22
|
+
$ vi .env
|
24
23
|
|
25
|
-
## Contributing
|
26
24
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
4. Push to the branch (`git push origin my-new-feature`)
|
31
|
-
5. Create a new Pull Request
|
25
|
+
## Run barthes command
|
26
|
+
$ docker-compose run --rm app ruby bin/barthes
|
27
|
+
```
|
data/barthes.gemspec
CHANGED
@@ -30,5 +30,6 @@ Gem::Specification.new do |spec|
|
|
30
30
|
spec.add_dependency "chronic"
|
31
31
|
spec.add_dependency "httparty", "0.10.0"
|
32
32
|
spec.add_dependency "builder"
|
33
|
-
spec.add_dependency "ace-client", "0.0.
|
33
|
+
spec.add_dependency "ace-client", "0.0.23"
|
34
|
+
spec.add_dependency "jmespath", "1.4.0"
|
34
35
|
end
|
data/docker-compose.yml
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
require "barthes/client/ace"
|
2
|
+
require "jmespath"
|
3
|
+
|
4
|
+
class Barthes::Client::AceJson4 < Barthes::Client::Ace
|
5
|
+
def initialize(env)
|
6
|
+
super(env)
|
7
|
+
@client = AceClient::Json4.new(@options)
|
8
|
+
end
|
9
|
+
|
10
|
+
def compare(response, expectation)
|
11
|
+
result = nil
|
12
|
+
case expectation['type']
|
13
|
+
when 'response_code'
|
14
|
+
result = response.code == expectation['value']
|
15
|
+
{'result' => result, 'returned' => response.code, 'expected' => expectation['value']}
|
16
|
+
when 'jmespath_value'
|
17
|
+
text = jmespath(response, expectation['jmespath'])
|
18
|
+
if expectation['method'].nil? || expectation['method'] == 'eq'
|
19
|
+
result = (text == expectation['value'])
|
20
|
+
elsif expectation['method'] == 'regexp'
|
21
|
+
result = !(text.match Regexp.new(expectation['value'])).nil?
|
22
|
+
elsif expectation['method'] == 'ne'
|
23
|
+
result = (text != expectation['value'])
|
24
|
+
end
|
25
|
+
{'result' => result, 'returned' => text, 'expected' => expectation['value']}
|
26
|
+
when 'jmespath_size'
|
27
|
+
size = jmespath(response, expectation['jmespath']).size
|
28
|
+
if expectation['method'].nil? || expectation['method'] == 'eq'
|
29
|
+
result = (size == expectation['value'])
|
30
|
+
elsif expectation['method'] == 'gt'
|
31
|
+
result = (size > expectation['value'])
|
32
|
+
elsif expectation['method'] == 'gte'
|
33
|
+
result = (size >= expectation['value'])
|
34
|
+
elsif expectation['method'] == 'lt'
|
35
|
+
result = (size < expectation['value'])
|
36
|
+
elsif expectation['method'] == 'lte'
|
37
|
+
result = (size <= expectation['value'])
|
38
|
+
end
|
39
|
+
{'result' => result, 'returned' => size, 'expected' => expectation['value']}
|
40
|
+
else
|
41
|
+
{'result' => true}
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def extract(config, response)
|
46
|
+
jmespath(response, config["jmespath"])
|
47
|
+
end
|
48
|
+
|
49
|
+
def jmespath(response, jmespath)
|
50
|
+
JMESPath.search(jmespath, response.parsed_response)
|
51
|
+
end
|
52
|
+
end
|
data/lib/barthes/version.rb
CHANGED
metadata
CHANGED
@@ -1,84 +1,74 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: barthes
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.43
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- tily
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2019-01-28 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: bundler
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- - ~>
|
17
|
+
- - "~>"
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '1.6'
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- - ~>
|
24
|
+
- - "~>"
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '1.6'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: rake
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - ">="
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '0'
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - ">="
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '0'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: json
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - ">="
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: '0'
|
54
48
|
type: :runtime
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - ">="
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '0'
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: erubis
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- -
|
59
|
+
- - ">="
|
68
60
|
- !ruby/object:Gem::Version
|
69
61
|
version: '0'
|
70
62
|
type: :runtime
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- -
|
66
|
+
- - ">="
|
76
67
|
- !ruby/object:Gem::Version
|
77
68
|
version: '0'
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: slop
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
73
|
- - '='
|
84
74
|
- !ruby/object:Gem::Version
|
@@ -86,7 +76,6 @@ dependencies:
|
|
86
76
|
type: :runtime
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
80
|
- - '='
|
92
81
|
- !ruby/object:Gem::Version
|
@@ -94,71 +83,62 @@ dependencies:
|
|
94
83
|
- !ruby/object:Gem::Dependency
|
95
84
|
name: term-ansicolor
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
86
|
requirements:
|
99
|
-
- -
|
87
|
+
- - ">="
|
100
88
|
- !ruby/object:Gem::Version
|
101
89
|
version: '0'
|
102
90
|
type: :runtime
|
103
91
|
prerelease: false
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
93
|
requirements:
|
107
|
-
- -
|
94
|
+
- - ">="
|
108
95
|
- !ruby/object:Gem::Version
|
109
96
|
version: '0'
|
110
97
|
- !ruby/object:Gem::Dependency
|
111
98
|
name: activesupport
|
112
99
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
100
|
requirements:
|
115
|
-
- -
|
101
|
+
- - ">="
|
116
102
|
- !ruby/object:Gem::Version
|
117
103
|
version: '0'
|
118
104
|
type: :runtime
|
119
105
|
prerelease: false
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
107
|
requirements:
|
123
|
-
- -
|
108
|
+
- - ">="
|
124
109
|
- !ruby/object:Gem::Version
|
125
110
|
version: '0'
|
126
111
|
- !ruby/object:Gem::Dependency
|
127
112
|
name: nokogiri
|
128
113
|
requirement: !ruby/object:Gem::Requirement
|
129
|
-
none: false
|
130
114
|
requirements:
|
131
|
-
- -
|
115
|
+
- - ">="
|
132
116
|
- !ruby/object:Gem::Version
|
133
117
|
version: '0'
|
134
118
|
type: :runtime
|
135
119
|
prerelease: false
|
136
120
|
version_requirements: !ruby/object:Gem::Requirement
|
137
|
-
none: false
|
138
121
|
requirements:
|
139
|
-
- -
|
122
|
+
- - ">="
|
140
123
|
- !ruby/object:Gem::Version
|
141
124
|
version: '0'
|
142
125
|
- !ruby/object:Gem::Dependency
|
143
126
|
name: chronic
|
144
127
|
requirement: !ruby/object:Gem::Requirement
|
145
|
-
none: false
|
146
128
|
requirements:
|
147
|
-
- -
|
129
|
+
- - ">="
|
148
130
|
- !ruby/object:Gem::Version
|
149
131
|
version: '0'
|
150
132
|
type: :runtime
|
151
133
|
prerelease: false
|
152
134
|
version_requirements: !ruby/object:Gem::Requirement
|
153
|
-
none: false
|
154
135
|
requirements:
|
155
|
-
- -
|
136
|
+
- - ">="
|
156
137
|
- !ruby/object:Gem::Version
|
157
138
|
version: '0'
|
158
139
|
- !ruby/object:Gem::Dependency
|
159
140
|
name: httparty
|
160
141
|
requirement: !ruby/object:Gem::Requirement
|
161
|
-
none: false
|
162
142
|
requirements:
|
163
143
|
- - '='
|
164
144
|
- !ruby/object:Gem::Version
|
@@ -166,7 +146,6 @@ dependencies:
|
|
166
146
|
type: :runtime
|
167
147
|
prerelease: false
|
168
148
|
version_requirements: !ruby/object:Gem::Requirement
|
169
|
-
none: false
|
170
149
|
requirements:
|
171
150
|
- - '='
|
172
151
|
- !ruby/object:Gem::Version
|
@@ -174,35 +153,45 @@ dependencies:
|
|
174
153
|
- !ruby/object:Gem::Dependency
|
175
154
|
name: builder
|
176
155
|
requirement: !ruby/object:Gem::Requirement
|
177
|
-
none: false
|
178
156
|
requirements:
|
179
|
-
- -
|
157
|
+
- - ">="
|
180
158
|
- !ruby/object:Gem::Version
|
181
159
|
version: '0'
|
182
160
|
type: :runtime
|
183
161
|
prerelease: false
|
184
162
|
version_requirements: !ruby/object:Gem::Requirement
|
185
|
-
none: false
|
186
163
|
requirements:
|
187
|
-
- -
|
164
|
+
- - ">="
|
188
165
|
- !ruby/object:Gem::Version
|
189
166
|
version: '0'
|
190
167
|
- !ruby/object:Gem::Dependency
|
191
168
|
name: ace-client
|
192
169
|
requirement: !ruby/object:Gem::Requirement
|
193
|
-
none: false
|
194
170
|
requirements:
|
195
171
|
- - '='
|
196
172
|
- !ruby/object:Gem::Version
|
197
|
-
version: 0.0.
|
173
|
+
version: 0.0.23
|
198
174
|
type: :runtime
|
199
175
|
prerelease: false
|
200
176
|
version_requirements: !ruby/object:Gem::Requirement
|
201
|
-
none: false
|
202
177
|
requirements:
|
203
178
|
- - '='
|
204
179
|
- !ruby/object:Gem::Version
|
205
|
-
version: 0.0.
|
180
|
+
version: 0.0.23
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: jmespath
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - '='
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: 1.4.0
|
188
|
+
type: :runtime
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - '='
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: 1.4.0
|
206
195
|
description: lightweight scenario test framework
|
207
196
|
email:
|
208
197
|
- tily05@gmail.com
|
@@ -211,14 +200,16 @@ executables:
|
|
211
200
|
extensions: []
|
212
201
|
extra_rdoc_files: []
|
213
202
|
files:
|
214
|
-
- .gitignore
|
203
|
+
- ".gitignore"
|
215
204
|
- 600px-Roland_Barthes_signature.svg.png
|
205
|
+
- Dockerfile
|
216
206
|
- Gemfile
|
217
207
|
- LICENSE.txt
|
218
208
|
- README.md
|
219
209
|
- Rakefile
|
220
210
|
- barthes.gemspec
|
221
211
|
- bin/barthes
|
212
|
+
- docker-compose.yml
|
222
213
|
- example/interrupt_spec.json
|
223
214
|
- example/q3_env.json
|
224
215
|
- example/q3_spec.json
|
@@ -227,6 +218,7 @@ files:
|
|
227
218
|
- lib/barthes/cache.rb
|
228
219
|
- lib/barthes/cli.rb
|
229
220
|
- lib/barthes/client/ace.rb
|
221
|
+
- lib/barthes/client/ace_json4.rb
|
230
222
|
- lib/barthes/client/ace_query2.rb
|
231
223
|
- lib/barthes/client/ace_query3.rb
|
232
224
|
- lib/barthes/client/ace_query4.rb
|
@@ -243,26 +235,25 @@ files:
|
|
243
235
|
homepage: ''
|
244
236
|
licenses:
|
245
237
|
- MIT
|
238
|
+
metadata: {}
|
246
239
|
post_install_message:
|
247
240
|
rdoc_options: []
|
248
241
|
require_paths:
|
249
242
|
- lib
|
250
243
|
required_ruby_version: !ruby/object:Gem::Requirement
|
251
|
-
none: false
|
252
244
|
requirements:
|
253
|
-
- -
|
245
|
+
- - ">="
|
254
246
|
- !ruby/object:Gem::Version
|
255
247
|
version: '0'
|
256
248
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
257
|
-
none: false
|
258
249
|
requirements:
|
259
|
-
- -
|
250
|
+
- - ">="
|
260
251
|
- !ruby/object:Gem::Version
|
261
252
|
version: '0'
|
262
253
|
requirements: []
|
263
254
|
rubyforge_project:
|
264
|
-
rubygems_version:
|
255
|
+
rubygems_version: 2.6.12
|
265
256
|
signing_key:
|
266
|
-
specification_version:
|
257
|
+
specification_version: 4
|
267
258
|
summary: lightweight scenario test framework
|
268
259
|
test_files: []
|