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.
Change-Id: Ib0df766d305ab2583d284d4c0aed32e7685eb595
partially-implements: blueprint testcase-description
Many of the method of object_client accept many headers and
query param.
This commit makes them to accept all headers and query param.
Partially implements blueprint consistent-service-method-names
Change-Id: I80668c00a38db00958bbe54421e69798d54482d7
So many modules are using test.idempotent_id and this is for
switching to decorators.idempotent_id on object_storage.
Change-Id: I200875e4c4c61127c8dd430f09e5a9a24a03a129
Related-Bug: #1616913
Move the create_container and create_object methods
out of test files into base.py to reduce code
duplication.
Same pattern as in other base.py files.
Refactored setUp and cleanUp methods.
Change-Id: Ibec4e6a7e4e544a2311d5c44af17103854c78021
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
test-requirements.
Partially implements bp tempest-lib-reintegration
Change-Id: I21ab5fe6349f72c98ac9f960a29bf62e813f8b1b
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.
Change-Id: Ie3fb5c3ac9afe365bf24e40b00be88d66da7c507
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.
Change-Id: If90d9ef047344e2e094aa1b143c93c9fa4b56fbd
Closes-Bug: #1452915
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.
Change-Id: I462ca7a8cadeb5013e2bce44ed1e69bcf8f9d968
This commit removes all the utils code which has been migrated to
tempest-lib and updates the uses of it to point to the library instead.
Change-Id: I9207641aa91c0ea7feb8e067316fc220880c3a3b
Adds uuid4 as a decorator of the form:
@test.idempotent_id('12345678-1234-1234-1234-123456789abc')
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.
Change-Id: I19e3c7dd555a3ea09d585fb9091c357a300e6559
Co-Authored-By: Sergey Slipushenko <sslypushenko@mirantis.com>
Implements: bp test-uuid
This commit changes tempest.exceptions.NotFound to
tempest_lib.exceptions.NotFound. This is one of the migrating
rest client to tempest-lib works.
Change-Id: I2be04f600e6bd8d7d78948d25395d8e04fa0dea3
Based on an original work by Swapnil Kulkarni in
I6a5511969d0432345529da6cd82544d2f8187468
Partially Implements blueprint: client-checks-success
Change-Id: I80bc2c2723bfeabb35fafc2b5733800ab5449f8c
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.
Closes-Bug: #1304119
Change-Id: I890bdbc14c926ba07f43d60ef5544ff37069d5df
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[1] because if we fix all of them at
one time, it's hard to merge this commit.
[1]
tempest.test.attr
tempest.common.rest_client.RestClient
tempest.common.rest_client.RestClientXML
tempest.services.compute.xml.common.xml_to_json
tempest.services.compute.xml.common.Element
tempest.services.compute.xml.common.Document
tempest.services.compute.xml.common.Text
tempest.services.compute.xml.common.XMLNS_11
tempest.services.compute.xml.common.XMLNS_V3
tempest/clients.py
Change-Id: Ieaa403500e6d287ee2eac2ccdf921c7eca1e6e61
We don't need to have the vim headers in each source files. We can set
it in our vimrc file instead. Also if set incorrectly, gate (pep8 check)
will catch the mistakes.
More discussions:
http://lists.openstack.org/pipermail/openstack-dev/2013-October/017353.html
Change-Id: I43703e2289212389c7841f44691ae7849ed1f505
Closes-Bug: #1229324
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.
Change-Id: Id892e802601b50d4eeadbf5b857212adef591456
Closes-Bug: #1269597
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.
Change-Id: I6c6efa151fd7b64684b25b049539680a3766e0cd
All HTTP response headers of APIs for each Swift middleware are checked
their existence and format as those of Swift 'standard' API are.
Change-Id: I45005861873af66a126a3ebe0b04dd84c9a26eda
Closes-Bug: #1240856
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.
Change-Id: Ibda1a5e424280bad8535ee27f66dec99bf68f676
this change introduces a skip_because decorator which accepts two args
a bug and a condition; also updates the skip tracker accordingly
Change-Id: If53f2ef81d6bddbce284267216254b467046855f
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.
Change-Id: I0084684ff5225076291fea857eb010d638291bd0
Fixes-Bug: #1214176
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
Change-Id: I8ef1ac22a8b137f397847d217467df5572afde43
Ensure the setUpClass/tearDownClass methods calls the super properly.
The setUpClass call tested at setUp time, the tearDownClass at exit
time.
super calling issues are also fixed.
Implements blueprint stop-leaking
Closes-Bug: #1212071
Change-Id: I266efe0cd363b330b1511e7e983dab9f62778848
The same piece of code was used in almost every tearDownClass method, moved it
into a separate method to remove code redundancy.
Change-Id: I173af3f46fc2f6771237ab29b472249b00a9ed2d
Remove the following tags/attributes from our tests:
S3, EC2, slow, bug=lp912922, bug='lp1170718',
category='server-addresses', category='live-migration',
nagative, type='regression'
Now, we are left with:
Tag Total # of instances
-------------------- --------------------
'NO TAG' 192
gate 62
negative 172
positive 110
smoke 89
whitebox 2
Attribute Total # of instances
-------------------- --------------------
type 408
Change-Id: Idab48a7e1a53a3d64fb57ae3cd3975d665180aeb
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
namespace.
Reorder the imports as required with this naming change.
Added README.rst
Change-Id: I19203957f917b59e7c8a3838c590937752461a2f