use of com.enonic.xp.content.DeleteContentsResult in project xp by enonic.
the class ContentServiceImplTest_delete method delete_published_content_with_unpublished_children.
@Test
public void delete_published_content_with_unpublished_children() throws Exception {
final Content parent = this.contentService.create(CreateContentParams.create().contentData(new PropertyTree()).displayName("Root Content").parent(ContentPath.ROOT).type(ContentTypeName.folder()).build());
final Content child = this.contentService.create(CreateContentParams.create().contentData(new PropertyTree()).displayName("Published Child Content").parent(parent.getPath()).type(ContentTypeName.folder()).build());
refresh();
final PublishContentResult result = this.contentService.publish(PushContentParams.create().contentIds(ContentIds.from(parent.getId())).target(WS_OTHER).build());
assertEquals(2, result.getPushedContents().getSize());
refresh();
// Creates an child that we wont publish
final Content unpublishedChildContent = this.contentService.create(CreateContentParams.create().contentData(new PropertyTree()).displayName("Unpublished Child Content").parent(parent.getPath()).type(ContentTypeName.folder()).build());
refresh();
// Deletes the root content
final DeleteContentsResult deletedContents = this.contentService.deleteWithoutFetch(DeleteContentParams.create().contentPath(parent.getPath()).build());
assertNotNull(deletedContents);
assertEquals(1, deletedContents.getDeletedContents().getSize());
assertEquals(2, deletedContents.getPendingContents().getSize());
DeleteContentParams.create().contentPath(parent.getPath()).build();
assertTrue(deletedContents.getDeletedContents().contains(unpublishedChildContent.getId()));
assertTrue(deletedContents.getPendingContents().contains(parent.getId()));
assertTrue(deletedContents.getPendingContents().contains(child.getId()));
// Checks that the content and published child are marked for deletion and that the unpublished child is deleted
final ContentIds contentIds = ContentIds.from(parent.getId(), child.getId(), unpublishedChildContent.getId());
final GetContentByIdsParams getContentByIdsParams = new GetContentByIdsParams(contentIds);
final Contents foundContents = this.contentService.getByIds(getContentByIdsParams);
assertEquals(2, foundContents.getSize());
for (Content foundContent : foundContents) {
assertTrue(ContentState.PENDING_DELETE == foundContent.getContentState());
assertTrue(parent.getId().equals(foundContent.getId()) || child.getId().equals(foundContent.getId()));
}
}
use of com.enonic.xp.content.DeleteContentsResult in project xp by enonic.
the class ContentServiceImplTest_delete method delete_published_content_with_child_moved_out.
@Test
public void delete_published_content_with_child_moved_out() throws Exception {
// Creates a content with children
final CreateContentParams createContentParams = CreateContentParams.create().contentData(new PropertyTree()).displayName("Root Content").parent(ContentPath.ROOT).type(ContentTypeName.folder()).build();
final Content content = this.contentService.create(createContentParams);
final CreateContentParams createChild1ContentParams = CreateContentParams.create().contentData(new PropertyTree()).displayName("Child1 Content").parent(content.getPath()).type(ContentTypeName.folder()).build();
final Content child1Content = this.contentService.create(createChild1ContentParams);
final CreateContentParams createMovedContentParams = CreateContentParams.create().contentData(new PropertyTree()).displayName("Content to move").parent(child1Content.getPath()).type(ContentTypeName.folder()).build();
final Content contentToMove = this.contentService.create(createMovedContentParams);
refresh();
this.contentService.publish(PushContentParams.create().contentIds(ContentIds.from(contentToMove.getId())).target(WS_OTHER).build());
refresh();
this.contentService.move(MoveContentParams.create().contentId(contentToMove.getId()).parentContentPath(ContentPath.ROOT).build());
refresh();
DeleteContentsResult result = this.contentService.deleteWithoutFetch(DeleteContentParams.create().contentPath(content.getPath()).build());
assertEquals(2, result.getPendingContents().getSize());
result = this.contentService.deleteWithoutFetch(DeleteContentParams.create().contentPath(content.getPath()).deleteOnline(true).build());
assertEquals(2, result.getDeletedContents().getSize());
}
use of com.enonic.xp.content.DeleteContentsResult in project xp by enonic.
the class ContentServiceImplTest_delete method delete_published_content_with_child_moved_in.
@Test
public void delete_published_content_with_child_moved_in() throws Exception {
// Creates a content with children
final CreateContentParams createContentParams = CreateContentParams.create().contentData(new PropertyTree()).displayName("Root Content").parent(ContentPath.ROOT).type(ContentTypeName.folder()).build();
final Content content = this.contentService.create(createContentParams);
final CreateContentParams createMovedContentParams = CreateContentParams.create().contentData(new PropertyTree()).displayName("Content to move").parent(ContentPath.ROOT).type(ContentTypeName.folder()).build();
final Content contentToMove = this.contentService.create(createMovedContentParams);
final CreateContentParams createChild1ContentParams = CreateContentParams.create().contentData(new PropertyTree()).displayName("Child1 Content").parent(content.getPath()).type(ContentTypeName.folder()).build();
final Content child1Content = this.contentService.create(createChild1ContentParams);
refresh();
this.contentService.publish(PushContentParams.create().contentIds(ContentIds.from(content.getId(), contentToMove.getId())).target(WS_OTHER).build());
refresh();
this.contentService.move(MoveContentParams.create().contentId(contentToMove.getId()).parentContentPath(child1Content.getPath()).build());
refresh();
assertThrows(RuntimeException.class, () -> this.contentService.deleteWithoutFetch(DeleteContentParams.create().contentPath(content.getPath()).build()));
final DeleteContentsResult result = this.contentService.deleteWithoutFetch(DeleteContentParams.create().contentPath(content.getPath()).deleteOnline(true).build());
assertEquals(3, result.getDeletedContents().getSize());
}
use of com.enonic.xp.content.DeleteContentsResult in project xp by enonic.
the class ContentServiceImplTest_delete method create_delete_content_with_children.
@Test
public void create_delete_content_with_children() throws Exception {
// Creates a content with children
final CreateContentParams createContentParams = CreateContentParams.create().contentData(new PropertyTree()).displayName("Root Content").parent(ContentPath.ROOT).type(ContentTypeName.folder()).build();
final Content content = this.contentService.create(createContentParams);
final CreateContentParams createChild1ContentParams = CreateContentParams.create().contentData(new PropertyTree()).displayName("Child1 Content").parent(content.getPath()).type(ContentTypeName.folder()).build();
final Content child1Content = this.contentService.create(createChild1ContentParams);
final CreateContentParams createChild2ContentParams = CreateContentParams.create().contentData(new PropertyTree()).displayName("Child2 Content").parent(content.getPath()).type(ContentTypeName.folder()).build();
final Content child2Content = this.contentService.create(createChild2ContentParams);
final CreateContentParams createSubChildContentParams = CreateContentParams.create().contentData(new PropertyTree()).displayName("SubChild Content").parent(child1Content.getPath()).type(ContentTypeName.folder()).build();
final Content subChildContent = this.contentService.create(createSubChildContentParams);
refresh();
// Deletes the content
final DeleteContentsResult deletedContents = this.contentService.deleteWithoutFetch(DeleteContentParams.create().contentPath(content.getPath()).build());
assertNotNull(deletedContents);
assertEquals(4, deletedContents.getDeletedContents().getSize());
// Checks that the content and the children are deleted
final GetContentByIdsParams getContentByIdsParams = new GetContentByIdsParams(ContentIds.from(content.getId(), child1Content.getId(), child2Content.getId(), subChildContent.getId()));
final Contents foundContents = this.contentService.getByIds(getContentByIdsParams);
assertEquals(0, foundContents.getSize());
}
use of com.enonic.xp.content.DeleteContentsResult in project xp by enonic.
the class ContentServiceImplTest_delete method publish_pending_content_with_child_moved_out_of_tree.
@Test
public void publish_pending_content_with_child_moved_out_of_tree() throws Exception {
// Creates a content with children
final CreateContentParams createContentParams = CreateContentParams.create().contentData(new PropertyTree()).displayName("Root Content").parent(ContentPath.ROOT).type(ContentTypeName.folder()).build();
final Content content = this.contentService.create(createContentParams);
final CreateContentParams createChild1ContentParams = CreateContentParams.create().contentData(new PropertyTree()).displayName("Child1 Content").parent(content.getPath()).type(ContentTypeName.folder()).build();
final Content child1Content = this.contentService.create(createChild1ContentParams);
final CreateContentParams createMovedContentParams = CreateContentParams.create().contentData(new PropertyTree()).displayName("Content to move").parent(child1Content.getPath()).type(ContentTypeName.folder()).build();
final Content contentToMove = this.contentService.create(createMovedContentParams);
refresh();
this.contentService.publish(PushContentParams.create().contentIds(ContentIds.from(contentToMove.getId())).target(WS_OTHER).build());
refresh();
this.contentService.move(MoveContentParams.create().contentId(contentToMove.getId()).parentContentPath(ContentPath.ROOT).build());
refresh();
DeleteContentsResult result = this.contentService.deleteWithoutFetch(DeleteContentParams.create().contentPath(content.getPath()).build());
assertEquals(2, result.getPendingContents().getSize());
final PublishContentResult publishResult = this.contentService.publish(PushContentParams.create().contentIds(ContentIds.from(content.getId())).target(WS_OTHER).includeDependencies(false).build());
assertEquals(1, publishResult.getPushedContents().getSize());
assertEquals(2, publishResult.getDeletedContents().getSize());
assertEquals(2, publishResult.getUnpublishedContents().getSize());
}
Aggregations