Metadata-Version: 2.1
Name: k5test
Version: 0.10.4
Summary: A library for testing Python applications in self-contained Kerberos 5 environments
Home-page: https://github.com/pythongssapi/k5test
Author: The Python GSSAPI Team
Author-email: sross@redhat.com
Keywords: gssapi,security
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: ISC License (ISCL)
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Security
Requires-Python: >=3.6
License-File: LICENSE.txt
License-File: K5TEST-LICENSE.txt
Provides-Extra: extension-test
Requires-Dist: gssapi; extra == "extension-test"

K5Test
======

*k5test* is a library for setting up self-contained Kerberos 5 environments,
and running Python unit tests inside those environments.  It is based on
the file of the same name found alongside the MIT Kerberos 5 unit tests.

Using k5test to set up a Kerberos 5 deployment
----------------------------------------------

*k5test* can be used to set up a self-contained MIT krb5 or Heimdal
environment.  This is useful for testing applications without having to
manipulate existing Kerberos realms, or having to set up a full Kerberos
deployment by hand.

To set up a realm, use the `k5test.K5Realm` class.  The constructor accepts
several useful arguments for controlling which parts get set up; refer to the
inline documentation for more information.

Using k5test to run unit tests
------------------------------

Instead of having test cases inherit from `unittest.TestCase`, inherit from
`k5test.KerberosTestCase`, which will automatically set up a Kerberos 5
environment, before the test case, and tear it down afterwards.

Additionally, several decorators are defined.  the
`k5test.gssapi_extension_test(extension_name, human_readable_name)` decorator
(which requires `python-gssapi`) allows you to skip tests with installations
that don't support a particular GSSAPI extension.  The the
`k5test.krb_minversion_test(target_version, problem_name)` decorator allows
you to skip tests when running a version of krb5 less that the required
version.  The `k5test.krb_plugin_test(plugin_type, plugin_name)` decorator
allows you to skip tests for installations that don't have a particular plugin
installed.
