diff --git a/inventory_provider/db/ims.py b/inventory_provider/db/ims.py index 6932166bd840a79ce1f41d0a4a4125f3a1c3f3ac..34183c450d4ccae71c126717bede8233c091f10c 100644 --- a/inventory_provider/db/ims.py +++ b/inventory_provider/db/ims.py @@ -250,25 +250,13 @@ class IMS(object): self, url, params=None, - navigation_properties=None, - use_cache=False): + navigation_properties=None): url = f'{self.base_url + IMS.IMS_PATH}/{url}' - cache_key = url if navigation_properties: params = params if params else {} params['navigationproperty'] = navigation_properties if isinstance( navigation_properties, int) else sum(navigation_properties) - if use_cache: - if params: - s = '-'.join( - [f'{t}::{params[t]}' - for t in sorted(params)]) - cache_key = f'{cache_key}::{s}' - entity = IMS.cache.get(cache_key, None) - if entity: - return entity - if not IMS.bearer_token: IMS._init_bearer_token( self.username, self.password, self.verify_ssl) @@ -325,9 +313,6 @@ class IMS(object): response.raise_for_status() orig = response.json() return_value = _convert_keys(orig) - - if use_cache: - IMS.cache[cache_key] = return_value return return_value @log_entry_and_exit @@ -335,22 +320,20 @@ class IMS(object): self, entity_type, entity_id, - navigation_properties=None, - use_cache=False): + navigation_properties=None): url = f'{entity_type}/{entity_id}' return \ - self._get_ims_data(url, None, navigation_properties, use_cache) + self._get_ims_data(url, None, navigation_properties) @log_entry_and_exit def get_entity_by_name( self, entity, name, - navigation_properties=None, - use_cache=False): + navigation_properties=None): url = f'{entity}/byname/"{name}"' - return self._get_ims_data(url, None, navigation_properties, use_cache) + return self._get_ims_data(url, None, navigation_properties) @log_entry_and_exit def get_filtered_entities( @@ -358,13 +341,11 @@ class IMS(object): entity, filter_string, navigation_properties=None, - use_cache=False, step_count=50): url = f'{entity}/filtered/{filter_string}' yield from self.get_entities( url, navigation_properties, - use_cache, step_count ) @@ -372,7 +353,6 @@ class IMS(object): self, url, navigation_properties=None, - use_cache=False, step_count=50): more_to_come = True start_entity = 0 @@ -387,8 +367,7 @@ class IMS(object): entities = self._get_ims_data( url, params, - navigation_properties, - use_cache) + navigation_properties) except HTTPError as e: r = e.response if r.status_code == requests.codes.not_found \ @@ -418,13 +397,11 @@ class IMS(object): self, entity, navigation_properties=None, - use_cache=False, step_count=50 ): url = f'{entity}/all' yield from self.get_entities( url, navigation_properties, - use_cache, step_count ) diff --git a/inventory_provider/db/ims_data.py b/inventory_provider/db/ims_data.py index fca38c90bfeb46a3d54fc207835810624a52790d..a6967032cd7b72f37078e70c8b8886f39f809cc0 100644 --- a/inventory_provider/db/ims_data.py +++ b/inventory_provider/db/ims_data.py @@ -598,8 +598,7 @@ def lookup_lg_routers(ds: IMS): if node['inventorystatusid'] != InventoryStatus.IN_SERVICE.value: continue - site = ds.get_entity_by_id('Site', node['siteid'], site_nav_props, - True) + site = ds.get_entity_by_id('Site', node['siteid'], site_nav_props) city = site['city'] abbreviation = '' diff --git a/test/test_ims.py b/test/test_ims.py index 62898b4a69d83567930cd2a6607f0a29f4b1d52f..44b83313a7acbff0c5be7e9e3d329acbb1fe782d 100644 --- a/test/test_ims.py +++ b/test/test_ims.py @@ -158,25 +158,3 @@ def test_ims_class_navigation_properties(mocker): 'dummy_base/ims/Node/1234', headers={'Authorization': 'Bearer dummy_bt'}, params={'navigationproperty': 6}, verify=False) - - -def test_ims_class_cache(mocker): - mock_get = mocker.patch('inventory_provider.db.ims.requests.get') - ds = inventory_provider.db.ims.IMS( - 'dummy_base', 'dummy_username', 'dummy_password', 'dummy_bt') - - ds.get_entity_by_id( - 'Node', 4567, navigation_properties=[1, 2, 3, 4], use_cache=True) - assert mock_get.call_count == 1 - ds.get_entity_by_id( - 'Node', 4567, navigation_properties=[1, 2, 3, 4], use_cache=True) - assert mock_get.call_count == 1 - ds.get_entity_by_id( - 'Node', 4567, navigation_properties=[1, 2, 3, 4], use_cache=False) - assert mock_get.call_count == 2 - ds.get_entity_by_id( - 'Node', 4567, navigation_properties=[1, 2, 3, 4]) - assert mock_get.call_count == 3 - ds.get_entity_by_id( - 'Node', 4567, navigation_properties=[1, 2, 3, 4, 5], use_cache=True) - assert mock_get.call_count == 4