This change leverages the nine default personas available in tempest[1]
to demonstrate a potential framework for testing default policies. An
abstract base class is created that helps set up credentials and
outlines every policy that needs to be tested, then nine subclasses are
created to test every persona. Each test represents one policy rule, and
some tests make multiple requests in order to test the policy from
different approaches, for example, to check what happens if a different
domain is specified, or what happens if the resource does not exist.
The idea here is to be very verbose and explicit about what is being
tested: every policy gets one test in the base class, and each persona
is tested in a subclass. The layout should be easy to understand and
someone reading the code should not be left guessing whether a case is
missing or if there is magic happening in the background that is causing
a false positive or false negative.
This is intended to replace the unittest protection tests currently
in place.
[1] https://review.opendev.org/686306 (this will require additional
devstack and keystone configuration to work properly in CI)
Depends-on: https://review.opendev.org/686306
Depends-on: https://review.opendev.org/699051
Depends-on: https://review.opendev.org/699519
Depends-on: https://review.opendev.org/700826
Depends-on: https://review.opendev.org/743853
Depends-on: https://review.opendev.org/744087
Depends-on: https://review.opendev.org/744268
Depends-on: https://review.opendev.org/731087
Change-Id: Icb5317b9297230490bd783fe9b07c8db244c06f8
Update docs building and cleanup a bit:
* Update requirements for Sphinx and openstackdocstheme for
python 3, create doc/requirements.txt for these
* Remove unneeded doc and translation sections from setup.cfg
* Remove install_command, it's unneeded, the default is fine,
move constraints into deps, use TOX_CONSTRAINTS instead of
obsolete UPPER_CONSTRAINTS
* Use new variables from updated openstackdocstheme
Change-Id: I659a8736195ff621032b4fb3bd7a72fa616cf8c6
As per the community goal drop python2.7 [1], tempest is dropping
py3.5 and asked to drop from its plugins too.
[1]lists.openstack.org/pipermail/openstack-discuss/2020-February/012310.html
Change-Id: I40d40c58a77c58533da543d59cdb4549a1d20d45
Use sphinx-build instead of the pbr sphinx extention for building docs
as instructed by the PTI[1].
It fixes the header formatting for the index page, as the headers weren't
rendering at all.
[1] https://governance.openstack.org/tc/reference/pti/python.html
Change-Id: Ibac2b45ecfab4a7e575d097ecb9fc2c5e57b81cf
We want to default to running all tox environments under python 3, so
set the basepython value in each environment.
We do not want to specify a minor version number, because we do not
want to have to update the file every time we upgrade python.
We do not want to set the override once in testenv, because that
breaks the more specific versions used in default environments like
py35 and py36.
Change-Id: I7dbb16f6fb0b3e4e3932e0c26569d55208f39ee4
In setup.cfg file the python 3.4 support is removed
and added 3.5
In tox.ini the python 3.5 is added
Change-Id: Ice4dd6734f75c357de18da0a86167c0a1174506c
This tempest plugin is being split out of the main keystone project in
accordance with Queens goal "Split Tempest Plugins into Separate
Repos/Projects"[1]. This patch applies the standard boilerplate files
for OpenStack projects so that it can stand on its own.
[1] https://governance.openstack.org/tc/goals/queens/split-tempest-plugins.html