File: release.rst

package info (click to toggle)
python-gabbi 3.0.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 932 kB
  • sloc: python: 3,711; makefile: 60; sh: 32
file content (448 lines) | stat: -rw-r--r-- 10,335 bytes parent folder | download
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
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
Release Notes
=============

These are informal release notes for gabbi since version 1.0.0,
highlighting major features and changes. For more detail see
the `commit logs`_ on GitHub.

3.0.0
-----

* Add support for regular expressions in ``response_strings`` values.

This is being done as a major release because it has a chance of breaking
existing tests that use response_strings values that look like regular
expressions but are not.

2.11.0
-----

* Corrected support for Python 3.12

2.10.0
------

Remove use of six. Thanks to Alexandre Detiste.

2.9.0
-----

* Pin to urllib3 <2.0.0 to avoid issues with changes in constructors.

2.8.0
-----

* Add timeout parameter per test, defaulting to 30 seconds.
* Ensure stestr > 4.0.0 in test-requirements.txt

2.7.2
-----

* Handle SNI when ``host`` request header is any case.

2.7.1
-----

* Clear the PoolManager after each test to avoid running out of socket file
  descriptors.

2.7.0
-----

* Add ``-l`` argument to :doc:`gabbi-run <runner>` to allow loading content
  and response handlers relative to the local directory.

2.6.0
-----
* Fix naming of tests when using pytest. This changes means that setting
  ``test_loader_name`` is now **required** when using pytest.

2.5.0
-----
* Support SNI in https requests when ``host`` request header is set.

2.4.0
-----
* Publish a docker container that runs :doc:`gabbi-run <runner>` with each
  tagged release.


2.3.0
-----
* For the ``$ENVIRON`` and ``$RESPONSE`` :ref:`substitutions <state-substitution>`
  it is now possible to :ref:`cast <casting>` the value to a type of ``int``,
  ``float``, ``str``, or ``bool``.
* The ``JSONHandler`` is now more strict about how it detects that a body
  content is JSON, avoiding some errors where the content-type header suggests
  JSON but the content cannot be decoded as such.
* Better error message when content cannot be decoded.
* Addition of the ``disable_response_handler`` test setting for those cases
  when the test author has no control over the content-type header and it is
  wrong.

2.2.0
-----

* Allow substitutions in `skip` for more flexible skipping, notablly with
  ``$ENVIRON``.
* Better test name output when running with unittest and verbose.

2.1.0
-----

* Remove support for Python 3.5. Ensure testing support for 3.8,
  3.9, and pypy3.
* Adapt to new behavior in ``urllib.parse``.
* Correct fixture start when using pytest.

2.0.4
-----

* If no content-type is provided with a response and verbose is on for
  responses, display the response body as if it were text.

2.0.3
-----

* Properly declare that gabbi 2.x is Python 3 only.

2.0.1
-----

* Correct management of response handler default fields.

2.0.0
-----

* Drop support for Python 2. If you need Python 2 support, use an older version.
* Stop using ``testtools`` and ``fixtures``. These two modules present several
  difficulties and their maintenance situation suggests those difficulties
  will not be resolved. Since Python 2 support is being removed, the need for
  the modules can be removed as well without losing functionality. "Inner
  fixtures" that use the ``fixtures.Fixture`` interface should continue to
  work.

1.49.0
------

* Add support for not validating certificates in ``https`` requests. Controlled
  by the ``cert_validate`` attribute in individual tests and
  :meth:`~gabbi.driver.build_tests` and the ``-k`` or ``--insecure`` argument to
  :doc:`gabbi-run <runner>`.

1.48.0
------

* Support ``pytest 5.0.0`` in Python ``>=3.5``. For earlier versions of Python,
  ``pytest<5.0.0`` will be used; the pytest project is dropping support for
  older versions of Python.

1.47.0
------

* Use ``pytest<5.0.0`` until gabbi has solutions for the changes in ``5.0.0``.

1.46.0
------

* A ``-q`` argument is added to :doc:`gabbi-run <runner>` to suppress output
  from the test runner.

1.45.0
------

* Adjust loading of YAML to be ready for new release of PyYAML.

1.44.0
------

* Provide the
  :class:`~gabbi.handlers.yaml_disk_loading_jsonhandler.YAMLDiskLoadingJSONHandler`
  class that allows test result data for ``response_json_path``
  checks to be loaded from YAML-on-disk.

1.43.0
------

* Use :ref:`jsonpath` to select a portion of data-on-disk in
  ``response_json_path`` checks.
* Restrict PyYAML to ``<4.0``.

1.42.0
------

* Allow listing of tests with no host configured. When host is
  an empty string, tests can be listed (for discovery), but will
  be skipped on run.

1.41.0
------

* JSON ``$RESPONSE`` :ref:`substitutions <state-substitution>` in
  the ``data`` field may be complex types (lists and dicts), not
  solely strings.

1.40.0
------

* When the HTTP response begins with a bad status line, have
  BadStatusLine be raised from urllib3.

1.39.0
------

* Allow :ref:`substitutions <state-substitution>` in the key portion
  of request and response headers, not just the value.

1.38.0
------

* Remove support for Python 3.3.
* Make handling of fixture-level skips in pytest actually work.

1.37.0
------

* Add ``safe_yaml`` parameter to :meth:`~gabbi.driver.build_tests`.

1.36.0
------

