Updated documentation to reflect new block storage support.
[snaps.git] / docs / how-to-use / APITests.rst
index 0a96cd3..3ac272b 100644 (file)
@@ -34,6 +34,18 @@ nova_utils_tests.py - NovaSmokeTests
 Ensures that a Nova client can be obtained as well as the proper
 exceptions thrown with the wrong credentials.
 
+cinder_utils_tests.py - CinderSmokeTests
+----------------------------------------
+
+Ensures that a Cinder client can be obtained as well as the proper
+exceptions thrown with the wrong credentials.
+
+heat_utils_tests.py - HeatSmokeTests
+------------------------------------
+
+Ensures that a Heat client can be obtained as well as the proper
+exceptions thrown with the wrong credentials.
+
 keystone_utils_tests.py - KeystoneUtilsTests
 --------------------------------------------
 
@@ -55,6 +67,12 @@ keystone_utils_tests.py - KeystoneUtilsTests
 | test_get_endpoint_fail_without   | 2 & 3         | Tests to ensure that improper credentials and proper      |
 | _proper_credentials              |               | service type cannot succeed                               |
 +----------------------------------+---------------+-----------------------------------------------------------+
+| test_get_endpoint_with_each      | 2 & 3         | Tests to ensure that an interface URL is returned for each|
+| _interface                       |               | supported interface type (i.e. public, internal, & admin) |
++----------------------------------+---------------+-----------------------------------------------------------+
+| test_grant_user_role_to_project  | 2 & 3         | Tests to ensure that one can grant a new user's role to a |
+|                                  |               | new project                                               |
++----------------------------------+---------------+-----------------------------------------------------------+
 
 create_user_tests.py - CreateUserSuccessTests
 ---------------------------------------------
@@ -64,6 +82,14 @@ create_user_tests.py - CreateUserSuccessTests
 | test_create_user                 | 2 & 3         | Tests the creation of a user with minimal configuration   |
 |                                  |               | settings via the utility functions                        |
 +----------------------------------+---------------+-----------------------------------------------------------+
+| test_create_user_2x              | 2 & 3         | Tests the creation of a user 2x and ensure it has been    |
+|                                  |               | done only once                                            |
++----------------------------------+---------------+-----------------------------------------------------------+
+| test_create_delete_user          | 2 & 3         | Tests the creation of a user and ensure clean can be      |
+|                                  |               | called 2x without exceptions being raised                 |
++----------------------------------+---------------+-----------------------------------------------------------+
+| test_create_admin_user           | 2 & 3         | Tests the creation of a user with an 'admin' role         |
++----------------------------------+---------------+-----------------------------------------------------------+
 
 create_project_tests.py - CreateProjectSuccessTests
 ---------------------------------------------------
@@ -71,15 +97,23 @@ create_project_tests.py - CreateProjectSuccessTests
 +----------------------------------+---------------+-----------------------------------------------------------+
 | Test Name                        | Keystone API  | Description                                               |
 +==================================+===============+===========================================================+
-| test_create_user_minimal         | 2 & 3         | Tests the creation of a user via the OpenStackUser class  |
+| test_create_project_bad_domain   | 3             | Ensures that keystone v3 clients using the domain ID      |
+|                                  |               | project setting project creation will fail with an invalid|
+|                                  |               | domain id/name                                            |
 +----------------------------------+---------------+-----------------------------------------------------------+
-| test_create_user_2x              | 2 & 3         | Tests the creation of a user a second time via the        |
-|                                  |               | OpenStackUser class to ensure it is only created once     |
+| test_create_project              | 2 & 3         | Tests the creation of a project via the OpenStackProject  |
+|                                  |               | class                                                     |
 +----------------------------------+---------------+-----------------------------------------------------------+
-| test_create_delete_user          | 2 & 3         | Tests the creation and deletion of a user via the         |
-|                                  |               | OpenStackUser class to ensure that clean will not raise   |
+| test_create_project_2x           | 2 & 3         | Tests the creation of a project a second time via the     |
+|                                  |               | OpenStackProject class to ensure it is only created once  |
++----------------------------------+---------------+-----------------------------------------------------------+
+| test_create_delete_project       | 2 & 3         | Tests the creation and deletion of a project via the      |
+|                                  |               | OpenStackProject class to ensure that clean will not raise|
 |                                  |               | an exception                                              |
 +----------------------------------+---------------+-----------------------------------------------------------+
+| test_update_quotas               | 2 & 3         | Tests the ability to update quota values                  |
+|                                  | nova & neutron|                                                           |
++----------------------------------+---------------+-----------------------------------------------------------+
 
 create_project_tests.py - CreateProjectUserTests
 ------------------------------------------------
@@ -97,7 +131,7 @@ create_project_tests.py - CreateProjectUserTests
 +---------------------------------------+---------------+-----------------------------------------------------------+
 
 glance_utils_tests.py - GlanceUtilsTests
-------------------------------------------------
+----------------------------------------
 
 +---------------------------------------+---------------+-----------------------------------------------------------+
 | Test Name                             | Glance API    | Description                                               |
