Hi,

Since python3.11 mocks can no longer be provided as the specs for other Mocks. As a result, an already-mocked object cannot be passed to mock.Mock(). This can uncover bugs in tests since these Mock-derived Mocks will always pass certain tests (e.g. isinstance) and built-in assert functions (e.g. assert_called_once_with) will unconditionally pass.[1]

There's a bug report to track this issue in Cinder [2] but I think this may affect other projects too.

I've reproduce the error and most drivers fail with:
```
unittest.mock.InvalidSpecError: Cannot spec a Mock object. [object=<Mock name='mock.client.HPE3ParClient' id='139657768087760'>]
```

Cheers,
Sofia

[1] https://github.com/python/cpython/issues/87644
[2] https://bugs.launchpad.net/cinder/+bug/2000436
--

Sofía Enriquez

she/her

Software Engineer

Red Hat PnT

IRC: @enriquetaso