Is your feature request related to a problem? Please describe.
I'm trying to use unittest to check call args:
def test_create_folder_exists(box: BoxClient):
with patch.object(box.folders, 'create_folder') as mock_create:
mock_create.side_effect = [
BoxAPIError(RequestInfo('POST', 'url', {}, {}), ResponseInfo(409, {}), '409'),
'FolderFull',
]
new_box.create_folder(
box,
PARENT_FOLDER_ID,
'test_folder_829',
increment=True,
)
assert mock_create.call_count == 2
mock_create.assert_any_call(
'test_folder_829 (1)',
CreateFolderParent(PARENT_FOLDER_ID), # THIS PART IS FAILING
)
(I'm trying to check that my code increments folder names on collisions, like name (1), name (2), etc.)
Unfortunately, the assertion does NOT pass, because CreateFolderParent doesn't implement __eq__:
In [9]: from box_sdk_gen import CreateFolderParent
In [10]: a = CreateFolderParent('12')
In [11]: b = CreateFolderParent('12')
In [12]: a == b
Out[12]: False
Describe the solution you'd like
Adding basic equality check makes my tests pass:
def __eq__(self, other):
if isinstance(other, CreateFolderParent):
return self.id == other.id
return False
I guess it would be nice to implement this for all these "arg" classes in the library, as there are lots of them.
Describe alternatives you've considered
I can fix my current issues with deep assert equal of the create_folder_parent.id values.
Is your feature request related to a problem? Please describe.
I'm trying to use unittest to check call args:
(I'm trying to check that my code increments folder names on collisions, like
name (1),name (2), etc.)Unfortunately, the assertion does NOT pass, because
CreateFolderParentdoesn't implement__eq__:Describe the solution you'd like
Adding basic equality check makes my tests pass:
I guess it would be nice to implement this for all these "arg" classes in the library, as there are lots of them.
Describe alternatives you've considered
I can fix my current issues with deep assert equal of the
create_folder_parent.idvalues.