tempest/tempest/scenario
Ghanshyam Mann 18b45d7285 Moving API microversion fixture in resource_setup
API microversion fixture is used to set the API
microversion on service client and reset it back
after test execution. That is done in setUp()
method and due to that API microversion is not
set on service client during resource_setup()
method and any API call will be requested on base
version.

To sync the complete test execution of test class
with requested API microversion, this commit moves
the API microversion setting in resource_setup()
method.

Closes-Bug: #1881863

Change-Id: Ia4b884a79cc0e50057dd57090737332bd76da37e
2021-12-11 09:20:55 -06:00
..
README.rst Fix docs markup consistency 2017-11-21 19:02:54 +09:00
__init__.py add scenario directory 2013-05-17 08:52:22 -04:00
manager.py Moving API microversion fixture in resource_setup 2021-12-11 09:20:55 -06:00
test_aggregates_basic_ops.py Skip adding host to aggregate with az if host already in other zone 2020-10-12 20:10:25 +00:00
test_dashboard_basic_ops.py Move horizon test from tempest-horizon to tempest 2021-01-22 00:11:44 +00:00
test_encrypted_cinder_volumes.py test_encrypted_cinder_volumes: Do not create an image for this test 2021-01-22 10:10:32 +00:00
test_minimum_basic.py Add floating IP waiter 2021-10-14 10:44:57 -04:00
test_network_advanced_server_ops.py Rename create_networks to correct name as per its functionality 2021-03-25 18:21:28 +00:00
test_network_basic_ops.py [OVN] Remove OVN metadata ports from network port list 2021-09-09 16:51:39 +00:00
test_network_qos_placement.py Consolidate client usage in MinBwAllocationPlacementTest 2021-11-02 18:18:26 +01:00
test_network_v6.py Merge "Make _get_router() non-private" 2021-03-09 00:46:29 +00:00
test_object_storage_basic_ops.py docs: Fix incorrect docstrings in reStructuredText format 2018-11-21 19:06:43 -06:00
test_security_groups_basic_ops.py Rename create_networks to correct name as per its functionality 2021-03-25 18:21:28 +00:00
test_server_advanced_ops.py Create default network for server advance scenario tests 2021-02-08 16:58:07 -06:00
test_server_basic_ops.py Move floating IP operation from nova-network to neutron 2021-03-25 18:21:12 +00:00
test_server_multinode.py Move test decorators to common 2017-08-23 17:09:33 +00:00
test_shelve_instance.py Make _create_security_group() non-private 2021-03-01 18:47:09 +05:30
test_snapshot_pattern.py Make _create_security_group() non-private 2021-03-01 18:47:09 +05:30
test_stamp_pattern.py Make _create_security_group() non-private 2021-03-01 18:47:09 +05:30
test_unified_limits.py Add tests for glance unified quotas 2021-07-16 08:11:08 -07:00
test_volume_backup_restore.py Move floating IP operation from nova-network to neutron 2021-03-25 18:21:12 +00:00
test_volume_boot_pattern.py Make _create_security_group() non-private 2021-03-01 18:47:09 +05:30
test_volume_migrate_attached.py Make _create_security_group() non-private 2021-03-01 18:47:09 +05:30

README.rst

Tempest Field Guide to Scenario tests

What are these tests?

Scenario tests are "through path" tests of OpenStack function. Complicated setups where one part might depend on completion of a previous part. They ideally involve the integration between multiple OpenStack services to exercise the touch points between them.

Any scenario test should have a real-life use case. An example would be:

  • "As operator I want to start with a blank environment":
    1. upload a glance image
    2. deploy a vm from it
    3. ssh to the guest
    4. create a snapshot of the vm

Why are these tests in Tempest?

This is one of Tempest's core purposes, testing the integration between projects.

Scope of these tests

Scenario 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.

Tests should be tagged with which services they exercise, as determined by which client libraries are used directly by the test.

Example of a good test

While we are looking for interaction of 2 or more services, be specific in your interactions. A giant "this is my data center" smoke test is hard to debug when it goes wrong.

A flow of interactions between Glance and Nova, like in the introduction, is a good example. Especially if it involves a repeated interaction when a resource is setup, modified, detached, and then reused later again.