@@ -215,6 +249,107 @@ neutron_utils_tests.py - NeutronUtilsSecurityGroupTests
 | test_create_sec_grp_one_rule          | 2             | Ensures that neutron_utils.create_security_group_rule()   |
 |                                       |               | can add a rule to a security group                        |
 +---------------------------------------+---------------+-----------------------------------------------------------+
+| test_get_sec_grp_by_id                | 2             | Ensures that neutron_utils.get_security_group_by_id()     |
+|                                       |               | returns the expected security group                       |
++---------------------------------------+---------------+-----------------------------------------------------------+
+
+neutron_utils_tests.py - NeutronUtilsFloatingIpTests
+----------------------------------------------------
+
++---------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                             | Neutron API   | Description                                               |
++=======================================+===============+===========================================================+
+| test_floating_ips                     | 2             | Ensures that a floating IP can be created                 |
++---------------------------------------+---------------+-----------------------------------------------------------+
+
+cinder_utils_tests.py - CinderUtilsQoSTests
+-------------------------------------------
+
++---------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                             |  Cinder API   | Description                                               |
++=======================================+===============+===========================================================+
+| test_create_qos_both                  | 2 & 3         | Ensures that a QoS Spec can be created with a Consumer    |
+|                                       |               | value of 'both'                                           |
++---------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_qos_front                 | 2 & 3         | Ensures that a QoS Spec can be created with a Consumer    |
+|                                       |               | value of 'front-end'                                      |
++---------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_qos_back                  | 2 & 3         | Ensures that a QoS Spec can be created with a Consumer    |
+|                                       |               | value of 'back-end'                                       |
++---------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_delete_qos                | 2 & 3         | Ensures that a QoS Spec can be created and deleted        |
++---------------------------------------+---------------+-----------------------------------------------------------+
+
+cinder_utils_tests.py - CinderUtilsSimpleVolumeTypeTests
+--------------------------------------------------------
+
++---------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                             |  Cinder API   | Description                                               |
++=======================================+===============+===========================================================+
+| test_create_simple_volume_type        | 2 & 3         | Tests the creation of a simple volume type with the       |
+|                                       |               | function cinder_utils#create_volume_type()                |
++---------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_delete_volume_type        | 2 & 3         | Tests the creation of a simple volume type with the       |
+|                                       |               | function cinder_utils#create_volume_type() then deletes   |
+|                                       |               | with the function cinder_utils#delete_volume_type()       |
++---------------------------------------+---------------+-----------------------------------------------------------+
+
+cinder_utils_tests.py - CinderUtilsAddEncryptionTests
+-----------------------------------------------------
+
++---------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                             |  Cinder API   | Description                                               |
++=======================================+===============+===========================================================+
+| test_create_simple_encryption         | 2 & 3         | Tests the creation of a simple volume type encryption     |
+|                                       |               | with the function cinder_utils#create_volume_encryption() |
++---------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_delete_encryption         | 2 & 3         | Tests the creation of a simple volume type encryption     |
+|                                       |               | with the function cinder_utils#create_volume_encryption() |
+|                                       |               | then deletes with the function                            |
+|                                       |               | cinder_utils#delete_volume_type_encryption()              |
++---------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_with_all_attrs            | 2 & 3         | Tests the creation of a simple volume type encryption     |
+|                                       |               | with the function cinder_utils#create_volume_encryption() |
+|                                       |               | where all configuration attributes have been set          |
++---------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_bad_key_size              | 2 & 3         | Tests to ensure that the function                         |
+|                                       |               | cinder_utils#create_volume_encryption() raises a          |
+|                                       |               | BadRequest exception when the key_size attribute is -1    |
++---------------------------------------+---------------+-----------------------------------------------------------+
+
+cinder_utils_tests.py - CinderUtilsVolumeTypeCompleteTests
+----------------------------------------------------------
+
++---------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                             |  Cinder API   | Description                                               |
++=======================================+===============+===========================================================+
+| test_create_with_encryption           | 2 & 3         | Tests the creation of a volume type with encryption       |
+|                                       |               | with the function cinder_utils#create_volume_type()       |
++---------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_with_qos                  | 2 & 3         | Tests the creation of a volume type with a QoS Spec       |
+|                                       |               | with the function cinder_utils#create_volume_type()       |
++---------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_with_invalid_qos          | 2 & 3         | Tests the creation of a volume type with an invalid QoS   |
+|                                       |               | Spec with the function cinder_utils#create_volume_type()  |
++---------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_with_qos_and_encryption   | 2 & 3         | Tests the creation of a volume type with a QoS Spec and   |
+|                                       |               | encryption with the function                              |
+|                                       |               | cinder_utils#create_volume_type()                         |
++---------------------------------------+---------------+-----------------------------------------------------------+
+
+cinder_utils_tests.py - CinderUtilsVolumeTests
+----------------------------------------------
+
++---------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                             |  Cinder API   | Description                                               |
++=======================================+===============+===========================================================+
+| test_create_simple_volume             | 2 & 3         | Tests the creation of a simple volume with the function   |
+|                                       |               | cinder_utils#create_volume()                              |
++---------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_delete_volume             | 2 & 3         | Tests the creation of a volume with the function          |
+|                                       |               | cinder_utils#create_volume() then deletion with the       |
+|                                       |               | function cinder_utils#delete_volume()                     |
++---------------------------------------+---------------+-----------------------------------------------------------+
 
 nova_utils_tests.py - NovaUtilsKeypairTests
 -------------------------------------------
