-
Notifications
You must be signed in to change notification settings - Fork 12
/
changelog
372 lines (332 loc) · 14.4 KB
/
changelog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
3.0.4 (09/07/2021)
- FIX: dict_merge expanded list at each call (now it just replaces it)
3.0.3 (08/07/2021)
- FIX: resolving pymethod during foreach statement was bugged (result was duplicated)
3.0.2 (1/07/21)
- FIX: 'wait' command was really buged in a proc statement ;-)
3.0.1 (30/06/21)
- FIX: 'wait' command was buged in a proc statement
3.0.0 (17/06/21)
- perhaps you should avoid to use this, and use next versions (release fix)
- a lot of changes ... so a lot of bugs (see alpha changes)
btw all my legacy tests works (at 99%) ... but pretty sure that exists some nails to fix.
- major evols: --f, --j, wait command, ignorable vars ... and lot of fixes (to be as strong as v2 versions)
- better base/core : futures versions will use git in the right way (and it will be easily to maintain ;-)
ALPHA 3.0.0a6 (new core system) : near ;-)
- FIX: bug when executing pymethods in tests
- EVOL: new option --j & --j:name.xml to output junit xml file (jenkins/bamboo can read/interpret junit files)
- new unit tests
ALPHA 3.0.0a5 (new core system) : near ;-)
- EVOL: assuming that "save order is important" : so "save" statement can be a dict OR (newly) a list!
ALPHA 3.0.0a4 (new core system) : should be the good one !
- FIX: event_loop/py38 on windows (Configuration of windows event loop for libraries)
- FIX: save order is important
ALPHA 3.0.0a3 (new core system)
- FIX: 'int'.size was wrong
- FIX: match identical request in dual mode (was wrong)
ALPHA 3.0.0a2 (new core system)
- back to aiohttp (with aio cookies) (httpx doesn't support SOCKS PROXY (which is a nogo)) ;-(
- bad if statements fails silently
ALPHA 3.0.0a1 (new core system)
- now, it's a real module (a folder in site-packages)
- now, the version is real semver
- new command (wait: <<time_in_ms>>)
- remove SELFCONF (too overbloated and not useful)
- ~~use HTTPX again and forever ;-) (bye aiohttp)~~
- "proxy" support too ~~(can be really configurable, see proxies/httpx)~~
- FIX: dual html -> dual status_code ;-) (not just the first)
- EVOL: new option "--f" to force full output in html rendering
- EVOL: the "resolving" mechanism is now completly new (more robust, more maintanable)
- EVOL: some little behaviour has changed :
- some complex things (not covered in UT) should just work as expected
- headers can't be tested directly, only thru "headers."
- "headers contains" no more, should be explicit (use ".?" to simulate historic way)
- tests are always resolved to false, when requests non playable
- "content contains" always here (to keep the same as historic way)
- EVOL: vars can be "ignorable" (<<var?>> will be empty if not defined), avoid ResolvingException/non playable !
2.11.0 (09/03/21) - the proxy support verion
- EVOL: can use a "proxy" (str) var in reqman.conf (as "timeout" var)
2.10.0 (09/03/21)
- EVOL: Used as a module: ability to configure a proxy in "reqman.proxy" (an url)
2.9.1 (02/03/21)
- FIX: keep fragment of url in "reqman new" command
2.9.0 (02/03/21)
- EVOL: in rml: add "query" (dict) to build path with queryparams in an easy way
- EVOL: add GenRML() to generate rml's language string from a "request"
- FIX: exe'filename is now guessed from the os, in usage doc.
2.8.1 (27/02/21)
- FIX(better): exposed real python methods need to respect the same signature (func(x,ENV)), as pymethod declared in conf
and add a @reqman.expose, to decorate those ones. (in dict reqman.EXPOSES)
2.8.0 (26/02/21)
- EVOL: ability to expose real python methods (func(x)), in reqman.exposes dict, when used as a lib/module
- EVOL: usage's commandline is now in reqman.__usage__
2.7.0 (20/02/21)
- EVOL: new option "--x:var" to be able to use reqman, to output a computed/var from the env.
(let you do more scripting for special cases)
- EVOL: "> reqman reqman.conf" has a sense now ;-) (will run BEGIN/END)
2.6.1 (20/02/21)
- FIX: use yaml.SafeLoader instead of yaml.FullLoader (see https://www.huntr.dev/bounties/1-pip-reqman/), thanks to @Asjidkalam & @huntr-helper
2.6.0 (19/02/21)
- EVOL: ENV.path (path to the folder containing the reqman.conf) is available in python method
- FIX: allow setting multiple cookies (Set-Cookie is now a list, in outHeaders)
2.5.1 (11/12/20)
- no more warning of "if non resolved"
2.5.0 (07/12/20)
- bug fixes
2.4.2 (21/8/20)
- EVOL: include pyjwt in the core (useful for py methods in yml)
2.4.1 (27/4/20)
- FIX: for py3.8, RuntimeError: dictionary keys changed during iteration
2.4.0 (24/4/20)
- BIG EVOL: new compare operator ".?"/".!?" (contains/doesnt contains)
- BIG EVOL: simple "if statement" !
- BIG EVOL: selfconf is enabled
- BIG EVOL: new object response, request & rm (full exchange)
- BIG EVOL: a lot more tnr (with fakereqman shebang) ... see REALTESTS!
- EVOL: response.time is now here !
- EVOL: command line var params are guessed now (from json string)!
- FIX: "save" can now be tested (save executed before test, and save in envResponse)
- FIX: remove old shebang system
- FIX: jpath can now resolve python methods too !!! (in a good way)
- FIX: trouble encodings.idna
- RMR2 (lose compatibility with previous rmr)
2.3.10 (3/4/20)
- EVOL: (new test system) tests on all vars, with methods too
- EVOL: new test header syntax (header.xxx)
- EVOL: new option "--i" for force to use shebang mode on a single file
- pytest: "python3.7 -m pytest tests REALTESTS"
2.3.9 (1/4/20)
- FIX: display headers in console was bugged
- FIX: better guess value
2.3.8.1 (31/03/2020)
- fix: on win only : sometimes bytes was considering as str utf8 (?!)
2.3.8 (29/03/2020)
- EVOL: decode all encoding as utf8, and no more json escaping non-ascii .. all utf8 !
2.3.7 (15/03/2020)
- EVOL: increase limited size of html output body to 8192
2.3.6 (24/3/2020)
- FIX : miss limitation on body
2.3.5 (21/3/2020)
- FIX : make tests false is request is invalid
2.3.4 (21/3/2020)
- EVOL: add a limited repr of outputs in reqman.html generation, to limit size of the html (+ trick '+')
- EVOL : change xml indentation from 8 to 4
- EVOL: simple copy-clipboard requests/response from reqman.html
2.3.3 (11/3/2020)
- EVOL : better extract xpath in jpath
- FIX: a TypeError when comparing differents types
2.3.2 (10/3/2020)
- EVOL : xml/xpath returns always a list !
2.3.1 (9/3/2020)
- FIX : resolve trouble
2.3.0 (7/3/2020)
- EVOL : xml/xpath tests enabled !
2.2.6.0 (04/03/2020)
- EVOL: Add proxy support (via HTTP(S)_PROXY environment variables), thanks @iamhsa
- FIX: dual result now display ok/total per view (not the cumulative one)
2.2.5.0 (31/01/2020)
- EVOL:
- don't try to play requests which contains non resolved vars in path/headers/body
- non playable request (non resolved, timeout, unreachable, invalid) are greyed out in outputs
2.2.4.0 (19/12/2019)
- EVOL: add a way to update env with command line (ex: "reqman . var:ok" )
2.2.3.0 (17/12/2019)
- FIX: save content to var was bugged (Content serialization)
2.2.2.0 (11/12/2019)
- EVOL: not append root if url has a scheme
- EVOL: switchs renamed switches (switchs is deprecated) ... thanks @mikeputnam
2.2.1.0 (20/11/2019)
- minor fixes: http version in html output is better ;-)
- evol: reqman version in meta tag in html output
2.2.0.0 (18/11/2019)
- EVOL: change http lib from httpcore to aiohttp, for the ability to send mixed case headers
2.1.8.0 (15/11/2019)
- EVOL: try request 3 times, when host is unreachable, to be really sure
2.1.7.0 (15/11/2019)
- FIX: trouble when pymethod in a dict in a body
2.1.6.0 (13/11/2019)
- EVOL: replace vars in root too
2.1.5.0 (11/11/2019)
- last version was unusable ;-)
2.1.4.0 (11/11/2019)
- FIX: bug when url return a real error 500
2.1.3.0 (05/11/2019)
- EVOL : headers can be dynamic in reqman.conf
2.1.2.0 (26/10/2019)
- EVOL : (top!) python error just fail the test (except dynamic foreach)
- test value in html tooltip is js compatible
2.1.1.0 (24/10/2019)
- EVOL: better status in console, and in html. Real test value in html tooltip
2.1.0.2 (12/10/2019)
- fix: command line on *nix works again (oupsss)
2.1.0.1 (11/10/2019)
- fix: set content-length to 0 if no body posted
2.1.0.0 (10/10/2019)
- hermetic scope between file : saved data are not shared with every files (only those in BEGIN statement, whose are global) (like reqman1)
- better resolver when mixing . and |
- better python detection var/method
- resolve jpath in computed var's env (test960)
- better save() mechanism (simpler)
2.0.8.1 (04/10/2019)
- when <<toto|d>>, now x=None if toto is an undefined var (no more "toto")
2.0.8.0 (03/10/2019)
- dual exchanges list is now a tuple of 2 items (3 before) : take less space in rmr!
- (a lot) better var resolution in env
- html rendering redisplay rendered url (in place of path) when not dual (like reqman1)!
- FIX: matching req (dual mode) when "id" are the same (foreach loop/same pattern)
2.0.7.0 (2019)
- add stpl to setup.py (ouppssss)
2.0.6.0 (2019)
- better shebang (linux compat)
- FIX: win cross device test enabled
- evol: better test value display
2.0.5.0 (2019)
- FIX: local params are overrided by higher params (pato style)
- FIX: write html in utf8+bom
- EVOL: (for tests/debug only) add a view() mechanism, to display "exe" extended results in an html page in a browser
2.0.4.0
- EVOL: all(ymls/conf/response content) is converted to utf8 str
2.0.3.0
- FIX: dyn params can be transformed now, and can be bytes
2.0.2.0
- FIX: override headers with None/null to remove it
2.0.1.0
- FIX: replaying works now when switches declare a BEGIN/END
2.0.0.0
- full rewrite from scratch + new features
1.4.4.0 (02/07/2019)
- FIX: replacing doc was bugged in some complex cases
1.4.3.0 (01/07/2019)
- better release (pytest zzz_OldTest are ok now)
1.4.2.0 (01/07/2019)
- doc is replacable (can embed vars)
1.4.1.0 (01/07/2019)
- FIX: "server is down" & CTRL-C exception handling in async (pytest zzz_OldTest are flaky)
1.4.0.0 (10/06/2019)
- use httpcore 0.4.0
1.3.2.3 BETA: (4/06/2019)
- require httpcore==0.3.0
1.3.2.2 BETA: (28/05/2019)
- better cookiestore
1.3.2.1 BETA: (28/05/2019)
- FIX: parallelizm with begin/end
1.3.1.1 BETA: (27/05/2019)
- console output: better display in parallelism mode
1.3.1.0 BETA: (27/05/2019)
- cookies are stored in env, so parallelism works as excpected (each file has his cookiejar)
1.3.0.2 BETA: (27/05/2019)
- fix: env are cloned when parallelizm
- fix: req.info status_code is now a real int
1.3.0.1 BETA: (27/05/2019)
- fix: request was broken for some type of body
1.3.0.0 BETA: (26/05/2019) "httpcore version 0.3.0"
- use Tom Christie's httpcore 0.3.0 (for sync/async features)
- option --p for parallelism files
- reqman as a module : now a COROUTINE (reqman.testContent( yml: str, env: {}) -> MainReponse)
- FIX: header's values are stringified now
1.2.0.0: (22/05/2019)
- reqman as a module : now a simple reqman.testContent( yml: str, env: {}) -> MainReponse
1.1.8.0: (18/05/2019)
- html escape test name
- display doc line under the test for the reqman.html
1.1.7.0: (18/05/2019)
- module.main now returns something that is usefull when used as a lib
1.1.6.0: (17/05/2019)
- better handle NonPlayable test (coz unresolved params) .. should be ok now !
1.1.5.0: (16/05/2019)
- FIX: reqman run as console script again ;-)
1.1.4.0: (16/05/2019)
- reqman is now a module and a console script (reqman)
1.1.3.0: (16/05/2019)
- ability to send bytes in the body (using a method with return bytes, ex: "body: <<|giveMeBytes>>")
- handle None value as "null" ("" before)
1.1.2.6: (16/05/2019)
- just a correct README.md
1.1.2.5: (16/05/2019)
- type hints (pyright under vscode)
- fix: yaml warning without loader
- fix: another unresolved params won't break the process
1.1.2.4 (27/03/2019)
- FIX: xml output in html wasn't escaped since 1.1.2.1
1.1.2.3 (25/03/2019)
- FIX: yaml encoding detection (utf8|cp1252)
1.1.2.2 (22/03/2019)
- FIX: pytest html output status with "MOCK"
1.1.2.1 (22/03/2019)
- FIX: html output non-encoded non-ascii chars
1.1.2.0 (21/03/2019)
- new "break" command, to forget following commands in a file
1.1.1.0 (18/03/2019)
- FIX: save and path break (unresolved param)
- FIX: resolve param when in a param resolved in body
- better handle NonPlyable test (coz unresolved params)
- pytests 98%cov
1.1.0.1 (18/03/2019)
- FIX: test that foreach section is a list
1.1.0.0 (15/03/2019)
- better (py)tested (97%cov)
- unresolved param non break the tests now (html output is created)
- py38 deprecated warning removed
1.0.1.2 (10/03/2019)
- expose internal things for the new (py)tests purpose only
1.0.1.1 (08/03/2019)
- add optionnal doc'string per request, which is displayed in html output
1.0.1.0 (19/02/2019)
- it's possible to test json str size now !
1.0.0.0 (19/07/2018)
- first release ;-) no change at all
0.9.9.20 (16/07/2018)
- fix: when None is present in <,<=,>,>= -> False
0.9.9.19 (16/07/2018)
- fix: no html response output when http ko
0.9.9.18 (16/07/2018)
- fix: response timeout None -> response timeout
0.9.9.17 (16/07/2018)
- fix: response timeout None -> ""
0.9.9.16 (16/07/2018)
- win patterns
- save inherits
- better html display when not callable
- tests++
- ★★
0.9.9.15 (15/07/2018)
- avoid proc to be bad named - "allez la france!!"
0.9.9.14 (15/07/2018)
- return of dynamic call++
0.9.9.13 (14/07/2018)
- new yaml feed'er, and foreach in foreach works
- control keywords (more robust)
0.9.9.12 (14/07/2018)
- dynamic foreach & more robust (but not foreach in foreach)
0.9.9.11 (14/07/2018)
- remove params as list -> replaced by foreach
0.9.9.10 (13/07/2018)
- assert params is a list or a dict : not str !
0.9.9.9 (13/07/2018)
- params as list -> foreach params : it will request for each param in the list
- regression: no more methods/param in call line (not really useful, and not used (by me or us))
0.9.9.8 (13/07/2018)
- f-string removal to have compatility with py3
0.9.9.72 (12/07/2018)
- just for create a new pip package
0.9.9.71 (12/07/2018)
- minor changes (output troubles in console) (and WHL/wheel release)
0.9.9.7 (11/07/2018)
- ctrl-c render the html output (again ;-)
- test system has been completly rewritten (comparators now works for all tests, and inside list too)
- use f-string now
0.9.9.6 (08/07/2018)
- ctrl-c break the html output (for now)
- FIX: a Test() trouble (exception ignored)
0.9.9.52 (05/07/2018)
- Ctrl-C render html anyway
0.9.9.5 (03/07/2018)
- better comparators, try/catch better, html outpu better
0.9.9.4 (02/07/2018)
- compare full json restult with content
0.9.9.3 (02/07/2018)
- comparators (for json.* & status) are in the box !!
0.9.9.2 (01/07/2018)
- HTML RENDERING : None as ""
0.9.9.1 (29/06/2018)
- first release with all features in (next will be 1.0.0.0)