From 3f15e9966a29567a47b9b171b048d6597e166420 Mon Sep 17 00:00:00 2001 From: asarfaty Date: Wed, 17 Mar 2021 10:21:31 +0200 Subject: [PATCH] Fix session persistemce profiles list resource_type is a static method and not a property Change-Id: Ia1e90b2127a865b5997c8f6bec29fb410f417f65 --- .../tests/unit/v3/policy/test_lb_resources.py | 32 +++++++++++++++++-- vmware_nsxlib/v3/policy/lb_resources.py | 4 +-- 2 files changed, 31 insertions(+), 5 deletions(-) diff --git a/vmware_nsxlib/tests/unit/v3/policy/test_lb_resources.py b/vmware_nsxlib/tests/unit/v3/policy/test_lb_resources.py index 8f416f36..8a586de3 100644 --- a/vmware_nsxlib/tests/unit/v3/policy/test_lb_resources.py +++ b/vmware_nsxlib/tests/unit/v3/policy/test_lb_resources.py @@ -292,7 +292,7 @@ class TestPolicyLBCookiePersistenceProfile( with mock.patch.object( self.policy_api, "list", return_value={'results': [ - {'resource_type': self.resourceApi.entry_def.resource_type, + {'resource_type': self.resourceApi.entry_def.resource_type(), 'display_name': name}]}) as api_call: obj = self.resourceApi.get_by_name(name, tenant=TEST_TENANT) self.assertIsNotNone(obj) @@ -305,7 +305,7 @@ class TestPolicyLBCookiePersistenceProfile( with mock.patch.object( self.policy_api, "list", return_value={'results': [ - {'resource_type': self.resourceApi.entry_def.resource_type, + {'resource_type': self.resourceApi.entry_def.resource_type(), 'display_name': 'profile1'}, {'resource_type': 'wrong_type', 'display_name': 'profile2'}]}) as api_call: @@ -436,7 +436,7 @@ class TestPolicyLBSourceIpProfileApi(test_resources.NsxPolicyLibTestCase): with mock.patch.object( self.policy_api, "list", return_value={'results': [ - {'resource_type': self.resourceApi.entry_def.resource_type, + {'resource_type': self.resourceApi.entry_def.resource_type(), 'display_name': name}]}) as api_call: obj = self.resourceApi.get_by_name(name, tenant=TEST_TENANT) self.assertIsNotNone(obj) @@ -446,6 +446,32 @@ class TestPolicyLBSourceIpProfileApi(test_resources.NsxPolicyLibTestCase): self.assert_called_with_def(api_call, expected_def) def test_list(self): + profiles = [{'resource_type': 'LBSourceIpPersistenceProfile', + 'id': 'default-source-ip-lb-persistence-profile', + 'display_name': 'default-source-ip-profile'}] + with mock.patch.object(self.policy_api, "list", + return_value={'results': profiles}) as api_call: + result = self.resourceApi.list(tenant=TEST_TENANT) + expected_def = ( + lb_defs.LBSourceIpPersistenceProfileDef( + tenant=TEST_TENANT)) + self.assert_called_with_def(api_call, expected_def) + self.assertEqual(profiles, result) + + def test_list_different_type(self): + profiles = [{'resource_type': 'LBSourceCookiePersistenceProfile', + 'id': 'default-source-ip-lb-persistence-profile', + 'display_name': 'default-source-ip-profile'}] + with mock.patch.object(self.policy_api, "list", + return_value={'results': profiles}) as api_call: + result = self.resourceApi.list(tenant=TEST_TENANT) + expected_def = ( + lb_defs.LBSourceIpPersistenceProfileDef( + tenant=TEST_TENANT)) + self.assert_called_with_def(api_call, expected_def) + self.assertEqual([], result) + + def test_list_empty(self): with mock.patch.object(self.policy_api, "list", return_value={'results': []}) as api_call: result = self.resourceApi.list(tenant=TEST_TENANT) diff --git a/vmware_nsxlib/v3/policy/lb_resources.py b/vmware_nsxlib/v3/policy/lb_resources.py index b8b8f643..265c9060 100644 --- a/vmware_nsxlib/v3/policy/lb_resources.py +++ b/vmware_nsxlib/v3/policy/lb_resources.py @@ -324,7 +324,7 @@ class NsxPolicyLoadBalancerCookiePersistenceProfileApi( results = self._list(lb_cookie_persistence_profile_def) # filter the results by resource type return [res for res in results - if res.get('resource_type') == self.entry_def.resource_type] + if res.get('resource_type') == self.entry_def.resource_type()] def update(self, persistence_profile_id, name=IGNORE, @@ -388,7 +388,7 @@ class NsxPolicyLoadBalancerSourceIpPersistenceProfileApi( results = self._list(lb_source_ip_persistence_profile_def) # filter the results by resource type return [res for res in results - if res.get('resource_type') == self.entry_def.resource_type] + if res.get('resource_type') == self.entry_def.resource_type()] def update(self, persistence_profile_id, name=IGNORE,