gabbi Package¶
case
Module¶
driver
Module¶
suitemaker
Module¶
fixture
Module¶
Manage fixtures for gabbi at the test suite level.
-
class
gabbi.fixture.
GabbiFixture
¶ Bases:
object
A context manager that operates as a fixture.
Subclasses must implement
start_fixture
andstop_fixture
, each of which contain the logic for stopping and starting whatever the fixture is. What a fixture is is left as an exercise for the implementor.These context managers will be nested so any actual work needs to happen in
start_fixture
andstop_fixture
and not in__init__
. Otherwise exception handling will not work properly.-
start_fixture
()¶ Implement the actual workings of starting the fixture here.
-
stop_fixture
()¶ Implement the actual workings of stopping the fixture here.
-
-
exception
gabbi.fixture.
GabbiFixtureError
¶ Bases:
exceptions.Exception
Generic exception for GabbiFixture.
-
class
gabbi.fixture.
SkipAllFixture
¶ Bases:
gabbi.fixture.GabbiFixture
A fixture that skips all the tests in the current suite.
-
start_fixture
()¶ Implement the actual workings of starting the fixture here.
-
-
gabbi.fixture.
nest
(*args, **kwds)¶ Nest a series of fixtures.
This is duplicated from
nested
in the stdlib, which has been deprecated because of issues with how exceptions are difficult to handle during__init__
. Gabbi needs to nest an unknown number of fixtures dynamically, so thewith
syntax that replacesnested
will not work.
handlers
Module¶
handlers.base
Module¶
handlers.core
Module¶
handlers.jsonhandler
Module¶
handlers.yaml_disk_loading_jsonhandler
Module¶
suite
Module¶
A TestSuite for containing gabbi tests.
This suite has two features: the contained tests are ordered and there are suite-level fixtures that operate as context managers.
-
class
gabbi.suite.
GabbiSuite
(tests=())¶ Bases:
unittest.suite.TestSuite
A TestSuite with fixtures.
The suite wraps the tests with a set of nested context managers that operate as fixtures.
If a fixture raises unittest.case.SkipTest during setup, all the tests in this suite will be skipped.
-
run
(result, debug=False)¶ Override TestSuite run to start suite-level fixtures.
To avoid exception confusion, use a null Fixture when there are no fixtures.
-
start
(result, tests=None)¶ Start fixtures when using pytest.
-
stop
()¶ Stop fixtures when using pytest.
-
-
gabbi.suite.
noop
(*args)¶ A noop method used to disable collected tests.
runner
Module¶
reporter
Module¶
TestRunner and TestResult for gabbi-run.
-
class
gabbi.reporter.
ConciseTestResult
(stream, descriptions, verbosity)¶ Bases:
unittest.runner.TextTestResult
A TextTestResult with simple but useful output.
If the output is a tty or GABBI_FORCE_COLOR is set in the environment, output will be colorized.
-
addError
(test, err)¶ Called when an error has occurred. ‘err’ is a tuple of values as returned by sys.exc_info().
-
addExpectedFailure
(test, err)¶ Called when an expected failure/error occurred.
-
addFailure
(test, err)¶ Called when an error has occurred. ‘err’ is a tuple of values as returned by sys.exc_info().
-
addSkip
(test, reason)¶ Called when a test is skipped.
-
addSuccess
(test)¶ Called when a test has completed successfully
-
addUnexpectedSuccess
(test)¶ Called when a test was expected to fail, but succeed.
-
getDescription
(test)¶
-
printErrorList
(flavor, errors)¶
-
startTest
(test)¶ Called when the given test is about to be run
-
-
class
gabbi.reporter.
ConciseTestRunner
(stream=<open file '<stderr>', mode 'w'>, descriptions=True, verbosity=1, failfast=False, buffer=False, resultclass=None)¶ Bases:
unittest.runner.TextTestRunner
A TextTestRunner that uses ConciseTestResult for reporting results.
-
resultclass
¶ alias of
ConciseTestResult
-
-
class
gabbi.reporter.
PyTestResult
(stream=None, descriptions=None, verbosity=None)¶ Bases:
unittest.result.TestResult
Wrap a test result to allow it to work with pytest.
The main behaviors here are:
- to turn what had been exceptions back into exceptions
- use pytest’s skip and xfail methods
-
addError
(test, err)¶ Called when an error has occurred. ‘err’ is a tuple of values as returned by sys.exc_info().
-
addExpectedFailure
(test, err)¶ Called when an expected failure/error occurred.
-
addFailure
(test, err)¶ Called when an error has occurred. ‘err’ is a tuple of values as returned by sys.exc_info().
-
addSkip
(test, reason)¶ Called when a test is skipped.
utils
Module¶
Utility functions grab bag.
-
gabbi.utils.
create_url
(base_url, host, port=None, prefix='', ssl=False)¶ Given pieces of a path-based url, return a fully qualified url.
-
gabbi.utils.
decode_response_content
(header_dict, content)¶ Decode content to a proper string.
-
gabbi.utils.
extract_content_type
(header_dict, default='application/binary')¶ Extract parsed content-type from headers.
-
gabbi.utils.
get_colorizer
(stream)¶ Return a function to colorize a string.
Only if stream is a tty .
-
gabbi.utils.
host_info_from_target
(target, prefix=None)¶ Turn url or host:port and target into test destination.
-
gabbi.utils.
load_yaml
(handle=None, yaml_file=None, safe=True)¶ Read and parse any YAML file or filehandle.
Let exceptions flow where they may.
If no file or handle is provided, read from STDIN.
-
gabbi.utils.
not_binary
(content_type)¶ Decide if something is content we’d like to treat as a string.
-
gabbi.utils.
parse_content_type
(content_type, default_charset='utf-8')¶ Parse content type value for media type and charset.
exception
Module¶
Gabbi specific exceptions.
-
exception
gabbi.exception.
GabbiDataLoadError
¶ Bases:
exceptions.ValueError
An exception to alert when data streams cannot be loaded.
-
exception
gabbi.exception.
GabbiFormatError
¶ Bases:
exceptions.ValueError
An exception to encapsulate poorly formed test data.
-
exception
gabbi.exception.
GabbiSyntaxWarning
¶ Bases:
exceptions.SyntaxWarning
A warning about syntax that is not desirable.