use of org.xwiki.refactoring.job.MoveRequest in project xwiki-platform by xwiki.
the class MoveJobTest method moveDocumentToSpaceHome.
@Test
public void moveDocumentToSpaceHome() throws Throwable {
DocumentReference source = new DocumentReference("wiki", "A", "B");
when(this.modelBridge.exists(source)).thenReturn(true);
DocumentReference destination = new DocumentReference("wiki", "C", "WebHome");
MoveRequest request = createRequest(source, destination);
request.setCheckRights(false);
run(request);
verify(this.modelBridge).copy(source, new DocumentReference("wiki", "C", "B"));
}
use of org.xwiki.refactoring.job.MoveRequest in project xwiki-platform by xwiki.
the class MoveJobTest method updateLinksOnFarm.
@Test
public void updateLinksOnFarm() throws Throwable {
DocumentReference oldReference = new DocumentReference("foo", "One", "Page");
when(this.modelBridge.exists(oldReference)).thenReturn(true);
DocumentReference newReference = new DocumentReference("foo", "Two", "Page");
when(this.modelBridge.exists(newReference)).thenReturn(false);
when(this.modelBridge.copy(oldReference, newReference)).thenReturn(true);
WikiDescriptorManager wikiDescriptorManager = this.mocker.getInstance(WikiDescriptorManager.class);
when(wikiDescriptorManager.getAllIds()).thenReturn(Arrays.asList("foo", "bar"));
DocumentReference aliceReference = new DocumentReference("foo", "Alice", "BackLink");
when(this.modelBridge.getBackLinkedReferences(oldReference, "foo")).thenReturn(Arrays.asList(aliceReference));
DocumentReference bobReference = new DocumentReference("bar", "Bob", "BackLink");
when(this.modelBridge.getBackLinkedReferences(oldReference, "bar")).thenReturn(Arrays.asList(bobReference));
MoveRequest request = createRequest(oldReference, newReference.getParent());
request.setCheckRights(false);
request.setInteractive(false);
request.setUpdateLinksOnFarm(true);
GroupedJob job = (GroupedJob) run(request);
assertEquals(RefactoringJobs.GROUP, job.getGroupPath().toString());
LinkRefactoring linkRefactoring = getMocker().getInstance(LinkRefactoring.class);
verify(linkRefactoring).renameLinks(aliceReference, oldReference, newReference);
verify(linkRefactoring).renameLinks(bobReference, oldReference, newReference);
}
use of org.xwiki.refactoring.job.MoveRequest in project xwiki-platform by xwiki.
the class MoveJobTest method copyDocument.
@Test
public void copyDocument() throws Throwable {
DocumentReference sourceReference = new DocumentReference("wiki", "Space", "Page");
when(this.modelBridge.exists(sourceReference)).thenReturn(true);
DocumentReference copyReference = new DocumentReference("wiki", "Copy", "Page");
when(this.modelBridge.copy(sourceReference, copyReference)).thenReturn(true);
MoveRequest request = createRequest(sourceReference, copyReference.getParent());
request.setCheckRights(false);
request.setInteractive(false);
request.setDeleteSource(false);
Map<String, String> parameters = Collections.singletonMap("foo", "bar");
request.setEntityParameters(sourceReference, parameters);
run(request);
verify(this.modelBridge).update(copyReference, parameters);
LinkRefactoring linkRefactoring = getMocker().getInstance(LinkRefactoring.class);
verify(linkRefactoring, never()).renameLinks(any(DocumentReference.class), any(DocumentReference.class), any(DocumentReference.class));
verify(linkRefactoring).updateRelativeLinks(sourceReference, copyReference);
verify(this.modelBridge, never()).delete(any(DocumentReference.class));
verify(this.modelBridge, never()).createRedirect(any(DocumentReference.class), any(DocumentReference.class));
}
use of org.xwiki.refactoring.job.MoveRequest in project xwiki-platform by xwiki.
the class MoveJobTest method moveSpaceToSpaceHome.
@Test
public void moveSpaceToSpaceHome() throws Throwable {
SpaceReference sourceSpace = new SpaceReference("wiki", "A", "B");
DocumentReference sourceDoc = new DocumentReference("X", sourceSpace);
when(this.modelBridge.getDocumentReferences(sourceSpace)).thenReturn(Arrays.asList(sourceDoc));
when(this.modelBridge.exists(sourceDoc)).thenReturn(true);
DocumentReference destination = new DocumentReference("wiki", "C", "WebHome");
MoveRequest request = createRequest(sourceSpace, destination);
request.setCheckRights(false);
run(request);
verify(this.modelBridge).copy(sourceDoc, new DocumentReference("wiki", Arrays.asList("C", "B"), "X"));
}
use of org.xwiki.refactoring.job.MoveRequest in project xwiki-platform by xwiki.
the class RenameJobTest method convertNotTerminalDocumentToTerminalDocumentPreservingChildren.
@Test
public void convertNotTerminalDocumentToTerminalDocumentPreservingChildren() throws Throwable {
DocumentReference nonTerminalReference = new DocumentReference("wiki", "One", "WebHome");
DocumentReference terminalReference = new DocumentReference("wiki", "Zero", "One");
MoveRequest request = createRequest(nonTerminalReference, terminalReference);
request.setDeep(true);
run(request);
verifyNoMove();
verify(this.mocker.getMockedLogger()).error("You cannot transform a non-terminal document [{}] into a terminal document [{}]" + " and preserve its child documents at the same time.", nonTerminalReference, terminalReference);
}
Aggregations