Ok. Let me see what I can put together

From: Ignasi Barrera [mailto:[email protected]]
Sent: Tuesday, July 01, 2014 11:14 AM
To: jclouds/jclouds
Cc: Dancy, Chris
Subject: Re: [jclouds] JCLOUDS-607: ComputeService.createNodesInGroup throws 
NPE on FloatingIPA... (#425)


@nacx<https://github.com/nacx> not sure what unit tests I could write that's 
not already covered. I've not actually written any new functionality just 
checked for a possible NPE.

The 
AllocateAndAddFloatingIpToNodeExpectTest<https://github.com/jclouds/jclouds/blob/master/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/functions/AllocateAndAddFloatingIpToNodeExpectTest.java>
 currently unit tests the catch 
clause<https://github.com/jclouds/jclouds/blob/master/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/functions/AllocateAndAddFloatingIpToNodeExpectTest.java#L100>,
 which is reached when the servers returns a 400 response (the 
NovaErrorhandler<https://github.com/jclouds/jclouds/blob/master/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/handlers/NovaErrorHandler.java#L83-L90>
 is the responsible of automatically translating that 400 response into the 
InsufficientResourcesException).

That test covers only the case when the exception is thrown, but not when the 
API returns null. To properly verify that the class behaves properly even if 
the API returns null, a new test should be added.

It should be pretty straightforward: just copy the existing test for the 400 
response, but configure the response to be a 404. That will translate into a 
null return value. The rest of the test could be the same, as with your change, 
a null value should reach the same execution path than the 
InsufficientResourcesException.

—
Reply to this email directly or view it on 
GitHub<https://github.com/jclouds/jclouds/pull/425#issuecomment-47668739>.


---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/425#issuecomment-47669038

Reply via email to