When Tempest is used in customer site, often we are required to
provide a testcase list including testcase names and descriptions.
Now no this kind of doc is available, so we can add descriptions
with the format of doc string for every testcase, so later we
can generata such a testcase description list.
There are hundreds of testcases missing descriptions, so we can
add them gradually, and limit the modified files in one patch
for the convenience of reviewing.
partially-implements: blueprint testcase-description
Many of the method of object_client accept many headers and
This commit makes them to accept all headers and query param.
Partially implements blueprint consistent-service-method-names
Move the create_container and create_object methods
out of test files into base.py to reduce code
Same pattern as in other base.py files.
Refactored setUp and cleanUp methods.
Now that tempest_lib code is copied back into tempest, stop using
tempest_lib in tempest, and start using the copied code.
Remove the dependency to tempest_lib from requirements, and drop
the script to use tempest_lib in tempest. Add os-testr to the
Partially implements bp tempest-lib-reintegration
A version of data_utils.rand_name in tempest_lib was created in tempest to
include a prefix specified in the conf file. This commit changes the
data_utils imports to use the new one in tempest.
There is a bug https://bugs.launchpad.net/tempest/+bug/1452915
that describes failing test_get_object_after_expiry_time test
because in real clouds hardcoded 3 seconds waiting for the
container is not enough. Replaced hardcoded 3 seconds with the
checking and waiting in a loop for object to be deleted.
This removes all bare gate attribute tags from functions, the gate tag
was a never fully implemented idea in the past, and it's existence in
the code mostly just confuses people.
Adds uuid4 as a decorator of the form:
to every test in the Tempest tree. Includes a gate check to
ensure the existence and uniqueness of the ids.
Modify check tool to ignore Tempest unit tests.
Co-Authored-By: Sergey Slipushenko <firstname.lastname@example.org>
Implements: bp test-uuid
When testing object expiration there are a lot of factors in
play, including the amount of time that rest calls take between
when we set the expiration, and when we eventually want to check.
If the time in the future is too close then our GET calls have
a real chance of 404ing because the object is gone.
So we should provide more slack to begin with (10 seconds) and
then a variable sleep time at the end to check objects 3 seconds
after they should have expired.
We can use H302 rule but ignore it now. This commit prepares for
enabling H302 rule. But this commit modifies tempest/api/object_storage
only and excludes some violations because if we fix all of them at
one time, it's hard to merge this commit.
The X-Delete-At value might already be in the past after the initial
object creation because the current time is used to set the
X-Delete-At value. Creating the initial object before starting each
test prevents this.
According to the comments in bug #1069849 container
listing will list an expired object (normal behavior).
This is up to the client to handle that a DELETE on
an expired object will return a 404 error.
delete_container method does not take care of any
HTTP return code for object deletion.
This patch remove the skip_because statement as the
test works as expected and not fails in tearDownClass.
This patch also add a test for metadata X-Delete-At.
All HTTP response headers of APIs for each Swift middleware are checked
their existence and format as those of Swift 'standard' API are.
HACKING officially discourages symbol import directly because it makes
it harder to track down that a function was imported. Recently, we keep
this rule but there are many code that don't keep it.
This commit cleanups them.
Some files still use trademark OpenStack LLC in header, which
should be changed to OpenStack Foundation.
NOTE: tools/install_venv.py is not synced from oslo-incubator, so
it is modified too.
this is an attempt to uniform skip messages and ensure multi-line
skips are correctly accounted by https://review.openstack.org/#/c/42424/
I think a future update to hacking/checks.py is also needed
Ensure the setUpClass/tearDownClass methods calls the super properly.
The setUpClass call tested at setUp time, the tearDownClass at exit
super calling issues are also fixed.
Implements blueprint stop-leaking
Remove the following tags/attributes from our tests:
S3, EC2, slow, bug=lp912922, bug='lp1170718',
Now, we are left with:
Tag Total # of instances
'NO TAG' 192
Attribute Total # of instances
Now that all the other tests are moved out of the tests directory
we can rename tests -> api to reflect that these tests are api
testing, and need to use only the internal clients.
Clean up references from other parts of OpenStack to the new api
Reorder the imports as required with this naming change.