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

Reply via email to