..

Build Verification Testing (BVT) Cases
--------------------------------------
These test cases are the core functionality tests that ensure the application is stable and can be tested thoroughly.
These BVT cases definitions are located at : https://docs.google.com/a/cloud.com/spreadsheet/ccc?key=0Ak8acbfxQG8ndEppOGZSLV9mUF9idjVkTkZkajhTZkE&invite=CPij0K0L


Guidelines
----------
BVT test cases are being developed using Python's unittests2. Following are certain guidelines being followed
    1. Tests exercised for the same resource should ideally be present under a single suite or file.

    2. Time-consuming operations that create new cloud resources like server creation, volume creation etc 
        should not necessarily be exercised per unit test. The resources can be shared by creating them at 
        the class-level using setUpClass and shared across all instances during a single run.

    3. Certain tests pertaining to NAT, Firewall and Load Balancing warrant fresh resources per test. Hence a call should be
        taken by the stakeholders regarding sharing resources.

    4. Ensure that the tearDown/tearDownClass functions clean up all the resources created during the test run. 

For more information about unittests: http://docs.python.org/library/unittest.html


BVT Tests
----------
The following files contain these BVT cases:

1. test_vm_life_cycle.py - VM Life Cycle tests
2. test_volumes.py - Volumes related tests
3. test_snapshots.py - Snapshots related tests
4. test_disk_offerings.py - Disk Offerings related tests
5. test_service_offerings.py - Service Offerings related tests
6. test_hosts.py - Hosts and Clusters related tests
7. test_iso.py - ISO related tests
8. test_network.py - Network related tests
9. test_primary_storage.py - Primary storage related tests
10. test_secondary_storage.py - Secondary storage related tests
11. test_ssvm.py - SSVM & CPVM related tests
12. test_templates.py - Templates related tests
13. test_routers.py - Router related tests