package net.sourceforge.cruisecontrol.distributed.core;
import junit.framework.TestCase;
import net.sourceforge.cruisecontrol.CruiseControlException;
import java.io.File;
/**
* @author Dan Rollo
* Date: Oct 24, 2007
* Time: 12:15:23 AM
*/
public class RemoteResultTest extends TestCase {
/** expose msg text for use by other unit tests. */
public static final String MSG_SUFFIX_BAD_DISTRIBUTED_CHILD_ELEMENT_RESULT
= RemoteResult.MSG_SUFFIX_BAD_DISTRIBUTED_CHILD_ELEMENT_RESULT;
public static void resetTempZippedFile(final RemoteResult remoteResult) { remoteResult.resetTempZippedFile(); }
public void testValidate() throws Exception {
final int badIdx = -1;
try {
new RemoteResult(badIdx).validate();
fail("Invalid index should have failed.");
} catch (CruiseControlException e) {
assertEquals("Invalid remoteResult index: " + badIdx, e.getMessage());
}
final RemoteResult remoteResult = new RemoteResult(0);
try {
remoteResult.validate();
fail("Invalid index should have failed.");
} catch (CruiseControlException e) {
assertEquals("'agentDir' is required for "
+ RemoteResultTest.MSG_SUFFIX_BAD_DISTRIBUTED_CHILD_ELEMENT_RESULT, e.getMessage());
}
remoteResult.setAgentDir("agent");
try {
remoteResult.validate();
fail("Invalid index should have failed.");
} catch (CruiseControlException e) {
assertEquals("'masterDir' is required for "
+ RemoteResultTest.MSG_SUFFIX_BAD_DISTRIBUTED_CHILD_ELEMENT_RESULT, e.getMessage());
}
remoteResult.setMasterDir("master");
remoteResult.validate();
}
public void testImutable() throws Exception {
final RemoteResult remoteResult = new RemoteResult(0);
remoteResult.setAgentDir("agent");
try {
remoteResult.setAgentDir("reset");
fail("Reset should fail");
} catch (IllegalStateException e) {
assertTrue(e.getMessage().startsWith("agentDir already set to: "));
}
remoteResult.setMasterDir("master");
try {
remoteResult.setMasterDir("reset");
fail("Reset should fail");
} catch (IllegalStateException e) {
assertTrue(e.getMessage().startsWith("masterDir already set to: "));
}
remoteResult.storeTempZippedFile(new File("tempZip"));
try {
remoteResult.storeTempZippedFile(new File("dummy"));
fail("Reset should fail");
} catch (IllegalStateException e) {
assertTrue(e.getMessage().startsWith("storeTempZippedFile already set to: "));
}
remoteResult.resetTempZippedFile();
remoteResult.storeTempZippedFile(new File("tempZip"));
}
}