* ``use_prior_test`` is added to test :ref:`metadata`.
* Extensive cleanups in regular expression handling when constructing
  tests from YAML.

1.35.0
------

:doc:`jsonpath` handling gets two improvements:

* The value side of a ``response_json_paths`` entry can be loaded
  from a file using the ``<@file.json`` syntax also used in
  :ref:`data`.
* The key side of a ``response_json_paths`` entry can use
  :ref:`substitutions <state-substitution>`. This was already true
  for the value side.

1.34.0
------

:ref:`Substitutions <state-substitution>` in ``$RESPONSE`` handling
now preserve numeric types instead of casting to a string. This is
useful when servers are expecting strong types and tests want to
send response data back to the server.

1.33.0
------

``count`` and ``delay`` test keys allow :ref:`substitutions
<state-substitution>`. :meth:`gabbi.driver.build_tests` accepts
a ``verbose`` parameter to set test :ref:`verbosity <metadata>` for
an entire session.

1.32.0
------

Better failure reporting when using :doc:`gabbi-run <runner>` with
multiple files. Test names are based on the files and a summary of
failed files is provided at the end of the report.

1.31.0
------

Effectively capture a failure in a :doc:`fixture <fixtures>` and
report the traceback. Without this some test runners swallow the
error and discovering problems when developing fixtures can be quite
challenging.

1.30.0
------

Thanks to Samuel Fekete, tests can use the ``$HISTORY`` dictionary
to refer to any prior test in the same file, not just the one
immediately prior, when doing :ref:`substitutions <state-substitution>`.

1.29.0
------

Filenames used to read data into tests using the ``<@`` syntax
may now use pathnames relative to the YAML file. See :ref:`data`.

:doc:`gabbi-run <runner>` gains a --verbose parameter to force
all tests run in a session to run with :ref:`verbose <metadata>`
set.

When using :ref:`pytest <pytest_loader>` to load tests, a new
mechanism is available which avoids warnings produced in when using
a version of pytest greater than ``3.0``.

1.28.0
------

When verbosely displaying request and response bodies that are
JSON, pretty print for improved readability.

1.27.0
------

Allow :doc:`gabbi-run <runner>` to accept multiple filenames as
command line arguments instead of reading tests from stdin.

1.26.0
------

Switch from response handlers to :doc:`handlers` to allow more
flexible processing of both response _and_ request bodies.

Add :ref:`inner fixtures <inner-fixtures>` for per test fixtures,
useful for output capturing.

1.25.0
------

Allow the ``test_loader_name`` arg to
:meth:`gabbi.driver.build_tests` to override the prefix of the
pretty printed name of generated tests.

1.24.0
------

String values in JSONPath matches may be wrapped in ``/.../``` to be
treated as regular expressions.

1.23.0
------

Better :doc:`documentation <loader>` of how to run gabbi in a
concurrent environment. Improved handling of pytest fixtures and
test counts.

1.22.0
------

Add ``url`` to :meth:`gabbi.driver.build_tests` to use instead of
``host``, ``port`` and ``prefix``.

1.21.0
------

Add ``require_ssl`` to :meth:`gabbi.driver.build_tests` to force use
of SSL.

1.20.0
------

Add ``$COOKIE`` :ref:`substitution <state-substitution>`.

1.19.1
------

Correctly support IPV6 hosts.

1.19.0
------

Add ``$LAST_URL`` :ref:`substitution <state-substitution>`.

1.17.0
------

Introduce support for loading and running tests with pytest.

1.16.0
------

Use urllib3 instead of httplib2 for driving HTTP requests.

1.13.0
------

Add sorting and filtering to :doc:`jsonpath` handling.

1.11.0
------

Add the ``response_forbidden_headers`` to :ref:`response expectations
<response-expectations>`.

1.7.0
-----

.. highlight:: yaml

Instead of::

    tests:
    - name: a simple get
      url: /some/path
      method: get

1.7.0 also makes it possible to::

    tests:
    - name: a simple get
      GET: /some/path

Any upper case key is treated as a method.

1.4.0 and 1.5.0
---------------

Enhanced flexibility and colorization when setting tests to be
:ref:`verbose <metadata>`.

1.3.0
-----

Adds the ``query_parameters`` key to :ref:`request parameters
<request-parameters>`.

1.2.0
-----

The start of improvements and extensions to :doc:`jsonpath`
handling. In this case the addition of the ``len`` function.

1.1.0
-----

Vastly improved output and behavior in :doc:`gabbi-run <runner>`.

1.0.0
-----

Version 1 was the first release with a commitment to a stable
:doc:`format`. Since then new fields have been added but have not
been taken away.

Contributors
============

The following people have contributed code to gabbi. Thanks to them.
Thanks also to all the people who have made gabbi better by
reporting issues_ and their successes and failures with using
gabbi.

* Chris Dent
* FND
* Mehdi Abaakouk
* Tom Viner
* Jason Myers
* Josh Leeb-du Toit
* Duc Truong
* Zane Bitter
* Ryan Spencer
* Kim Raymoure
* Travis Truman
* Samuel Fekete
* Michael McCune
* Imran Hayder
* Julien Danjou
* Trevor McCasland
* Danek Duvall
* Marc Abramowitz
* Scott Wallace
* Alexandre Detiste

.. _commit logs: https://github.com/cdent/gabbi/commits
.. _issues: https://github.com/cdent/gabbi/issues