Skip to content

Commit e921458

Browse files
committed
Move helper function out of class
1 parent a0e0881 commit e921458

2 files changed

Lines changed: 21 additions & 20 deletions

File tree

f5/bigip/resource.py

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,21 @@ class AttemptedMutationOfReadOnly(F5SDKError):
179179
pass
180180

181181

182+
def _missing_required_parameters(rqset, **kwargs):
183+
"""Helper function to do operation on sets.
184+
185+
Checks for any missing required parameters.
186+
Returns non-empty or empty list. With empty
187+
list being False.
188+
189+
::returns list
190+
"""
191+
key_set = set(kwargs.keys())
192+
required_minus_received = rqset - key_set
193+
if required_minus_received != set():
194+
return list(required_minus_received)
195+
196+
182197
class PathElement(LazyAttributeMixin):
183198
"""Base class to represent a URI path element that does not contain data.
184199
@@ -227,7 +242,7 @@ def _check_command_parameters(self, **kwargs):
227242
:raises: MissingRequiredCommandParameter
228243
"""
229244
rset = self._meta_data['required_command_parameters']
230-
check = self._missing_required_parameters(rset, **kwargs)
245+
check = _missing_required_parameters(rset, **kwargs)
231246
if check:
232247
error_message = 'Missing required params: %s' % check
233248
raise MissingRequiredCommandParameter(error_message)
@@ -295,21 +310,6 @@ def _check_exclusive_parameters(self, **kwargs):
295310
'together: "%s".' % cset
296311
raise ExclusiveAttributesPresent(error)
297312

298-
@staticmethod
299-
def _missing_required_parameters(rqset, **kwargs):
300-
"""Helper function to do operation on sets.
301-
302-
Checks for any missing required parameters.
303-
Returns non-empty or empty list. With empty
304-
list being False.
305-
306-
::returns list
307-
"""
308-
key_set = set(kwargs.keys())
309-
required_minus_received = rqset - key_set
310-
if required_minus_received != set():
311-
return list(required_minus_received)
312-
313313
@property
314314
def raw(self):
315315
"""Display the attributes that the current object has and their values.
@@ -821,7 +821,7 @@ def _check_create_parameters(self, **kwargs):
821821
:raises: MissingRequiredCreateParameter
822822
"""
823823
rset = self._meta_data['required_creation_parameters']
824-
check = self._missing_required_parameters(rset, **kwargs)
824+
check = _missing_required_parameters(rset, **kwargs)
825825
if check:
826826
error_message = 'Missing required params: %s' % check
827827
raise MissingRequiredCreationParameter(error_message)
@@ -888,7 +888,7 @@ def _check_load_parameters(self, **kwargs):
888888
:raises: MissingRequiredReadParameter
889889
"""
890890
rset = self._meta_data['required_load_parameters']
891-
check = self._missing_required_parameters(rset, **kwargs)
891+
check = _missing_required_parameters(rset, **kwargs)
892892
if check:
893893
error_message = 'Missing required params: %s' % check
894894
raise MissingRequiredReadParameter(error_message)

f5/bigip/test/test_resource.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import pytest
1717
import requests
1818

19+
from f5.bigip.resource import _missing_required_parameters
1920
from f5.bigip.resource import AttemptedMutationOfReadOnly
2021
from f5.bigip.resource import BooleansToReduceHaveSameValue
2122
from f5.bigip.resource import Collection
@@ -672,15 +673,15 @@ def test_missing_req_param_true(self):
672673
p = PathElement(mock.MagicMock())
673674
rqset = set(['FOOPAR1', 'FOOPAR2'])
674675
fakearg = {'FOOPAR1': 'FOOVAL'}
675-
mrq = p._missing_required_parameters(rqset, **fakearg)
676+
mrq = _missing_required_parameters(rqset, **fakearg)
676677
assert mrq
677678
assert mrq == ['FOOPAR2']
678679

679680
def test_missing_req_param_false(self):
680681
p = PathElement(mock.MagicMock())
681682
rqset = set(['FOOPAR1'])
682683
fakearg = {'FOOPAR1': 'FOOVAL'}
683-
mrq = p._missing_required_parameters(rqset, **fakearg)
684+
mrq = _missing_required_parameters(rqset, **fakearg)
684685
assert not mrq
685686

686687
def test_check_load_parameters_fail(self):

0 commit comments

Comments
 (0)