Designate API Testing using Tempest Framework.
==============================================

This is a set of Designate API tests written for Tempest Framework
to be run against a live OpenStack cluster with Designate service
enabled.

Configuration
-------------

Detailed configuration of Designate tests and configuration files is
the scope of this document.

Added all the required parameters in etc/tempest.conf.sample
to enable Designate service.

The sample config file is auto generated using the script
(based on parameters added in config.py):
tools/generate_sample.sh

To run Tempest, you first need to create a configuration file that will
tell Tempest where to find the designate service.

The easiest way to create a configuration file is to copy the sample
(tempest.conf.sample) one in the etc/ directory.

    $> cd $TEMPEST_ROOT_DIR
    $> cp etc/tempest.conf.sample etc/tempest.conf

After that, open up the etc/tempest.conf file and edit the configuration
variables to match valid data in your environment. This includes your
Keystone endpoint, a valid user and credentials, and reference
data to be used in testing.

Tests and Clients for Designate feature
---------------------------------------

    1> Added tests for Domains, Records, Servers of Designate API
       under dns_tests folder.

    2> Added respective supporting functions for Json Interface
       under dns_clients folder.

    3> Modified respective clients.py and config.py files with respect
       to Designate service and should be placed under'tempest' folder.

    4> Implemented Schema validation for all the Designate operations as per
       current Tempest framework under dns_schema.

Steps to execute Designate API tests.
-------------------------------------

In order to run Designate API tests against Tempest Suite, all the above
test scripts and client files has to be placed in paths as mentioned below.

    1> Clone Tempest
       git clone https://github.com/openstack/tempest.git

    2> Add the following files
        $> cp tempest.conf.sample $TEMPEST_ROOT_DIR/tempest/etc
        $> cp config.py TEMPEST_ROOT_DIR/tempest
        $> cp clients.py TEMPEST_ROOT_DIR/tempest
        $> cp -r dns_clients TEMPEST_ROOT_DIR/tempest/services/dns
        $> cp -r dns_schema TEMPEST_ROOT_DIR/tempest/api_schema/dns
        $> cp -r dns_tests TEMPEST_ROOT_DIR/tempest/api/dns

After setting up your configuration files, you can execute the set of
designate tests by using testr.
    $> testr run --parallel

To run one single test
    $> testr run --parallel tempest.api.dns.test_domains.DnsDomainsTest.test_list_domains