Cloned from launchpad blueprint https://blueprints.launchpad.net/python-cinderclient/+spec/http-mock-testing.
The current testing process involves faking out a lot of client code. This has two major problems:
1. A lot of what we are testing is mocking infrastructure rather than actual code.
2. It is very reliant on the current structure of the client.
In general i would like to push towards adopting the keystoneclient session object as the base means of communication, but first we must make the testing process more resilient and less tied to how the client currently works.
Initially this was planned to be done with HTTPretty, however requirements has allowed a new library called requests-mock which is requests library specific but easier to work with.
Specification URL (additional information):