package dw.cli.commands.itest;
import dw.cli.itest.TestHelper;
public class Test_LocksSetter extends TestHelper {
@org.junit.Before
@org.junit.After
public void unlockAll() throws Exception {
runWithArguments("unlock", "ns2:p1", "ns2:p2", "ns2:p3");
runWithArgumentAsWriterUser("unlock", "ns2:p1", "ns2:p2", "ns2:p3");
}
@org.junit.Test
public void canLockAPage() throws Exception {
//Check initial state
assertIsntLocked("ns2:p1");
assertIsntLocked("ns2:p3");
//Act
assertSuccess("", runWithArguments("lock", "ns2:p1"));
//Check final state
assertIsLocked("ns2:p1");
assertIsntLocked("ns2:p3");
}
private void assertIsntLocked(String pageId) throws Exception {
assertGenericSuccess(runWithArgumentAsWriterUser("putPage", pageId, "some text"));
}
private void assertIsLocked(String pageId) throws Exception {
assertGenericError(runWithArgumentAsWriterUser("putPage", pageId, "some text"));
}
@org.junit.Test
public void canLockSeveralPages() throws Exception {
//Check initial state
assertIsntLocked("ns2:p1");
assertIsntLocked("ns2:p2");
assertIsntLocked("ns2:p3");
//Act
assertSuccess("", runWithArguments("lock", "ns2:p1", "ns2:p2"));
//Check final state
assertIsLocked("ns2:p1");
assertIsLocked("ns2:p2");
assertIsntLocked("ns2:p3");
}
@org.junit.Test
public void canUnlockAPage() throws Exception {
//Prepare and check initial state
runWithArguments("lock", "ns2:p1");
assertIsLocked("ns2:p1");
//Act
assertSuccess("", runWithArguments("unlock", "ns2:p1"));
//Check final state
assertIsntLocked("ns2:p1");
}
@org.junit.Test
public void canUnlockSeveralPage() throws Exception {
//Prepare and check initial state
runWithArguments("lock", "ns2:p1", "ns2:p2");
assertIsLocked("ns2:p1");
assertIsLocked("ns2:p2");
//Act
assertSuccess("", runWithArguments("unlock", "ns2:p1", "ns2:p2"));
//Check final state
assertIsntLocked("ns2:p1");
assertIsntLocked("ns2:p2");
}
@org.junit.Test
public void reportsAnErrorIfAtLeastOneLockFailed() throws Exception {
//Prepare initial state
runWithArgumentAsWriterUser("lock", "ns2:p1");
//Act
assertGenericError(runWithArguments("lock", "ns2:p1", "ns2:p2"));
}
@org.junit.Test
public void reportsAnErrorIfAtLeastOneUnlockFailed() throws Exception {
//Prepare initial state
runWithArgumentAsWriterUser("lock", "ns2:p1");
//Act
assertGenericError(runWithArguments("unlock", "ns2:p1", "ns2:p2"));
}
}