try {
InstanceCommandSupport mockCommand = EasyMock.createStrictMock(InstanceCommandSupport.class);
mockCommand.setInstanceService((InstanceService) EasyMock.anyObject());
EasyMock.expectLastCall().andAnswer(new IAnswer<Object>() {
public Object answer() throws Throwable {
InstanceServiceImpl instanceService = (InstanceServiceImpl) EasyMock.getCurrentArguments()[0];
assertEquals(tempFile, instanceService.getStorageLocation());
instanceServices.add(instanceService);
return null;
}
});
EasyMock.expect(mockCommand.execute(null)).andAnswer(new IAnswer<Object>() {
public Object answer() throws Throwable {
// The Instances Service should be initialized at this point.
// One way to find this out is by reading out the port number
InstanceServiceImpl instanceService = instanceServices.get(0);
Field sshField = InstanceServiceImpl.class.getDeclaredField("defaultSshPortStart");
sshField.setAccessible(true);
assertEquals(1302, sshField.get(instanceService));
Field rmiRegistryField = InstanceServiceImpl.class.getDeclaredField("defaultRmiRegistryPortStart");
rmiRegistryField.setAccessible(true);