Skip to content

Commit 8baecb0

Browse files
committed
revert implementation, remove redundant call to retrieve mappings
1 parent 1d75485 commit 8baecb0

2 files changed

Lines changed: 4 additions & 49 deletions

File tree

cterasdk/edge/directoryservice.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -108,14 +108,12 @@ def set_advanced_mapping(self, mappings):
108108
raise CTERAException('Failed to configure advanced mapping. Not connected to directory services.')
109109

110110
domains = self.domains()
111-
existing_mappings = self._edge.api.get('/config/fileservices/cifs/idMapping/map')
112-
mapping_dict = {mapping.domainFlatName: mapping for mapping in existing_mappings}
111+
advanced_mapping = []
113112
for mapping in mappings:
114113
if mapping.domainFlatName in domains:
115-
mapping_dict[mapping.domainFlatName] = mapping
114+
advanced_mapping.append(mapping)
116115
else:
117116
logger.warning('Invalid mapping. Could not find domain. %s', {'domain': mapping.domainFlatName})
118-
advanced_mapping = list(mapping_dict.values())
119117

120118
logger.debug('Updating advanced mapping. %s', {
121119
'domains': [mapping.domainFlatName for mapping in advanced_mapping]

tests/ut/edge/test_directory_service.py

Lines changed: 2 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,8 @@ def setUp(self):
1717
self._password = 'password'
1818
self._workgroup = "CTERA"
1919
self._domain_flat_name = "CTERA"
20-
self._domain_flat_name_2 = "MYDOMAIN"
2120
self._mapping_min = 2000000
2221
self._mapping_max = 5000000
23-
self._mapping_min_2 = 1000000
24-
self._mapping_max_2 = 1500000
2522
self._dc = '192.168.0.1'
2623
self._ports = [389, 3268, 445]
2724

@@ -147,44 +144,14 @@ def test_set_advanced_mapping(self):
147144
advanced_mapping = [
148145
TestEdgeDirectoryService._get_advanced_mapping_object(self._domain_flat_name, self._mapping_min, self._mapping_max)
149146
]
150-
existing_mappings = []
151-
get_response_side_effect = TestEdgeDirectoryService._get_set_advanced_mapping_side_effect(0, existing_mappings)
152-
self._init_filer(execute_response=execute_response)
153-
self._filer.api.get = mock.MagicMock(side_effect=get_response_side_effect)
147+
self._init_filer(get_response=0, execute_response=execute_response)
154148
directoryservice.DirectoryService(self._filer).set_advanced_mapping(advanced_mapping)
155-
self._filer.api.get.assert_has_calls([
156-
mock.call('/status/fileservices/cifs/joinStatus'),
157-
mock.call('/config/fileservices/cifs/idMapping/map')
158-
])
149+
self._filer.api.get.assert_called_once_with('/status/fileservices/cifs/joinStatus')
159150
self._filer.api.execute.assert_called_once_with('/status/fileservices/cifs', 'enumDiscoveredDomains')
160151
self._filer.api.put.assert_called_once_with('/config/fileservices/cifs/idMapping/map', mock.ANY)
161152
actual_param = self._filer.api.put.call_args[0][1]
162153
self._assert_equal_objects(advanced_mapping[0], actual_param[0])
163154

164-
def test_set_advanced_mapping_with_existing_mappings(self):
165-
execute_response = TestEdgeDirectoryService._create_get_domains_response(self._domain_flat_name, self._domain_flat_name_2)
166-
advanced_mapping = [
167-
TestEdgeDirectoryService._get_advanced_mapping_object(self._domain_flat_name, self._mapping_min, self._mapping_max)
168-
]
169-
existing_mappings = [
170-
TestEdgeDirectoryService._get_advanced_mapping_object(self._domain_flat_name_2, self._mapping_min_2, self._mapping_max_2)
171-
]
172-
get_response_side_effect = TestEdgeDirectoryService._get_set_advanced_mapping_side_effect(0, existing_mappings)
173-
self._init_filer(execute_response=execute_response)
174-
self._filer.api.get = mock.MagicMock(side_effect=get_response_side_effect)
175-
directoryservice.DirectoryService(self._filer).set_advanced_mapping(advanced_mapping)
176-
self._filer.api.get.assert_has_calls([
177-
mock.call('/status/fileservices/cifs/joinStatus'),
178-
mock.call('/config/fileservices/cifs/idMapping/map')
179-
])
180-
self._filer.api.execute.assert_called_once_with('/status/fileservices/cifs', 'enumDiscoveredDomains')
181-
self._filer.api.put.assert_called_once_with('/config/fileservices/cifs/idMapping/map', mock.ANY)
182-
actual_param = self._filer.api.put.call_args[0][1]
183-
self.assertEqual(len(actual_param), 2)
184-
domain_names = [mapping.domainFlatName for mapping in actual_param]
185-
self.assertIn(self._domain_flat_name, domain_names)
186-
self.assertIn(self._domain_flat_name_2, domain_names)
187-
188155
def test_set_advanced_mapping_raise(self):
189156
self._init_filer(get_response=1)
190157
with self.assertRaises(exceptions.CTERAException) as error:
@@ -283,13 +250,3 @@ def get_response(path):
283250
return cifs_param
284251
return None
285252
return get_response
286-
287-
@staticmethod
288-
def _get_set_advanced_mapping_side_effect(join_status, existing_mappings):
289-
def get_response(path):
290-
if path == '/status/fileservices/cifs/joinStatus':
291-
return join_status
292-
if path == '/config/fileservices/cifs/idMapping/map':
293-
return existing_mappings
294-
return None
295-
return get_response

0 commit comments

Comments
 (0)