John Carr created LIBCLOUD-289:
----------------------------------
Summary: Improve libclouds testing approach
Key: LIBCLOUD-289
URL: https://issues.apache.org/jira/browse/LIBCLOUD-289
Project: Libcloud
Issue Type: Bug
Reporter: John Carr
This ticket is to discuss libclouds approach to testing.
First of all I wanted to come up with a strategy to improve each drivers
conformation to the standard interfaces. As a consumer of libcloud the most
frustrating thing is when 2 implementations have subtle differences. By having
a set of conformance tests that each drivers tests inherit from we can go a
long way to addressing this.
Secondly I wanted to make the mocks do more checks of the data they are passed.
Mocks should validate the arguments they are passed. A related problem is that
actually I could introduce a bug where my driver isn't calling the right HTTP
api any more.
Here is an initial attempt, concentrating on the load balancer drivers (there
are only a handful of them):
https://github.com/Jc2k/libcloud/compare/trunk...test-proposal
This isn't complete, but is ready for some discussion.
This was a success in that it actually picked up a few bugs and a few cases
where implementations were non-standard.
As you can see each mock now uses the dummy driver and so the tests can 'round
trip'. For example, if you call detach_member, you can then list_members() and
verify it was actually detached.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira