Skip to content

A library for setting up self-contained Kerberos 5 environments (based on code from MIT krb5, but supports Heimdal)

License

Notifications You must be signed in to change notification settings

pythongssapi/k5test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

349b79e · Nov 11, 2024

History

33 Commits
May 31, 2023
Nov 11, 2024
Jun 2, 2015
Oct 11, 2021
Aug 17, 2021
Jun 2, 2015
Jun 2, 2015
Jun 2, 2015
Aug 16, 2021
Oct 26, 2022
Oct 11, 2021
Mar 20, 2024

Repository files navigation

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.

About

A library for setting up self-contained Kerberos 5 environments (based on code from MIT krb5, but supports Heimdal)

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages