diff --git a/octaviaclient/osc/v2/constants.py b/octaviaclient/osc/v2/constants.py index cccc786..56f4e6c 100644 --- a/octaviaclient/osc/v2/constants.py +++ b/octaviaclient/osc/v2/constants.py @@ -99,7 +99,7 @@ POOL_COLUMNS = ( 'id', 'name', 'project_id', - 'provisioning status', + 'provisioning_status', 'protocol', 'lb_algorithm', 'admin_state_up') diff --git a/octaviaclient/tests/fakes.py b/octaviaclient/tests/fakes.py index 88eb663..4845f2a 100644 --- a/octaviaclient/tests/fakes.py +++ b/octaviaclient/tests/fakes.py @@ -208,13 +208,13 @@ class FakeResource(object): setattr(self, name, method) def __repr__(self): - reprkeys = sorted(k for k in self.__dict__.keys() if k[0] != '_' and + reprkeys = sorted(k for k in self.__dict__ if k[0] != '_' and k != 'manager') info = ", ".join("%s=%s" % (k, getattr(self, k)) for k in reprkeys) return "<%s %s>" % (self.__class__.__name__, info) def keys(self): - return self._info.keys() + return list(self._info) def to_dict(self): return self._info diff --git a/octaviaclient/tests/unit/osc/v2/constants.py b/octaviaclient/tests/unit/osc/v2/constants.py new file mode 100644 index 0000000..655c441 --- /dev/null +++ b/octaviaclient/tests/unit/osc/v2/constants.py @@ -0,0 +1,146 @@ +# 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 oslo_utils import uuidutils + +AMPHORA_ATTRS = { + "id": uuidutils.generate_uuid(dashed=True), + "loadbalancer_id": uuidutils.generate_uuid(dashed=True), + "compute_id": uuidutils.generate_uuid(dashed=True), + "lb_network_ip": "192.168.1.3", + "vrrp_ip": "192.168.1.6", + "ha_ip": "192.168.1.10", + "vrrp_port_id": uuidutils.generate_uuid(dashed=True), + "ha_port_id": uuidutils.generate_uuid(dashed=True), + "cert_expiration": "2019-09-19 00:34:51", + "cert_busy": 0, + "role": "BACKUP", + "status": "ALLOCATED", + "vrrp_interface": "eth1", + "vrrp_id": 1, + "vrrp_priority": 200, + "cached_zone": "zone2", +} + +HM_ATTRS = { + "project_id": uuidutils.generate_uuid(dashed=True), + "name": "hm-name-" + uuidutils.generate_uuid(dashed=True), + "admin_state_up": True, + "pools": [ + { + "id": uuidutils.generate_uuid(dashed=True) + } + ], + "created_at": "2017-05-10T06:11:10", + "provisioning_status": "PENDING_CREATE", + "delay": 10, + "expected_codes": "200", + "max_retries": 2, + "http_method": "GET", + "timeout": 10, + "max_retries_down": 3, + "url_path": "/some/custom/path", + "type": "HTTP", + "id": uuidutils.generate_uuid(dashed=True), +} + +LISTENER_ATTRS = { + "id": uuidutils.generate_uuid(), + "name": "li-name-" + uuidutils.generate_uuid(dashed=True), + "project_id": uuidutils.generate_uuid(dashed=True), + "protocol": "HTTP", + "protocol_port": 80, + "provisioning_status": "ACTIVE", + "default_pool_id": None, + "connection_limit": 10, + "admin_state_up": True, + "default_tls_container_ref": uuidutils.generate_uuid(dashed=True), + "sni_container_refs": [uuidutils.generate_uuid(dashed=True), + uuidutils.generate_uuid(dashed=True)], +} + +LOADBALANCER_ATTRS = { + "id": uuidutils.generate_uuid(), + "name": "lb-name-" + uuidutils.generate_uuid(dashed=True), + "project_id": uuidutils.generate_uuid(dashed=True), + "vip_address": "192.0.2.124", + "vip_network_id": uuidutils.generate_uuid(dashed=True), + "provisioning_status": "ONLINE", + "provider": "octavia", +} + +L7POLICY_ATTRS = { + "listener_id": uuidutils.generate_uuid(), + "description": "fake desc", + "admin_state_up": True, + "rules": [{"id": uuidutils.generate_uuid()}], + "provisioning_status": "active", + "redirect_pool_id": uuidutils.generate_uuid(), + "action": "POOL_REDIRECT", + "position": 1, + "project_id": uuidutils.generate_uuid(), + "id": uuidutils.generate_uuid(), + "name": "l7po-name-" + uuidutils.generate_uuid(dashed=True), +} + +L7RULE_ATTRS = { + "created_at": "2017-05-04T18:46:35", + "compare_type": "ENDS_WITH", + "provisioning_status": "ACTIVE", + "invert": False, + "admin_state_up": True, + "value": ".example.com", + "key": None, + "project_id": uuidutils.generate_uuid(), + "type": "HOST_NAME", + "id": uuidutils.generate_uuid(), + "operating_status": "ONLINE", +} + +MEMBER_ATTRS = { + "project_id": uuidutils.generate_uuid(dashed=True), + "name": "test-member", + "weight": 1, + "admin_state_up": True, + "subnet_id": uuidutils.generate_uuid(dashed=True), + "tenant_id": uuidutils.generate_uuid(dashed=True), + "provisioning_status": "ACTIVE", + "address": "192.0.2.122", + "protocol_port": 80, + "id": uuidutils.generate_uuid(dashed=True), + "operating_status": "NO_MONITOR", + "pool_id": uuidutils.generate_uuid(dashed=True), +} + +POOL_ATTRS = { + "admin_state_up": True, + "description": "fake desc", + "id": uuidutils.generate_uuid(), + "lb_algorithm": "ROUND_ROBIN", + "listeners": [{"id": uuidutils.generate_uuid()}], + "loadbalancers": [{"id": uuidutils.generate_uuid()}], + "members": [{"id": uuidutils.generate_uuid()}], + "name": "po-name-" + uuidutils.generate_uuid(dashed=True), + "project_id": uuidutils.generate_uuid(dashed=True), + "protocol": "HTTP", + "provisioning_status": "ACTIVE", +} + +QUOTA_ATTRS = { + "health_monitor": -1, + "listener": None, + "load_balancer": 5, + "member": 50, + "pool": None, + "project_id": uuidutils.generate_uuid(dashed=True), +} diff --git a/octaviaclient/tests/unit/osc/v2/fakes.py b/octaviaclient/tests/unit/osc/v2/fakes.py index 3a77ee9..7ebff63 100644 --- a/octaviaclient/tests/unit/osc/v2/fakes.py +++ b/octaviaclient/tests/unit/osc/v2/fakes.py @@ -14,18 +14,10 @@ import copy import mock -from octaviaclient.tests import fakes from osc_lib.tests import utils -from oslo_utils import uuidutils -LOADBALANCER = { - 'id': 'lbid', - 'name': 'lb1', - 'project_id': 'dummyproject', - 'vip_address': '192.0.2.2', - 'provisioning_status': 'ONLINE', - 'provider': 'octavia' -} +from octaviaclient.tests import fakes +from octaviaclient.tests.unit.osc.v2 import constants class FakeOctaviaClient(object): @@ -46,280 +38,20 @@ class TestOctaviaClient(utils.TestCommand): ) -class FakeLoadBalancer(object): - """Fake one or more load balancers.""" +def createFakeResource(name, attrs=None): + """Creates a single fake resource object. - @staticmethod - def create_one_load_balancer(attrs=None): - """Create one load balancer. + :param name: resource_name + :param attrs: ``dict`` of customized resource attributes + :returns: A FakeResource object + """ + attrs = attrs or {} - :param Dictionary attrs: - A dictionary with all load balancer attributes - :return: - A FakeResource object - """ - attrs = attrs or {} + # Set to default + resource_info = getattr(constants, "{}_attrs".format(name).upper()) + assert resource_info is not None, "{} is not found".format(name) - # Set default attribute - lb_info = { - 'id': uuidutils.generate_uuid(), - 'name': 'lb-name-' + uuidutils.generate_uuid(dashed=True), - 'project_id': uuidutils.generate_uuid(dashed=True), - 'vip_address': '192.0.2.124', - 'vip_network_id': uuidutils.generate_uuid(dashed=True), - 'provisioning_status': 'ONLINE', - 'provider': 'octavia' - } - - lb_info.update(attrs) - - lb = fakes.FakeResource( - info=copy.deepcopy(lb_info), - loaded=True) - - return lb - - -class FakeListener(object): - """Fake one or more listeners.""" - - @staticmethod - def create_one_listener(attrs=None): - attrs = attrs or {} - - li_info = { - 'id': uuidutils.generate_uuid(), - 'name': 'li-name-' + uuidutils.generate_uuid(dashed=True), - 'project_id': uuidutils.generate_uuid(dashed=True), - 'protocol': 'HTTP', - 'protocol_port': 80, - 'provisioning_status': 'ACTIVE', - 'default_pool_id': None, - 'connection_limit': 10, - 'admin_state_up': True, - 'default_tls_container_ref': uuidutils.generate_uuid(dashed=True), - 'sni_container_refs': [uuidutils.generate_uuid(dashed=True), - uuidutils.generate_uuid(dashed=True)] - } - - li_info.update(attrs) - - li = fakes.FakeResource( - info=copy.deepcopy(li_info), - loaded=True) - - return li - - -class FakePool(object): - """Fake one or more pools.""" - - @staticmethod - def create_one_pool(attrs=None): - attrs = attrs or {} - - po_info = { - 'admin_state_up': True, - 'description': 'fake desc', - 'id': uuidutils.generate_uuid(), - 'lb_algorithm': 'ROUND_ROBIN', - 'listeners': [{'id': uuidutils.generate_uuid()}], - 'loadbalancers': [{'id': uuidutils.generate_uuid()}], - 'members': [{'id': uuidutils.generate_uuid()}], - 'name': 'po-name-' + uuidutils.generate_uuid(dashed=True), - 'project_id': uuidutils.generate_uuid(dashed=True), - 'protocol': 'HTTP', - 'provisioning_status': 'ACTIVE', - } - - po_info.update(attrs) - - po = fakes.FakeResource( - info=copy.deepcopy(po_info), - loaded=True) - - return po - - -class FakeMember(object): - """Fake one or more members.""" - - @staticmethod - def create_member(attrs=None): - attrs = attrs or {} - - member = { - "project_id": uuidutils.generate_uuid(dashed=True), - "name": "test-member", - "weight": 1, - "admin_state_up": True, - "subnet_id": uuidutils.generate_uuid(dashed=True), - "tenant_id": uuidutils.generate_uuid(dashed=True), - "provisioning_status": "ACTIVE", - "address": "192.0.2.122", - "protocol_port": 80, - "id": uuidutils.generate_uuid(dashed=True), - "operating_status": "NO_MONITOR", - "pool_id": uuidutils.generate_uuid(dashed=True) - } - - member.update(attrs) - - mem = fakes.FakeResource(info=copy.deepcopy(member), loaded=True) - - return mem - - -class FakeL7Policy(object): - """Fake one or more L7policies.""" - - @staticmethod - def create_one_l7policy(attrs=None): - attrs = attrs or {} - - l7po_info = { - "listener_id": uuidutils.generate_uuid(), - "description": 'fake desc', - "admin_state_up": True, - "rules": [{'id': uuidutils.generate_uuid()}], - "provisioning_status": 'active', - "redirect_pool_id": uuidutils.generate_uuid(), - "action": 'POOL_REDIRECT', - "position": 1, - "project_id": uuidutils.generate_uuid(), - "id": uuidutils.generate_uuid(), - "name": 'l7po-name-' + uuidutils.generate_uuid(dashed=True) - } - l7po_info.update(attrs) - - l7po = fakes.FakeResource( - info=copy.deepcopy(l7po_info), - loaded=True) - - return l7po - - -class FakeL7Rule(object): - """Fake one or more L7rules.""" - - @staticmethod - def create_one_l7rule(attrs=None): - attrs = attrs or {} - - l7ru_info = { - "created_at": "2017-05-04T18:46:35", - "compare_type": "ENDS_WITH", - "provisioning_status": "ACTIVE", - "invert": False, - "admin_state_up": True, - "value": ".example.com", - "key": None, - "project_id": uuidutils.generate_uuid(), - "type": "HOST_NAME", - "id": uuidutils.generate_uuid(), - "operating_status": "ONLINE" - } - - l7ru_info.update(attrs) - - l7ru = fakes.FakeResource( - info=copy.deepcopy(l7ru_info), - loaded=True) - - return l7ru - - -class FakeHM(object): - """Fake one or more health monitors.""" - - @staticmethod - def create_one_health_monitor(attrs=None): - attrs = attrs or {} - - hm_info = { - "project_id": uuidutils.generate_uuid(dashed=True), - "name": 'hm-name-' + uuidutils.generate_uuid(dashed=True), - "admin_state_up": True, - "pools": [ - { - "id": uuidutils.generate_uuid(dashed=True) - } - ], - "created_at": "2017-05-10T06:11:10", - "provisioning_status": "PENDING_CREATE", - "delay": 10, - "expected_codes": "200", - "max_retries": 2, - "http_method": "GET", - "timeout": 10, - "max_retries_down": 3, - "url_path": "/some/custom/path", - "type": "HTTP", - "id": uuidutils.generate_uuid(dashed=True) - } - - hm_info.update(attrs) - - hm = fakes.FakeResource( - info=copy.deepcopy(hm_info), - loaded=True) - - return hm - - -class FakeQT(object): - """Fake one or more Quota.""" - - @staticmethod - def create_one_quota(attrs=None): - attrs = attrs or {} - - qt_info = { - "health_monitor": -1, - "listener": None, - "load_balancer": 5, - "member": 50, - "pool": None, - "project_id": uuidutils.generate_uuid(dashed=True) - } - - qt_info.update(attrs) - - qt = fakes.FakeResource( - info=copy.deepcopy(qt_info), - loaded=True) - - return qt - - -class FakeAmphora(object): - """Fake one or more amphorae.""" - - @staticmethod - def create_one_amphora(attrs=None): - attrs = attrs or {} - - amphora = { - "id": uuidutils.generate_uuid(dashed=True), - "loadbalancer_id": uuidutils.generate_uuid(dashed=True), - "compute_id": uuidutils.generate_uuid(dashed=True), - "lb_network_ip": "192.168.1.3", - "vrrp_ip": "192.168.1.6", - "ha_ip": "192.168.1.10", - "vrrp_port_id": uuidutils.generate_uuid(dashed=True), - "ha_port_id": uuidutils.generate_uuid(dashed=True), - "cert_expiration": "2019-09-19 00:34:51", - "cert_busy": 0, - "role": "BACKUP", - "status": "ALLOCATED", - "vrrp_interface": "eth1", - "vrrp_id": 1, - "vrrp_priority": 200, - "cached_zone": "zone2", - } - - amphora.update(attrs) - - return fakes.FakeResource( - info=copy.deepcopy(amphora), - loaded=True) + resource_info.update(attrs) + return fakes.FakeResource( + info=copy.deepcopy(resource_info), loaded=True, + ) diff --git a/octaviaclient/tests/unit/osc/v2/test_amphora.py b/octaviaclient/tests/unit/osc/v2/test_amphora.py index 607ba85..9a216fd 100644 --- a/octaviaclient/tests/unit/osc/v2/test_amphora.py +++ b/octaviaclient/tests/unit/osc/v2/test_amphora.py @@ -18,15 +18,12 @@ import osc_lib.tests.utils as osc_test_utils from octaviaclient.osc.v2 import amphora from octaviaclient.osc.v2 import constants -from octaviaclient.tests.unit.osc.v2 import fakes as amp_fakes - -AUTH_TOKEN = "foobar" -AUTH_URL = "http://192.0.2.2" +from octaviaclient.tests.unit.osc.v2 import fakes -class TestAmphora(amp_fakes.TestOctaviaClient): +class TestAmphora(fakes.TestOctaviaClient): - _amp = amp_fakes.FakeAmphora.create_one_amphora() + _amp = fakes.createFakeResource('amphora') columns = constants.AMPHORA_COLUMNS rows = constants.AMPHORA_ROWS diff --git a/octaviaclient/tests/unit/osc/v2/test_health_monitor.py b/octaviaclient/tests/unit/osc/v2/test_health_monitor.py index 74a46d2..ac24c7e 100644 --- a/octaviaclient/tests/unit/osc/v2/test_health_monitor.py +++ b/octaviaclient/tests/unit/osc/v2/test_health_monitor.py @@ -17,15 +17,12 @@ import mock from osc_lib import exceptions from octaviaclient.osc.v2 import health_monitor -from octaviaclient.tests.unit.osc.v2 import fakes as hm_fakes - -AUTH_TOKEN = "foobar" -AUTH_URL = "http://192.0.2.2" +from octaviaclient.tests.unit.osc.v2 import fakes -class TestHealthMonitor(hm_fakes.TestOctaviaClient): +class TestHealthMonitor(fakes.TestOctaviaClient): - _hm = hm_fakes.FakeHM.create_one_health_monitor() + _hm = fakes.createFakeResource('hm') columns = ('id', 'name', 'project_id', 'type', 'admin_state_up') diff --git a/octaviaclient/tests/unit/osc/v2/test_l7policy.py b/octaviaclient/tests/unit/osc/v2/test_l7policy.py index 80ff348..64a1b07 100644 --- a/octaviaclient/tests/unit/osc/v2/test_l7policy.py +++ b/octaviaclient/tests/unit/osc/v2/test_l7policy.py @@ -17,15 +17,12 @@ import mock from osc_lib import exceptions from octaviaclient.osc.v2 import l7policy -from octaviaclient.tests.unit.osc.v2 import fakes as po_fakes - -AUTH_TOKEN = "foobar" -AUTH_URL = "http://192.0.2.2" +from octaviaclient.tests.unit.osc.v2 import fakes -class TestL7Policy(po_fakes.TestOctaviaClient): +class TestL7Policy(fakes.TestOctaviaClient): - _l7po = po_fakes.FakeL7Policy.create_one_l7policy() + _l7po = fakes.createFakeResource('l7policy') columns = ( 'id', diff --git a/octaviaclient/tests/unit/osc/v2/test_l7rule.py b/octaviaclient/tests/unit/osc/v2/test_l7rule.py index 2e59320..6ce8940 100644 --- a/octaviaclient/tests/unit/osc/v2/test_l7rule.py +++ b/octaviaclient/tests/unit/osc/v2/test_l7rule.py @@ -15,16 +15,14 @@ import copy import mock from octaviaclient.osc.v2 import l7rule -from octaviaclient.tests.unit.osc.v2 import fakes as ru_fakes - -AUTH_TOKEN = "foobar" -AUTH_URL = "http://192.0.2.2" +from octaviaclient.tests.unit.osc.v2 import fakes +from octaviaclient.tests.unit.osc.v2 import test_l7policy -class TestL7Policy(ru_fakes.TestOctaviaClient): +class TestL7Rule(fakes.TestOctaviaClient): - _l7ru = ru_fakes.FakeL7Rule.create_one_l7rule() - _l7po = ru_fakes.FakeL7Policy.create_one_l7policy() + _l7ru = fakes.createFakeResource('l7rule') + _l7po = fakes.createFakeResource('l7policy') columns = ( 'id', @@ -64,24 +62,14 @@ class TestL7Policy(ru_fakes.TestOctaviaClient): 'admin_state_up': _l7ru.admin_state_up, 'invert': _l7ru.invert }]} - po_info = {'l7policies': [{ - "listener_id": _l7po.listener_id, - "description": _l7po.description, - "admin_state_up": _l7po.admin_state_up, - "rules": _l7po.rules, - "provisioning_status": _l7po.provisioning_status, - "redirect_pool_id": _l7po.redirect_pool_id, - "action": _l7po.action, - "position": _l7po.position, - "project_id": _l7po.project_id, - "id": _l7po.id, - "name": _l7po.name - }]} + + po_info = test_l7policy.TestL7Policy.info + l7po_info = copy.deepcopy(po_info) l7ru_info = copy.deepcopy(info) def setUp(self): - super(TestL7Policy, self).setUp() + super(TestL7Rule, self).setUp() self.l7ru_mock = self.app.client_manager.load_balancer.load_balancers self.l7ru_mock.reset_mock() @@ -92,7 +80,7 @@ class TestL7Policy(ru_fakes.TestOctaviaClient): lb_client.load_balancer = self.api_mock -class TestL7RuleList(TestL7Policy): +class TestL7RuleList(TestL7Rule): def setUp(self): super(TestL7RuleList, self).setUp() @@ -112,7 +100,7 @@ class TestL7RuleList(TestL7Policy): self.assertEqual(self.datalist, tuple(data)) -class TestL7RuleDelete(TestL7Policy): +class TestL7RuleDelete(TestL7Rule): def setUp(self): super(TestL7RuleDelete, self).setUp() @@ -135,7 +123,7 @@ class TestL7RuleDelete(TestL7Policy): ) -class TestL7RuleCreate(TestL7Policy): +class TestL7RuleCreate(TestL7Rule): def setUp(self): super(TestL7RuleCreate, self).setUp() @@ -178,7 +166,7 @@ class TestL7RuleCreate(TestL7Policy): }) -class TestL7RuleShow(TestL7Policy): +class TestL7RuleShow(TestL7Rule): def setUp(self): super(TestL7RuleShow, self).setUp() @@ -206,7 +194,7 @@ class TestL7RuleShow(TestL7Policy): ) -class TestL7RuleSet(TestL7Policy): +class TestL7RuleSet(TestL7Rule): def setUp(self): super(TestL7RuleSet, self).setUp() diff --git a/octaviaclient/tests/unit/osc/v2/test_listener.py b/octaviaclient/tests/unit/osc/v2/test_listener.py index 63c3933..2a97392 100644 --- a/octaviaclient/tests/unit/osc/v2/test_listener.py +++ b/octaviaclient/tests/unit/osc/v2/test_listener.py @@ -16,16 +16,13 @@ import mock from osc_lib import exceptions -from octaviaclient.osc.v2 import listener as listener -from octaviaclient.tests.unit.osc.v2 import fakes as li_fakes - -AUTH_TOKEN = "foobar" -AUTH_URL = "http://192.0.2.2" +from octaviaclient.osc.v2 import listener +from octaviaclient.tests.unit.osc.v2 import fakes -class TestListener(li_fakes.TestOctaviaClient): +class TestListener(fakes.TestOctaviaClient): - _li = li_fakes.FakeListener.create_one_listener() + _li = fakes.createFakeResource('listener') columns = ( 'id', diff --git a/octaviaclient/tests/unit/osc/v2/test_load_balancer.py b/octaviaclient/tests/unit/osc/v2/test_load_balancer.py index 0876682..5083103 100644 --- a/octaviaclient/tests/unit/osc/v2/test_load_balancer.py +++ b/octaviaclient/tests/unit/osc/v2/test_load_balancer.py @@ -18,16 +18,13 @@ import mock from osc_lib import exceptions from oslo_utils import uuidutils -from octaviaclient.osc.v2 import load_balancer as load_balancer -from octaviaclient.tests.unit.osc.v2 import fakes as lb_fakes - -AUTH_TOKEN = "foobar" -AUTH_URL = "http://192.0.2.2" +from octaviaclient.osc.v2 import load_balancer +from octaviaclient.tests.unit.osc.v2 import fakes -class TestLoadBalancer(lb_fakes.TestOctaviaClient): +class TestLoadBalancer(fakes.TestOctaviaClient): - _lb = lb_fakes.FakeLoadBalancer.create_one_load_balancer() + _lb = fakes.createFakeResource('loadbalancer') columns = ( 'id', @@ -189,7 +186,7 @@ class TestLoadBalancerCreate(TestLoadBalancer): @mock.patch('octaviaclient.osc.v2.utils.get_loadbalancer_attrs') def test_load_balancer_create_missing_args(self, mock_client): # Clone load balancer to avoid race conditions - lb = lb_fakes.FakeLoadBalancer.create_one_load_balancer() + lb = fakes.createFakeResource('loadbalancer') attrs_list = lb.to_dict() args = ("vip_subnet_id", "vip_network_id", "vip_port_id") diff --git a/octaviaclient/tests/unit/osc/v2/test_member.py b/octaviaclient/tests/unit/osc/v2/test_member.py index 728ef96..cefef82 100644 --- a/octaviaclient/tests/unit/osc/v2/test_member.py +++ b/octaviaclient/tests/unit/osc/v2/test_member.py @@ -15,14 +15,15 @@ import copy import mock -from octaviaclient.osc.v2 import member -from octaviaclient.tests.unit.osc.v2 import fakes as mem_fakes import osc_lib.tests.utils as osc_test_utils +from octaviaclient.osc.v2 import member +from octaviaclient.tests.unit.osc.v2 import fakes -class TestMember(mem_fakes.TestOctaviaClient): - mem = mem_fakes.FakeMember.create_member() +class TestMember(fakes.TestOctaviaClient): + + _mem = fakes.createFakeResource('member') columns = ( 'id', @@ -37,27 +38,27 @@ class TestMember(mem_fakes.TestOctaviaClient): datalist = ( ( - mem.id, - mem.name, - mem.project_id, - mem.provisioning_status, - mem.address, - mem.protocol_port, - mem.operating_status, - mem.weight + _mem.id, + _mem.name, + _mem.project_id, + _mem.provisioning_status, + _mem.address, + _mem.protocol_port, + _mem.operating_status, + _mem.weight ), ) info = {'members': [{ - 'id': mem.id, - 'name': mem.name, - 'project_id': mem.project_id, - 'provisioning_status': mem.provisioning_status, - 'address': mem.address, - 'protocol_port': mem.protocol_port, - 'operating_status': mem.operating_status, - 'weight': mem.weight, - 'pool_id': mem.pool_id}] + 'id': _mem.id, + 'name': _mem.name, + 'project_id': _mem.project_id, + 'provisioning_status': _mem.provisioning_status, + 'address': _mem.address, + 'protocol_port': _mem.protocol_port, + 'operating_status': _mem.operating_status, + 'weight': _mem.weight, + 'pool_id': _mem.pool_id}] } mem_info = copy.deepcopy(info) @@ -90,7 +91,7 @@ class TestListMember(TestMember): @mock.patch('octaviaclient.osc.v2.utils.get_member_attrs') def test_member_list(self, mock_attrs): mock_attrs.return_value = {'pool_id': 'pool_id', - 'project_id': self.mem.project_id} + 'project_id': self._mem.project_id} arglist = ['pool_id'] verifylist = [] @@ -115,10 +116,10 @@ class TestCreateMember(TestMember): def test_member_create(self, mock_attrs): mock_attrs.return_value = { 'ip_address': '192.0.2.122', - 'protocol_port': self.mem.protocol_port, - 'weight': self.mem.weight, + 'protocol_port': self._mem.protocol_port, + 'weight': self._mem.weight, 'admin_state_up': True, - 'pool_id': self.mem.pool_id} + 'pool_id': self._mem.pool_id} arglist = ['pool_id', '--address', '192.0.2.122', '--protocol-port', '80', @@ -132,10 +133,10 @@ class TestCreateMember(TestMember): parsed_args = self.check_parser(self.cmd, arglist, verifylist) self.cmd.take_action(parsed_args) self.api_mock.member_create.assert_called_with( - pool_id=self.mem.pool_id, json={ + pool_id=self._mem.pool_id, json={ 'member': {'ip_address': '192.0.2.122', - 'protocol_port': self.mem.protocol_port, - 'weight': self.mem.weight, + 'protocol_port': self._mem.protocol_port, + 'weight': self._mem.weight, 'admin_state_up': True}}) @@ -198,17 +199,17 @@ class TestMemberShow(TestMember): @mock.patch('octaviaclient.osc.v2.utils.get_member_attrs') def test_member_show(self, mock_attrs): - mock_attrs.return_value = {'member_id': self.mem.id, - 'pool_id': self.mem.pool_id} - arglist = [self.mem.pool_id, self.mem.id] + mock_attrs.return_value = {'member_id': self._mem.id, + 'pool_id': self._mem.pool_id} + arglist = [self._mem.pool_id, self._mem.id] verifylist = [ - ('pool', self.mem.pool_id), - ('member', self.mem.id) + ('pool', self._mem.pool_id), + ('member', self._mem.id) ] parsed_args = self.check_parser(self.cmd, arglist, verifylist) self.cmd.take_action(parsed_args) self.api_mock.member_show.assert_called_with( - member_id=self.mem.id, - pool_id=self.mem.pool_id + member_id=self._mem.id, + pool_id=self._mem.pool_id ) diff --git a/octaviaclient/tests/unit/osc/v2/test_pool.py b/octaviaclient/tests/unit/osc/v2/test_pool.py index eb0052f..d3fa2e9 100644 --- a/octaviaclient/tests/unit/osc/v2/test_pool.py +++ b/octaviaclient/tests/unit/osc/v2/test_pool.py @@ -17,20 +17,17 @@ import mock from osc_lib import exceptions from octaviaclient.osc.v2 import pool as pool -from octaviaclient.tests.unit.osc.v2 import fakes as po_fakes - -AUTH_TOKEN = "foobar" -AUTH_URL = "http://192.0.2.2" +from octaviaclient.tests.unit.osc.v2 import fakes -class TestPool(po_fakes.TestOctaviaClient): +class TestPool(fakes.TestOctaviaClient): - _po = po_fakes.FakePool.create_one_pool() + _po = fakes.createFakeResource('pool') columns = ('id', 'name', 'project_id', - 'provisioning status', + 'provisioning_status', 'protocol', 'lb_algorithm', 'admin_state_up') diff --git a/octaviaclient/tests/unit/osc/v2/test_quota.py b/octaviaclient/tests/unit/osc/v2/test_quota.py index fc64ec2..13288c3 100644 --- a/octaviaclient/tests/unit/osc/v2/test_quota.py +++ b/octaviaclient/tests/unit/osc/v2/test_quota.py @@ -17,15 +17,12 @@ import mock from osc_lib import exceptions from octaviaclient.osc.v2 import quota -from octaviaclient.tests.unit.osc.v2 import fakes as qt_fakes - -AUTH_TOKEN = "foobar" -AUTH_URL = "http://192.0.2.2" +from octaviaclient.tests.unit.osc.v2 import fakes -class TestQuota(qt_fakes.TestOctaviaClient): +class TestQuota(fakes.TestOctaviaClient): - _qt = qt_fakes.FakeQT.create_one_quota() + _qt = fakes.createFakeResource('quota') columns = ('project_id', 'load_balancer', 'listener', 'pool', 'health_monitor', 'member') @@ -212,7 +209,7 @@ class TestQuotaReset(TestQuota): # due to a race condition project_id = 'fake_project_id' attrs = {'project_id': project_id} - qt_reset = qt_fakes.FakeQT.create_one_quota(attrs) + qt_reset = fakes.createFakeResource('quota', attrs) mock_attrs.return_value = qt_reset.to_dict() diff --git a/octaviaclient/tests/unit/osc/v2/test_validations.py b/octaviaclient/tests/unit/osc/v2/test_validations.py index 3992d06..09e3e77 100644 --- a/octaviaclient/tests/unit/osc/v2/test_validations.py +++ b/octaviaclient/tests/unit/osc/v2/test_validations.py @@ -11,10 +11,11 @@ # under the License. # -from octaviaclient.osc.v2 import validate from osc_lib import exceptions from osc_lib.tests import utils +from octaviaclient.osc.v2 import validate + class TestValidations(utils.TestCommand): def setUp(self):