designate/contrib/tempest/dns_schema/records.py
ravikumar-venkatesan cf8322e544 Designate API tests for Tempest Framework
Creates a new folder 'tempest' under 'designate/contrib' as a
placeholder for Designate API tests.
This submission implements CRUD operations on 'domains', 'records'
and 'servers' of Designate Api.
Adds related JSON supporting methods in client files
'domains_client.py', 'records_client.py', and 'server_client.py'
Also implemented schema validation for all the operations under
'domains.py', 'parameter_types.py', 'records.py', 'servers.py' files.
Modified 'tempest.conf.sample', 'config.py' , and 'clients.py' to
add parameters for enabling designate service.

Change-Id: I5fcac06200ce534a9cddf1e7ed9393ae5124a681
2014-07-30 11:44:27 +00:00

137 lines
4.7 KiB
Python

# Copyright 2014 Hewlett-Packard Development Company, L.P
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from tempest.api_schema.dns import parameter_types
list_records = {
"status_code": [200],
"response_body": {
"type": "object",
"properties": {
"records": {
"type": "array",
"items": {
"type": "object",
"properties": {
"created_at": {"type": "string"},
"data": {
"anyOf": [parameter_types.access_ip_v4,
parameter_types.access_ip_v6]},
"description": {"type": "null"},
"domain_id": {"type": "string"},
"id": {"type": "string"},
"name": {"type": "string"},
"priority": {"type": "null"},
"ttl": {"type": "null"},
"type": {"type": "string"},
"updated_at": {
"anyOf": [{'type': 'string'}, {"type": "null"}]}
},
'required': ['id', 'name', 'type', 'data']
}
}
},
'required': ['records']
}
}
create_record = {
"status_code": [200],
"response_body": {
"type": "object",
"properties": {
"record": {
"type": "object",
"properties": {
"created_at": {"type": "string"},
"data": {
"anyOf": [parameter_types.access_ip_v4,
parameter_types.access_ip_v6]},
"description": {"type": "null"},
"domain_id": {"type": "string"},
"id": {"type": "string"},
"name": {"type": "string"},
"priority": {"type": "null"},
"ttl": {"type": "null"},
"type": {"type": "string"},
"updated_at": {"type": "null"}
},
"required": ['id', 'name', 'type', 'domain_id']
}
}
},
"required": ['record']
}
update_record = {
"status_code": [200],
"response_body": {
"type": "object",
"properties": {
"record": {
"type": "object",
"properties": {
"created_at": {"type": "string"},
"data": {
"anyOf": [parameter_types.access_ip_v4,
parameter_types.access_ip_v6]},
"description": {"type": "null"},
"domain_id": {"type": "string"},
"id": {"type": "string"},
"name": {"type": "string"},
"priority": {"type": "null"},
"ttl": {"type": "null"},
"type": {"type": "string"},
"updated_at": {"type": "string"}
},
"required": ['id', 'name', 'type', 'domain_id']
}
}
},
"required": ['record']
}
get_record = {
"status_code": [200],
"response_body": {
"type": "object",
"properties": {
"record": {
"type": "object",
"properties": {
"created_at": {"type": "string"},
"data": {
"anyOf": [parameter_types.access_ip_v4,
parameter_types.access_ip_v6]},
"description": {"type": "null"},
"domain_id": {"type": "string"},
"id": {"type": "string"},
"name": {"type": "string"},
"priority": {"type": "null"},
"ttl": {"type": "null"},
"type": {"type": "string"},
"updated_at": {
"anyOf": [{'type': 'string'}, {"type": "null"}]}
},
"required": ['id', 'name', 'type', 'domain_id']
}
}
},
"required": ['record']
}
delete_record = {
'status_code': [200],
}