package fitnesse.revisioncontrol.responders; import static fitnesse.revisioncontrol.NullState.VERSIONED; import fitnesse.revisioncontrol.RevisionControlException; import static util.RegexTestCase.assertSubString; import static org.easymock.EasyMock.*; public class SyncResponderTest extends RevisionControlTestCase { public void testShouldAskRevisionControllerToSyncronizePage() throws Exception { expectStateOfPageIs(FS_PARENT_PAGE, VERSIONED); replay(revisionController); createPage(FS_PARENT_PAGE); request.setResource(FS_PARENT_PAGE); invokeResponderAndCheckSuccessStatus(); } public void testShouldReportErrorMsgIfSyncronizationFails() throws Exception { final String errorMsg = "Cannot synchronize files from Revision Control"; expect(revisionController.getState(filePathFor(FS_PARENT_PAGE))).andThrow(new RevisionControlException(errorMsg)); replay(revisionController); createPage(FS_PARENT_PAGE); request.setResource(FS_PARENT_PAGE); invokeResponderAndCheckSuccessStatus(); assertSubString(errorMsg, response.getContent()); } public void testShouldSyncronizeAllChildPage() throws Exception { expectStateOfPageIs(FS_PARENT_PAGE, VERSIONED); replay(revisionController); createPage(FS_GRAND_CHILD_PAGE); request.setResource(FS_PARENT_PAGE); invokeResponderAndCheckSuccessStatus(); } @Override protected void setUp() throws Exception { super.setUp(); responder = new SyncResponder(); } @Override protected void tearDown() throws Exception { super.tearDown(); verify(revisionController); } }