cf8322e544
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
137 lines
4.7 KiB
Python
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],
|
|
}
|