p.store(fos, "");
fos.close();
final List<AdminServiceImpl> admins = new ArrayList<AdminServiceImpl>();
try {
AdminCommandSupport mockCommand = EasyMock.createStrictMock(AdminCommandSupport.class);
mockCommand.setAdminService((AdminService) EasyMock.anyObject());
EasyMock.expectLastCall().andAnswer(new IAnswer<Object>() {
public Object answer() throws Throwable {
AdminServiceImpl svc = (AdminServiceImpl) EasyMock.getCurrentArguments()[0];
assertEquals(tempFile, svc.getStorageLocation());
admins.add(svc);
return null;
}
});
EasyMock.expect(mockCommand.execute(null)).andAnswer(new IAnswer<Object>() {
public Object answer() throws Throwable {
// The Admin Service should be initialized at this point.
// One way to find this out is by reading out the port number
AdminServiceImpl admin = admins.get(0);
Field field = AdminServiceImpl.class.getDeclaredField("defaultPortStart");