box / box/box-python-sdk

Implement `__eq__` for CreateFolderParent class

Abierto
#1,157 1 comentario 0 reacciones 6 asignados Reclamado por @mwwoda Ver en GitHub
enhancement
Lenguaje dominante
Python
Estrellas
459
Forks
223
Merge medio
8 h 57 min
PR fusionados (30 d)
13

Descripción

### Is your feature request related to a problem? Please describe.

I'm trying to use unittest to check call args:

```python
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__`:

```ipython
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:

```python
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.

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.