Fix backwards compat for edit_managed/all_tenants
The previous commit at [1] introduced a bug due to last minute reordering of code, this fixes the ordering and adds a couple of tests to verify the functionaility. [1]: I2e3d74168976868ea1e4dd6c797f6340faa50d0f Change-Id: Ia6f8df92b2700f63b2208290ede85f247b33bc63
This commit is contained in:
parent
b57328dc8f
commit
4d3cad8148
designateclient
20
designateclient/tests/test_v1/__init__.py
Normal file
20
designateclient/tests/test_v1/__init__.py
Normal file
@ -0,0 +1,20 @@
|
||||
# Copyright 2015 Hewlett-Packard Development Company, L.P.
|
||||
#
|
||||
# Author: Kiall Mac Innes <kiall@hp.com>
|
||||
#
|
||||
# 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 designateclient.tests import base
|
||||
|
||||
|
||||
class APIV1TestCase(base.APITestCase):
|
||||
VERSION = "1"
|
104
designateclient/tests/test_v1/test_client.py
Normal file
104
designateclient/tests/test_v1/test_client.py
Normal file
@ -0,0 +1,104 @@
|
||||
# Copyright 2015 Hewlett-Packard Development Company, L.P.
|
||||
#
|
||||
# Author: Kiall Mac Innes <kiall@hp.com>
|
||||
#
|
||||
# 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 designateclient.tests import test_v1
|
||||
from designateclient import utils
|
||||
from designateclient import v1
|
||||
|
||||
|
||||
class TestClient(test_v1.APIV1TestCase):
|
||||
def test_all_tenants(self):
|
||||
# Create a client with the all_tenants flag set to True
|
||||
client = v1.Client(all_tenants=True)
|
||||
|
||||
# Verify this has been picked up
|
||||
self.assertTrue(client.all_tenants)
|
||||
|
||||
def test_all_tenants_not_suplied(self):
|
||||
# Create a client without supplying any all_tenants flag
|
||||
client = v1.Client()
|
||||
|
||||
# Verify all_tenants is False
|
||||
self.assertFalse(client.all_tenants)
|
||||
self.assertIsNotNone(client.all_tenants)
|
||||
|
||||
def test_all_tenants_through_session(self):
|
||||
# Create a session with the all_tenants flag set to True
|
||||
session = utils.get_session(
|
||||
auth_url='Anything',
|
||||
endpoint='Anything',
|
||||
domain_id='Anything',
|
||||
domain_name='Anything',
|
||||
project_id='Anything',
|
||||
project_name='Anything',
|
||||
project_domain_name='Anything',
|
||||
project_domain_id='Anything',
|
||||
username='Anything',
|
||||
user_id='Anything',
|
||||
password='Anything',
|
||||
user_domain_id='Anything',
|
||||
user_domain_name='Anything',
|
||||
token=None,
|
||||
insecure=False,
|
||||
cacert=None,
|
||||
all_tenants=True)
|
||||
|
||||
# Create a client using the pre-created session
|
||||
client = v1.Client(session=session)
|
||||
|
||||
# Verify the all_tenants flag has been picked up
|
||||
self.assertTrue(client.all_tenants)
|
||||
|
||||
def test_edit_managed(self):
|
||||
# Create a client with the edit_managed flag set to True
|
||||
client = v1.Client(edit_managed=True)
|
||||
|
||||
# Verify this has been picked up
|
||||
self.assertTrue(client.edit_managed)
|
||||
|
||||
def test_edit_managed_not_suplied(self):
|
||||
# Create a client without supplying any edit_managed flag
|
||||
client = v1.Client()
|
||||
|
||||
# Verify edit_managed is False
|
||||
self.assertFalse(client.edit_managed)
|
||||
self.assertIsNotNone(client.edit_managed)
|
||||
|
||||
def test_edit_managed_through_session(self):
|
||||
# Create a session with the edit_managed flag set to True
|
||||
session = utils.get_session(
|
||||
auth_url='Anything',
|
||||
endpoint='Anything',
|
||||
domain_id='Anything',
|
||||
domain_name='Anything',
|
||||
project_id='Anything',
|
||||
project_name='Anything',
|
||||
project_domain_name='Anything',
|
||||
project_domain_id='Anything',
|
||||
username='Anything',
|
||||
user_id='Anything',
|
||||
password='Anything',
|
||||
user_domain_id='Anything',
|
||||
user_domain_name='Anything',
|
||||
token=None,
|
||||
insecure=False,
|
||||
cacert=None,
|
||||
edit_managed=True)
|
||||
|
||||
# Create a client using the pre-created session
|
||||
client = v1.Client(session=session)
|
||||
|
||||
# Verify the edit_managed flag has been picked up
|
||||
self.assertTrue(client.edit_managed)
|
@ -103,7 +103,7 @@ def get_columns(data):
|
||||
def get_session(auth_url, endpoint, domain_id, domain_name, project_id,
|
||||
project_name, project_domain_name, project_domain_id, username,
|
||||
user_id, password, user_domain_id, user_domain_name, token,
|
||||
insecure, cacert, all_tenants=None, edit_managed=None):
|
||||
insecure, cacert, all_tenants=False, edit_managed=False):
|
||||
# NOTE: all_tenants and edit_managed are here for backwards compat
|
||||
# reasons, do not add additional modifiers here.
|
||||
|
||||
|
@ -69,14 +69,12 @@ class Client(object):
|
||||
# backwards compat reasons, do not pull additional modifiers from
|
||||
# here. Once removed, the kwargs above should default to False.
|
||||
if all_tenants is None:
|
||||
self.all_tenants = getattr(self.session.session, 'all_tenants',
|
||||
False)
|
||||
self.all_tenants = getattr(session, 'all_tenants', False)
|
||||
else:
|
||||
self.all_tenants = all_tenants
|
||||
|
||||
if edit_managed is None:
|
||||
self.edit_managed = getattr(self.session.session, 'edit_managed',
|
||||
False)
|
||||
self.edit_managed = getattr(session, 'edit_managed', False)
|
||||
else:
|
||||
self.edit_managed = edit_managed
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user