openstacksdk/openstack/tests/unit/dns/v2/test_proxy.py

198 lines
7.7 KiB
Python

# 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 openstack.dns.v2 import _proxy
from openstack.dns.v2 import zone
from openstack.dns.v2 import zone_import
from openstack.dns.v2 import zone_export
from openstack.dns.v2 import zone_transfer
from openstack.dns.v2 import recordset
from openstack.dns.v2 import floating_ip
from openstack.tests.unit import test_proxy_base
class TestDnsProxy(test_proxy_base.TestProxyBase):
def setUp(self):
super(TestDnsProxy, self).setUp()
self.proxy = _proxy.Proxy(self.session)
class TestDnsZone(TestDnsProxy):
def test_zone_create(self):
self.verify_create(self.proxy.create_zone, zone.Zone,
method_kwargs={'name': 'id'},
expected_kwargs={'name': 'id',
'prepend_key': False})
def test_zone_delete(self):
self.verify_delete(self.proxy.delete_zone,
zone.Zone, True)
def test_zone_find(self):
self.verify_find(self.proxy.find_zone, zone.Zone)
def test_zone_get(self):
self.verify_get(self.proxy.get_zone, zone.Zone)
def test_zones(self):
self.verify_list(self.proxy.zones, zone.Zone)
def test_zone_update(self):
self.verify_update(self.proxy.update_zone, zone.Zone)
def test_zone_abandon(self):
self._verify("openstack.dns.v2.zone.Zone.abandon",
self.proxy.abandon_zone,
method_args=[{'zone': 'id'}])
def test_zone_xfr(self):
self._verify("openstack.dns.v2.zone.Zone.xfr",
self.proxy.xfr_zone,
method_args=[{'zone': 'id'}])
class TestDnsRecordset(TestDnsProxy):
def test_recordset_create(self):
self.verify_create(self.proxy.create_recordset, recordset.Recordset,
method_kwargs={'zone': 'id'},
expected_kwargs={'zone_id': 'id',
'prepend_key': False})
def test_recordset_delete(self):
self.verify_delete(self.proxy.delete_recordset,
recordset.Recordset, True)
def test_recordset_update(self):
self.verify_update(self.proxy.update_recordset, recordset.Recordset)
def test_recordset_get(self):
self.verify_get(self.proxy.get_recordset, recordset.Recordset,
method_kwargs={'zone': 'zid'},
expected_kwargs={'zone_id': 'zid'}
)
def test_recordsets(self):
self.verify_list(self.proxy.recordsets, recordset.Recordset,
base_path='/recordsets')
def test_recordsets_zone(self):
self.verify_list(self.proxy.recordsets, recordset.Recordset,
method_kwargs={'zone': 'zid'},
expected_kwargs={'zone_id': 'zid'})
class TestDnsFloatIP(TestDnsProxy):
def test_floating_ips(self):
self.verify_list(self.proxy.floating_ips, floating_ip.FloatingIP)
def test_floating_ip_get(self):
self.verify_get(self.proxy.get_floating_ip, floating_ip.FloatingIP)
def test_floating_ip_update(self):
self.verify_update(self.proxy.update_floating_ip,
floating_ip.FloatingIP)
def test_zone_create(self):
self.verify_create(self.proxy.create_zone, zone.Zone,
method_kwargs={'name': 'id'},
expected_kwargs={'name': 'id',
'prepend_key': False})
class TestDnsZoneImport(TestDnsProxy):
def test_zone_import_delete(self):
self.verify_delete(self.proxy.delete_zone_import,
zone_import.ZoneImport, True)
def test_zone_import_get(self):
self.verify_get(self.proxy.get_zone_import, zone_import.ZoneImport)
def test_zone_imports(self):
self.verify_list(self.proxy.zone_imports, zone_import.ZoneImport)
def test_zone_import_create(self):
self.verify_create(self.proxy.create_zone_import,
zone_import.ZoneImport,
method_kwargs={'name': 'id'},
expected_kwargs={'name': 'id',
'prepend_key': False})
class TestDnsZoneExport(TestDnsProxy):
def test_zone_export_delete(self):
self.verify_delete(self.proxy.delete_zone_export,
zone_export.ZoneExport, True)
def test_zone_export_get(self):
self.verify_get(self.proxy.get_zone_export, zone_export.ZoneExport)
def test_zone_export_get_text(self):
self.verify_get(self.proxy.get_zone_export_text,
zone_export.ZoneExport,
value=[{'id': 'zone_export_id_value'}],
expected_kwargs={
'base_path': '/zones/tasks/export/%(id)s/export'
})
def test_zone_exports(self):
self.verify_list(self.proxy.zone_exports, zone_export.ZoneExport)
def test_zone_export_create(self):
self.verify_create(self.proxy.create_zone_export,
zone_export.ZoneExport,
method_args=[{'id': 'zone_id_value'}],
method_kwargs={'name': 'id'},
expected_kwargs={'name': 'id',
'zone_id': 'zone_id_value',
'prepend_key': False})
class TestDnsZoneTransferRequest(TestDnsProxy):
def test_zone_transfer_request_delete(self):
self.verify_delete(self.proxy.delete_zone_transfer_request,
zone_transfer.ZoneTransferRequest, True)
def test_zone_transfer_request_get(self):
self.verify_get(self.proxy.get_zone_transfer_request,
zone_transfer.ZoneTransferRequest)
def test_zone_transfer_requests(self):
self.verify_list(self.proxy.zone_transfer_requests,
zone_transfer.ZoneTransferRequest)
def test_zone_transfer_request_create(self):
self.verify_create(self.proxy.create_zone_transfer_request,
zone_transfer.ZoneTransferRequest,
method_args=[{'id': 'zone_id_value'}],
method_kwargs={'name': 'id'},
expected_kwargs={'name': 'id',
'zone_id': 'zone_id_value',
'prepend_key': False})
def test_zone_transfer_request_update(self):
self.verify_update(self.proxy.update_zone_transfer_request,
zone_transfer.ZoneTransferRequest)
class TestDnsZoneTransferAccept(TestDnsProxy):
def test_zone_transfer_accept_get(self):
self.verify_get(self.proxy.get_zone_transfer_accept,
zone_transfer.ZoneTransferAccept)
def test_zone_transfer_accepts(self):
self.verify_list(self.proxy.zone_transfer_accepts,
zone_transfer.ZoneTransferAccept)
def test_zone_transfer_accept_create(self):
self.verify_create(self.proxy.create_zone_transfer_accept,
zone_transfer.ZoneTransferAccept)