Without this patch the vm_clone requiest would not find a Managed Object
Reference when a UUID that is not a string is passed as the
instance_uuid option. This is a problem because an unhelpful "undefined
method `parent' for nil:NilClass" would be thrown to the application.
This patch throws a more helpful Fog::Compute::Vsphere::NotFound
exception if the Virtual Machine template is not found.
The tests have been updated to reflect this expectation.
Without this patch it was difficult to figure out from the outside what
vSphere server Fog connected to. The application using Fog should be
able to easily print out the connection information without breaking the
encapsulation Fog provides.
This patch makes the connected vSphere server hostname and API username
an attribute of the connection instance.
The tests have been updated to validate these attribute accessor
methods.
This massive commit refactors all of the request methods on the
Fog::Compute[:vsphere] instance to return simple hashes. The behavior
before this commit returned full vmware object references which was a
problem because it was difficult to unit test.
With this patch, it is much easier to add and maintain Mock
implementations of the request methods. This makes adding behavior
tests for the server model much easier.
In addition, test coverage using Shindo has been added. Previously
there was little test coverage of the behavior.
To run the tests:
shindont tests/vsphere/