@@ -231,10 +366,6 @@ nova_utils_tests.py - NovaUtilsKeypairTests
 | test_create_key_from_file             | 2             | Ensures that a keypair can be properly created via        |
 |                                       |               | nova_utils.upload_keypair_file()                          |
 +---------------------------------------+---------------+-----------------------------------------------------------+
-| test_floating_ips                     | 2             | Ensures that a floating IP can be properly created via    |
-|                                       |               | nova_utils.create_floating_ip() [note: this test should   |
-|                                       |               | be moved to a new class]                                  |
-+---------------------------------------+---------------+-----------------------------------------------------------+
 
 nova_utils_tests.py - NovaUtilsFlavorTests
 ------------------------------------------
@@ -249,6 +380,26 @@ nova_utils_tests.py - NovaUtilsFlavorTests
 |                                       |               | nova_utils.delete_flavor()                                |
 +---------------------------------------+---------------+-----------------------------------------------------------+
 
+nova_utils_tests.py - NovaUtilsInstanceTests
+--------------------------------------------
+
++---------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                             | Nova API      | Description                                               |
++=======================================+===============+===========================================================+
+| test_create_instance                  | 2             | Ensures that a VM instance can be properly created via    |
+|                                       |               | nova_utils.create_server()                                |
++---------------------------------------+---------------+-----------------------------------------------------------+
+
+nova_utils_tests.py - NovaUtilsInstanceVolumeTests
+--------------------------------------------------
+
++---------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                             | Nova API      | Description                                               |
++=======================================+===============+===========================================================+
+| test_add_remove_volume                | 2             | Ensures that a VM instance can properly attach and detach |
+|                                       |               | a volume using the nova interface                         |
++---------------------------------------+---------------+-----------------------------------------------------------+
+
 create_flavor_tests.py - CreateFlavorTests
 ------------------------------------------
 
@@ -268,3 +419,56 @@ create_flavor_tests.py - CreateFlavorTests
 |                                       |               | will not raise an exception when called and the object no |
 |                                       |               | longer exists                                             |
 +---------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_delete_flavor_all_settings| 2             | Ensures that the OpenStackFlavor class will create a      |
+|                                       |               | a flavor properly with all supported settings             |
++---------------------------------------+---------------+-----------------------------------------------------------+
+
+heat_utils_tests.py - HeatUtilsCreateSimpleStackTests
+-----------------------------------------------------
+
++---------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                             | Heat API      | Description                                               |
++=======================================+===============+===========================================================+
+| test_create_stack                     | 1             | Tests the heat_utils.create_stack() with a test template  |
++---------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_stack_x2                  | 1             | Tests the heat_utils.create_stack() with a test template  |
+|                                       |               | and attempts to deploy a second time w/o actually         |
+|                                       |               | deploying any objects                                     |
++---------------------------------------+---------------+-----------------------------------------------------------+
+
+heat_utils_tests.py - HeatUtilsCreateComplexStackTests
+------------------------------------------------------
+
++---------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                             | Heat API      | Description                                               |
++=======================================+===============+===========================================================+
+| test_get_settings_from_stack          | 1             | Tests the heat_utils functions that are responsible for   |
+|                                       |               | reverse engineering settings objects of the types deployed|
+|                                       |               | by Heat                                                   |
++---------------------------------------+---------------+-----------------------------------------------------------+
+
+settings_utils_tests.py - SettingsUtilsNetworkingTests
+------------------------------------------------------
+
++---------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                             | API           | Description                                               |
++=======================================+===============+===========================================================+
+| test_derive_net_settings_no_subnet    | Neutron 2     | Tests to ensure that derived NetworkSettings from an      |
+|                                       |               | OpenStack network are correct without a subnet            |
++---------------------------------------+---------------+-----------------------------------------------------------+
+| test_derive_net_settings_two_subnets  | Neutron 2     | Tests to ensure that derived NetworkSettings from an      |
+|                                       |               | OpenStack network are correct with two subnets            |
++---------------------------------------+---------------+-----------------------------------------------------------+
+
+
+settings_utils_tests.py - SettingsUtilsVmInstTests
+--------------------------------------------------
++---------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                             | API           | Description                                               |
++=======================================+===============+===========================================================+
+| test_derive_vm_inst_settings          | Neutron 2     | Tests to ensure that derived VmInstanceSettings from an   |
+|                                       |               | OpenStack VM instance is correct                          |
++---------------------------------------+---------------+-----------------------------------------------------------+
+| test_derive_image_settings            | Neutron 2     | Tests to ensure that derived ImageSettings from an        |
+|                                       |               | OpenStack VM instance is correct                          |
++---------------------------------------+---------------+-----------------------------------------------------------+