apirunner 0.4.5 → 0.4.6
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.
- data/README.rdoc +96 -33
- data/VERSION +1 -1
- data/apirunner.gemspec +14 -6
- data/examples/config/api_runner.yml +21 -2
- data/examples/test/api_runner/001_create_user.yml +49 -40
- data/examples/test/api_runner/002_update_resources.yml +123 -0
- data/examples/test/api_runner/003_update_ratings.yml +7 -8
- data/examples/test/api_runner/004_update_series_ratings.yml +88 -0
- data/examples/test/api_runner/{005_recommendations.yml → 006_recommendations.yml} +4 -34
- data/examples/test/api_runner/007_item_predictions.yml +286 -0
- data/examples/test/api_runner/{006_discovery.yml → 008_discovery.yml} +142 -18
- data/examples/test/api_runner/010_fsk.yml +168 -0
- data/examples/test/api_runner/011_misc.yml +116 -0
- data/examples/test/api_runner/012_telekom_error_reports.yml +1831 -0
- data/examples/test/api_runner/013-extended-unpersonalized-discovery.yml +711 -0
- data/examples/test/api_runner/014-extended-personalized-discovery.yml +764 -0
- data/examples/test/api_runner/015_create_10000_users.yml +43 -0
- data/examples/test/api_runner/999_delete_user.yml +35 -4
- data/lib/api_runner.rb +1 -1
- metadata +16 -8
- /data/examples/test/api_runner/{004_rateables_and_pagination.yml → 005_rateables_and_pagination.yml} +0 -0
- /data/examples/test/api_runner/{007_cacheable_operations.yml → 009_cacheable_operations.yml} +0 -0
@@ -1,29 +1,30 @@
|
|
1
1
|
---
|
2
|
-
- name: "There should return recommendations / ratings for a discovery request for genre:
|
2
|
+
- name: "There should return recommendations / ratings for a discovery request for genre:67"
|
3
3
|
request:
|
4
4
|
headers:
|
5
5
|
Content-Type: 'application/json'
|
6
|
-
path: '/users/duffyduck/predictions/discovery/genre:
|
6
|
+
path: '/users/duffyduck/predictions/discovery/genre:67'
|
7
7
|
method: 'GET'
|
8
8
|
response_expectation:
|
9
9
|
status_code: 200
|
10
10
|
body: /^\[({"m\d+":[0-5]\.[05]},)+{"m\d+":[0-5]\.[05]}\]$/
|
11
|
-
- name: "There should return exatctly 5 recommendations / ratings for a discovery request for genre:
|
11
|
+
- name: "There should return exatctly 5 recommendations / ratings for a discovery request for genre:67 with per_page 5"
|
12
12
|
request:
|
13
13
|
headers:
|
14
14
|
Content-Type: 'application/json'
|
15
|
-
path: '/users/duffyduck/predictions/discovery/genre:
|
15
|
+
path: '/users/duffyduck/predictions/discovery/genre:67'
|
16
16
|
parameters:
|
17
17
|
per_page: 5
|
18
|
+
page: 1
|
18
19
|
method: 'GET'
|
19
20
|
response_expectation:
|
20
21
|
status_code: 200
|
21
22
|
body: /^\[({"m\d+":[0-5]\.[05]},){4}{"m\d+":[0-5]\.[05]}\]$/
|
22
|
-
- name: "There should not return any recommendations / ratings on a dicovery request for genre:
|
23
|
+
- name: "There should not return any recommendations / ratings on a dicovery request for genre:67 for a non existing user"
|
23
24
|
request:
|
24
25
|
headers:
|
25
26
|
Content-Type: 'application/json'
|
26
|
-
path: '/users/daisyduck/predictions/discovery/genre:
|
27
|
+
path: '/users/daisyduck/predictions/discovery/genre:67'
|
27
28
|
method: 'GET'
|
28
29
|
response_expectation:
|
29
30
|
status_code: 404
|
@@ -44,6 +45,7 @@
|
|
44
45
|
path: '/users/duffyduck/predictions/discovery/plot_keyword:2'
|
45
46
|
parameters:
|
46
47
|
per_page: 5
|
48
|
+
page: 1
|
47
49
|
method: 'GET'
|
48
50
|
response_expectation:
|
49
51
|
status_code: 200
|
@@ -57,22 +59,23 @@
|
|
57
59
|
response_expectation:
|
58
60
|
status_code: 404
|
59
61
|
body:
|
60
|
-
- name: "There should return recommendations / ratings for a discovery request for place_keyword:
|
62
|
+
- name: "There should return recommendations / ratings for a discovery request for place_keyword:2"
|
61
63
|
request:
|
62
64
|
headers:
|
63
65
|
Content-Type: 'application/json'
|
64
|
-
path: '/users/duffyduck/predictions/discovery/place_keyword:
|
66
|
+
path: '/users/duffyduck/predictions/discovery/place_keyword:2'
|
65
67
|
method: 'GET'
|
66
68
|
response_expectation:
|
67
69
|
status_code: 200
|
68
70
|
body: /^\[({"m\d+":[0-5]\.[05]},)+{"m\d+":[0-5]\.[05]}\]$/
|
69
|
-
- name: "There should return exactly 5 recommendations / ratings for a discovery request for place_keyword:
|
71
|
+
- name: "There should return exactly 5 recommendations / ratings for a discovery request for place_keyword:2 with per_page 5"
|
70
72
|
request:
|
71
73
|
headers:
|
72
74
|
Content-Type: 'application/json'
|
73
|
-
path: '/users/duffyduck/predictions/discovery/place_keyword:
|
75
|
+
path: '/users/duffyduck/predictions/discovery/place_keyword:2'
|
74
76
|
parameters:
|
75
77
|
per_page: 5
|
78
|
+
page: 1
|
76
79
|
method: 'GET'
|
77
80
|
response_expectation:
|
78
81
|
status_code: 200
|
@@ -95,13 +98,14 @@
|
|
95
98
|
response_expectation:
|
96
99
|
status_code: 200
|
97
100
|
body: /^\[({"m\d+":[0-5]\.[05]},)+{"m\d+":[0-5]\.[05]}\]$/
|
98
|
-
- name: "There should return exactly 5 recommendations / ratings for a discovery request for time_keyword:
|
101
|
+
- name: "There should return exactly 5 recommendations / ratings for a discovery request for time_keyword:2 with per_page 5"
|
99
102
|
request:
|
100
103
|
headers:
|
101
104
|
Content-Type: 'application/json'
|
102
|
-
path: '/users/duffyduck/predictions/discovery/time_keyword:
|
105
|
+
path: '/users/duffyduck/predictions/discovery/time_keyword:2'
|
103
106
|
parameters:
|
104
107
|
per_page: 5
|
108
|
+
page: 1
|
105
109
|
method: 'GET'
|
106
110
|
response_expectation:
|
107
111
|
status_code: 200
|
@@ -115,31 +119,32 @@
|
|
115
119
|
response_expectation:
|
116
120
|
status_code: 404
|
117
121
|
body:
|
118
|
-
- name: "There should return recommendations / ratings for a discovery request for emotion_keyword:
|
122
|
+
- name: "There should return recommendations / ratings for a discovery request for emotion_keyword:7"
|
119
123
|
request:
|
120
124
|
headers:
|
121
125
|
Content-Type: 'application/json'
|
122
|
-
path: '/users/duffyduck/predictions/discovery/emotion_keyword:
|
126
|
+
path: '/users/duffyduck/predictions/discovery/emotion_keyword:7'
|
123
127
|
method: 'GET'
|
124
128
|
response_expectation:
|
125
129
|
status_code: 200
|
126
130
|
body: /^\[({"m\d+":[0-5]\.[05]},)+{"m\d+":[0-5]\.[05]}\]$/
|
127
|
-
- name: "There should return exactly 5 recommendations / ratings for a discovery request for emotion_keyword:
|
131
|
+
- name: "There should return exactly 5 recommendations / ratings for a discovery request for emotion_keyword:7 with per_page 5"
|
128
132
|
request:
|
129
133
|
headers:
|
130
134
|
Content-Type: 'application/json'
|
131
|
-
path: '/users/duffyduck/predictions/discovery/emotion_keyword:
|
135
|
+
path: '/users/duffyduck/predictions/discovery/emotion_keyword:7'
|
132
136
|
parameters:
|
133
137
|
per_page: 5
|
138
|
+
page: 1
|
134
139
|
method: 'GET'
|
135
140
|
response_expectation:
|
136
141
|
status_code: 200
|
137
142
|
body: /^\[({"m\d+":[0-5]\.[05]},){4}{"m\d+":[0-5]\.[05]}\]$/
|
138
|
-
- name: "There should not return any recommendations / ratings on a dicovery request for emotion_keyword:
|
143
|
+
- name: "There should not return any recommendations / ratings on a dicovery request for emotion_keyword:7 for a non existing user"
|
139
144
|
request:
|
140
145
|
headers:
|
141
146
|
Content-Type: 'application/json'
|
142
|
-
path: '/users/daisyduck/predictions/discovery/emotion_keyword:
|
147
|
+
path: '/users/daisyduck/predictions/discovery/emotion_keyword:7'
|
143
148
|
method: 'GET'
|
144
149
|
response_expectation:
|
145
150
|
status_code: 404
|
@@ -160,6 +165,7 @@
|
|
160
165
|
path: '/users/duffyduck/predictions/discovery/intended_audience:13'
|
161
166
|
parameters:
|
162
167
|
per_page: 5
|
168
|
+
page: 1
|
163
169
|
method: 'GET'
|
164
170
|
response_expectation:
|
165
171
|
status_code: 200
|
@@ -173,3 +179,121 @@
|
|
173
179
|
response_expectation:
|
174
180
|
status_code: 404
|
175
181
|
body:
|
182
|
+
- name: "Personal discovery with per_page set to 20 should return 20 results"
|
183
|
+
request:
|
184
|
+
headers:
|
185
|
+
Content-Type: 'application/json'
|
186
|
+
path: '/users/duffyduck/predictions/discovery/genre:1'
|
187
|
+
method: 'GET'
|
188
|
+
parameters:
|
189
|
+
per_page: 20
|
190
|
+
response_expectation:
|
191
|
+
status_code: 200
|
192
|
+
body: /^\[({"m\d+":[0-5]\.[05]},){19}{"m\d+":[0-5]\.[05]}\]$/
|
193
|
+
- name: "Personal discovery with per_page set to 20 and page set to 2 should return 20 results too"
|
194
|
+
request:
|
195
|
+
headers:
|
196
|
+
Content-Type: 'application/json'
|
197
|
+
path: '/users/duffyduck/predictions/discovery/genre:1'
|
198
|
+
method: 'GET'
|
199
|
+
parameters:
|
200
|
+
per_page: 20
|
201
|
+
page: 2
|
202
|
+
response_expectation:
|
203
|
+
status_code: 200
|
204
|
+
body: /^\[({"m\d+":[0-5]\.[05]},){19}{"m\d+":[0-5]\.[05]}\]$/
|
205
|
+
- name: "Personal discovery without per_page set return more than 20 results"
|
206
|
+
request:
|
207
|
+
headers:
|
208
|
+
Content-Type: 'application/json'
|
209
|
+
path: '/users/duffyduck/predictions/discovery/genre:1'
|
210
|
+
method: 'GET'
|
211
|
+
response_expectation:
|
212
|
+
status_code: 200
|
213
|
+
body: /^\[({"m\d+":[0-5]\.[05]},){20,1600}{"m\d+":[0-5]\.[05]}\]$/
|
214
|
+
- name: "Unpersonalized discovery should return a lot of movies for a certain genre"
|
215
|
+
request:
|
216
|
+
headers:
|
217
|
+
Content-Type: 'application/json'
|
218
|
+
path: '/discovery/genre:1'
|
219
|
+
method: 'GET'
|
220
|
+
response_expectation:
|
221
|
+
status_code: 200
|
222
|
+
body: /^\[("m\d+",){20,1600}"m\d+"\]$/
|
223
|
+
- name: "Unpersonalized discovery with per_page set to 20 should return 20 movies for a certain genre"
|
224
|
+
request:
|
225
|
+
headers:
|
226
|
+
Content-Type: 'application/json'
|
227
|
+
path: '/discovery/genre:1'
|
228
|
+
method: 'GET'
|
229
|
+
parameters:
|
230
|
+
per_page: 20
|
231
|
+
response_expectation:
|
232
|
+
status_code: 200
|
233
|
+
body: /^\[("m\d+",){19}"m\d+"\]$/
|
234
|
+
- name: "Unpersonalized discovery with per_page set to 20 and page set to 2 should return 20 movies for a certain genre too"
|
235
|
+
request:
|
236
|
+
headers:
|
237
|
+
Content-Type: 'application/json'
|
238
|
+
path: '/discovery/genre:1'
|
239
|
+
method: 'GET'
|
240
|
+
parameters:
|
241
|
+
per_page: 20
|
242
|
+
page: 2
|
243
|
+
response_expectation:
|
244
|
+
status_code: 200
|
245
|
+
body: /^\[("m\d+",){19}"m\d+"\]$/
|
246
|
+
- name: "Unpersonalized discovery should return between 1 and 2000 movies for a certain emotion_keyword"
|
247
|
+
request:
|
248
|
+
headers:
|
249
|
+
Content-Type: 'application/json'
|
250
|
+
path: '/discovery/emotion_keyword:7'
|
251
|
+
method: 'GET'
|
252
|
+
response_expectation:
|
253
|
+
status_code: 200
|
254
|
+
body: /^\[("m\d+",){1,2000}"m\d+"\]$/
|
255
|
+
- name: "Unpersonalized discovery should return between 1 and 2000 movies for a certain intended_audience"
|
256
|
+
request:
|
257
|
+
headers:
|
258
|
+
Content-Type: 'application/json'
|
259
|
+
path: '/discovery/intended_audience:13'
|
260
|
+
method: 'GET'
|
261
|
+
response_expectation:
|
262
|
+
status_code: 200
|
263
|
+
body: /^\[("m\d+",){1,2000}"m\d+"\]$/
|
264
|
+
- name: "Unpersonalized discovery should return between 1 and 2000 movies for a certain place_keyword"
|
265
|
+
request:
|
266
|
+
headers:
|
267
|
+
Content-Type: 'application/json'
|
268
|
+
path: '/discovery/place_keyword:2'
|
269
|
+
method: 'GET'
|
270
|
+
response_expectation:
|
271
|
+
status_code: 200
|
272
|
+
body: /^\[("m\d+",){1,2000}"m\d+"\]$/
|
273
|
+
- name: "Unpersonalized discovery should return between 1 and 2000 movies for a certain time_keyword"
|
274
|
+
request:
|
275
|
+
headers:
|
276
|
+
Content-Type: 'application/json'
|
277
|
+
path: '/discovery/time_keyword:198'
|
278
|
+
method: 'GET'
|
279
|
+
response_expectation:
|
280
|
+
status_code: 200
|
281
|
+
body: /^\[("m\d+",){1,2000}"m\d+"\]$/
|
282
|
+
- name: "Unpersonalized discovery should return between 1 and 2000 movies for a certain plot_keyword"
|
283
|
+
request:
|
284
|
+
headers:
|
285
|
+
Content-Type: 'application/json'
|
286
|
+
path: '/discovery/plot_keyword:2'
|
287
|
+
method: 'GET'
|
288
|
+
response_expectation:
|
289
|
+
status_code: 200
|
290
|
+
body: /^\[("m\d+",){1,2000}"m\d+"\]$/
|
291
|
+
- name: "Unpersonalized discovery should return between 1 and 2000 movies for a certain genre"
|
292
|
+
request:
|
293
|
+
headers:
|
294
|
+
Content-Type: 'application/json'
|
295
|
+
path: '/discovery/genre:67'
|
296
|
+
method: 'GET'
|
297
|
+
response_expectation:
|
298
|
+
status_code: 200
|
299
|
+
body: /^\[("m\d+",){1,2000}"m\d+"\]$/
|
@@ -0,0 +1,168 @@
|
|
1
|
+
---
|
2
|
+
- name: 'Create new adult user duffydad'
|
3
|
+
request:
|
4
|
+
headers:
|
5
|
+
Content-Type: 'application/json'
|
6
|
+
path: '/users/duffydad'
|
7
|
+
method: 'PUT'
|
8
|
+
body:
|
9
|
+
username: 'duffydad'
|
10
|
+
watchlist:
|
11
|
+
- m1035
|
12
|
+
- m2087
|
13
|
+
blacklist:
|
14
|
+
- m1554
|
15
|
+
- m2981
|
16
|
+
skiplist:
|
17
|
+
- m1590
|
18
|
+
- m1056
|
19
|
+
ratings:
|
20
|
+
m12493: 4.0
|
21
|
+
m1875: 2.5
|
22
|
+
m7258: 3.0
|
23
|
+
m7339: 4.0
|
24
|
+
m3642: 5.0
|
25
|
+
expires_at: 2011-09-09T22:41:50+00:00
|
26
|
+
response_expectation:
|
27
|
+
status_code: 201
|
28
|
+
headers:
|
29
|
+
Last-Modified: /.*/
|
30
|
+
body:
|
31
|
+
username: 'duffydad'
|
32
|
+
watchlist:
|
33
|
+
- m1035
|
34
|
+
- m2087
|
35
|
+
blacklist:
|
36
|
+
- m1554
|
37
|
+
- m2981
|
38
|
+
skiplist:
|
39
|
+
- m1590
|
40
|
+
- m1056
|
41
|
+
ratings:
|
42
|
+
m12493: 4.0
|
43
|
+
m1875: 2.5
|
44
|
+
m7258: 3.0
|
45
|
+
m7339: 4.0
|
46
|
+
m3642: 5.0
|
47
|
+
fsk: "18"
|
48
|
+
- name: 'Expect the number of movies of genre horror for adult duffydad to be between 33 and 200'
|
49
|
+
wait_before_request: 5
|
50
|
+
request:
|
51
|
+
headers:
|
52
|
+
Content-Type: 'application/json'
|
53
|
+
path: '/users/duffydad/predictions/discovery/genre:43'
|
54
|
+
method: 'GET'
|
55
|
+
response_expectation:
|
56
|
+
status_code: 200
|
57
|
+
body: /^\[(\{"m\d+":[0-5]\.[05]\},){33,199}\{"m\d+":[0-5]\.[05]\}\]$/
|
58
|
+
- name: 'Create new non-adult user duffykid with ratings'
|
59
|
+
request:
|
60
|
+
headers:
|
61
|
+
Content-Type: 'application/json'
|
62
|
+
path: '/users/duffykid'
|
63
|
+
method: 'PUT'
|
64
|
+
body:
|
65
|
+
username: 'duffykid'
|
66
|
+
fsk: "0"
|
67
|
+
ratings:
|
68
|
+
m12493: 4.0
|
69
|
+
m1875: 2.5
|
70
|
+
m7258: 3.0
|
71
|
+
m7339: 4.0
|
72
|
+
m3642: 5.0
|
73
|
+
expires_at: 2011-09-09T22:41:50+00:00
|
74
|
+
response_expectation:
|
75
|
+
status_code: 201
|
76
|
+
headers:
|
77
|
+
Last-Modified: /.*/
|
78
|
+
body:
|
79
|
+
username: 'duffykid'
|
80
|
+
ratings:
|
81
|
+
m12493: 4.0
|
82
|
+
m1875: 2.5
|
83
|
+
m7258: 3.0
|
84
|
+
m7339: 4.0
|
85
|
+
m3642: 5.0
|
86
|
+
fsk: "0"
|
87
|
+
- name: 'Expect the number of movies of genre horror for non-adult duffykid to be between 0 and 33'
|
88
|
+
wait_before_request: 5
|
89
|
+
request:
|
90
|
+
headers:
|
91
|
+
Content-Type: 'application/json'
|
92
|
+
path: '/users/duffykid/predictions/discovery/genre:43'
|
93
|
+
method: 'GET'
|
94
|
+
response_expectation:
|
95
|
+
status_code: 200
|
96
|
+
body: /^\[(\{"m\d+":[0-5]\.[05]\},){0,33}\{"m\d+":[0-5]\.[05]\}\]$/
|
97
|
+
- name: 'Create new FSK Check User'
|
98
|
+
request:
|
99
|
+
headers:
|
100
|
+
Content-Type: 'application/json'
|
101
|
+
path: '/users/teletubby'
|
102
|
+
method: 'PUT'
|
103
|
+
body:
|
104
|
+
username: 'teletubby'
|
105
|
+
fsk: 12
|
106
|
+
expires_at: 2011-09-09T22:41:50+00:00
|
107
|
+
response_expectation:
|
108
|
+
status_code: 201
|
109
|
+
headers:
|
110
|
+
Last-Modified: /.*/
|
111
|
+
body:
|
112
|
+
username: 'teletubby'
|
113
|
+
fsk: 12
|
114
|
+
- name: "We put one rating in expectation that fsk 12 does not change"
|
115
|
+
request:
|
116
|
+
headers:
|
117
|
+
Content-Type: 'application/json'
|
118
|
+
path: '/users/teletubby/ratings'
|
119
|
+
method: 'PUT'
|
120
|
+
body:
|
121
|
+
m765: 1.0
|
122
|
+
response_expectation:
|
123
|
+
status_code: 204
|
124
|
+
body:
|
125
|
+
- name: 'Check users fsk after rating - should be still 12'
|
126
|
+
request:
|
127
|
+
headers:
|
128
|
+
Content-Type: 'application/json'
|
129
|
+
path: '/users/teletubby'
|
130
|
+
method: 'GET'
|
131
|
+
response_expectation:
|
132
|
+
status_code: 200
|
133
|
+
headers:
|
134
|
+
Last-Modified: /.*/
|
135
|
+
body:
|
136
|
+
username: 'teletubby'
|
137
|
+
fsk: "12"
|
138
|
+
- name: "We put another rating in expectation that fsk 12 does not change"
|
139
|
+
request:
|
140
|
+
headers:
|
141
|
+
Content-Type: 'application/json'
|
142
|
+
path: '/users/teletubby/ratings'
|
143
|
+
method: 'PUT'
|
144
|
+
body:
|
145
|
+
m42: 1.0
|
146
|
+
response_expectation:
|
147
|
+
status_code: 204
|
148
|
+
body:
|
149
|
+
- name: 'Check users fsk after rating - should be still 12'
|
150
|
+
request:
|
151
|
+
headers:
|
152
|
+
Content-Type: 'application/json'
|
153
|
+
path: '/users/teletubby'
|
154
|
+
method: 'GET'
|
155
|
+
response_expectation:
|
156
|
+
status_code: 200
|
157
|
+
headers:
|
158
|
+
Last-Modified: /.*/
|
159
|
+
body:
|
160
|
+
username: 'teletubby'
|
161
|
+
fsk: "12"
|
162
|
+
- name: 'Delete fsk testuser'
|
163
|
+
request:
|
164
|
+
path: '/users/teletubby'
|
165
|
+
method: 'DELETE'
|
166
|
+
body: {}
|
167
|
+
response_expectation:
|
168
|
+
status_code: 202
|
@@ -0,0 +1,116 @@
|
|
1
|
+
---
|
2
|
+
- name: 'Creation of the first user in a double creation test should succeed'
|
3
|
+
request:
|
4
|
+
headers:
|
5
|
+
Content-Type: 'application/json'
|
6
|
+
path: '/users/roadrunner'
|
7
|
+
method: 'PUT'
|
8
|
+
body:
|
9
|
+
watchlist:
|
10
|
+
- m1035
|
11
|
+
- m2087
|
12
|
+
blacklist:
|
13
|
+
- m1554
|
14
|
+
- m2981
|
15
|
+
skiplist:
|
16
|
+
- m1590
|
17
|
+
- m1056
|
18
|
+
ratings:
|
19
|
+
m12493: 4.0
|
20
|
+
m1875: 2.5
|
21
|
+
m7258: 3.0
|
22
|
+
m7339: 4.0
|
23
|
+
m3642: 5.0
|
24
|
+
expires_at: 2011-09-09T22:41:50+00:00
|
25
|
+
response_expectation:
|
26
|
+
status_code: 201
|
27
|
+
headers:
|
28
|
+
Last-Modified: /.*/
|
29
|
+
body:
|
30
|
+
username: 'roadrunner'
|
31
|
+
watchlist:
|
32
|
+
- m1035
|
33
|
+
- m2087
|
34
|
+
blacklist:
|
35
|
+
- m1554
|
36
|
+
- m2981
|
37
|
+
skiplist:
|
38
|
+
- m1590
|
39
|
+
- m1056
|
40
|
+
ratings:
|
41
|
+
m12493: 4.0
|
42
|
+
m1875: 2.5
|
43
|
+
m7258: 3.0
|
44
|
+
m7339: 4.0
|
45
|
+
m3642: 5.0
|
46
|
+
fsk: "18"
|
47
|
+
- name: 'Creation of the same user directly after first creation attempt should succeed too'
|
48
|
+
wait_before_request: 5
|
49
|
+
request:
|
50
|
+
headers:
|
51
|
+
Content-Type: 'application/json'
|
52
|
+
path: '/users/roadrunner'
|
53
|
+
method: 'PUT'
|
54
|
+
body:
|
55
|
+
watchlist:
|
56
|
+
- m1035
|
57
|
+
- m2087
|
58
|
+
blacklist:
|
59
|
+
- m1554
|
60
|
+
- m2981
|
61
|
+
skiplist:
|
62
|
+
- m1590
|
63
|
+
- m1056
|
64
|
+
ratings:
|
65
|
+
m12493: 4.0
|
66
|
+
m1875: 2.5
|
67
|
+
m7258: 3.0
|
68
|
+
m7339: 4.0
|
69
|
+
m3642: 5.0
|
70
|
+
expires_at: 2011-09-09T22:41:50+00:00
|
71
|
+
response_expectation:
|
72
|
+
status_code: 204
|
73
|
+
headers:
|
74
|
+
Last-Modified: /.*/
|
75
|
+
- name: 'Creation of the same user for a third time should succeed too'
|
76
|
+
wait_before_request: 5
|
77
|
+
request:
|
78
|
+
headers:
|
79
|
+
Content-Type: 'application/json'
|
80
|
+
path: '/users/roadrunner'
|
81
|
+
method: 'PUT'
|
82
|
+
body:
|
83
|
+
watchlist:
|
84
|
+
- m1035
|
85
|
+
- m2087
|
86
|
+
blacklist:
|
87
|
+
- m1554
|
88
|
+
- m2981
|
89
|
+
skiplist:
|
90
|
+
- m1590
|
91
|
+
- m1056
|
92
|
+
ratings:
|
93
|
+
m12493: 4.0
|
94
|
+
m1875: 2.5
|
95
|
+
m7258: 3.0
|
96
|
+
m7339: 4.0
|
97
|
+
m3642: 5.0
|
98
|
+
expires_at: 2011-09-09T22:41:50+00:00
|
99
|
+
response_expectation:
|
100
|
+
status_code: 204
|
101
|
+
headers:
|
102
|
+
Last-Modified: /.*/
|
103
|
+
- name: 'Deletion of twice created user roadrunner should succeed'
|
104
|
+
request:
|
105
|
+
path: '/users/roadrunner'
|
106
|
+
method: 'DELETE'
|
107
|
+
body: {}
|
108
|
+
response_expectation:
|
109
|
+
status_code: 202
|
110
|
+
- name: 'User roadrunner should not be existant any more after deletion'
|
111
|
+
request:
|
112
|
+
path: '/users/roadrunner'
|
113
|
+
method: 'GET'
|
114
|
+
body: {}
|
115
|
+
response_expectation:
|
116
|
+
status_code: 404
|