tempest/tempest/api
Harshada Mangesh Kakad 7519a52761 quota testcases use tenant_name should use tenant_id
Test case related to quota usage (test_show_quota_usage,
test_cinder_quota_defaults and test_cinder_quota_show)
uses tenant name, ideally it should use tenant id as quota
requires UUID of tenant and not tenant name.

Cinder quota-show ideally requires tenant_id to show quota.
As there is bug in cinder (BUG: 1307475) , that if we give
non-existent tenant_id still cinder show the quota and
returns 200 (OK). Hence, these testcases should use
tenant_id and not tenant_name.

Change-Id: Icab25afd482b34290bc74be2ba420f6b016dde18
Closes-Bug: #1321617
2014-11-12 00:45:47 -08:00
..
baremetal Remove checking of non empty resp body for 204 2014-10-24 17:00:58 +09:00
compute Merge "Fix the flavor ram string value" 2014-10-29 16:48:05 +00:00
data_processing Migrate data_processing API tests to resource_* fixtures 2014-09-18 22:05:03 +01:00
database Migrate database API tests to resource_* fixtures 2014-09-18 22:04:01 +01:00
identity Remove checking of non empty resp body for 204 2014-10-24 17:00:58 +09:00
image Add Credentials Provider factory 2014-10-09 12:14:37 +01:00
messaging Remove checking of non empty resp body for 204 2014-10-24 17:00:58 +09:00
network Merge "Create subnet without gateway and explicit IP ver" 2014-11-11 09:41:57 +00:00
object_storage Add Credentials Provider factory 2014-10-09 12:14:37 +01:00
orchestration remove heat test_updates tests 2014-10-03 15:07:13 +00:00
telemetry Revert "Skip telemetry_notification_api test due to bug 1336755" 2014-10-03 13:02:21 +04:00
volume quota testcases use tenant_name should use tenant_id 2014-11-12 00:45:47 -08:00
README.rst Add links to the field guide index 2014-07-25 16:03:08 -04:00
__init__.py Remove copyright from empty files 2014-01-14 03:02:04 +04:00
utils.py Prepare for enabling H302 (identity,volume,etc.) 2014-02-20 15:37:03 +09:00

README.rst

Tempest Field Guide to API tests

What are these tests?

One of Tempest's prime function is to ensure that your OpenStack cloud works with the OpenStack API as documented. The current largest portion of Tempest code is devoted to test cases that do exactly this.

It's also important to test not only the expected positive path on APIs, but also to provide them with invalid data to ensure they fail in expected and documented ways. Over the course of the OpenStack project Tempest has discovered many fundamental bugs by doing just this.

In order for some APIs to return meaningful results, there must be enough data in the system. This means these tests might start by spinning up a server, image, etc, then operating on it.

Why are these tests in tempest?

This is one of the core missions for the Tempest project, and where it started. Many people use this bit of function in Tempest to ensure their clouds haven't broken the OpenStack API.

It could be argued that some of the negative testing could be done back in the projects themselves, and we might evolve there over time, but currently in the OpenStack gate this is a fundamentally important place to keep things.

Scope of these tests

API tests should always use the Tempest implementation of the OpenStack API, as we want to ensure that bugs aren't hidden by the official clients.

They should test specific API calls, and can build up complex state if it's needed for the API call to be meaningful.

They should send not only good data, but bad data at the API and look for error codes.

They should all be able to be run on their own, not depending on the state created by a previous test.