From 0e8fe19efd4081e89d1199e1ca98135bd97b9ae4 Mon Sep 17 00:00:00 2001 From: jensp Date: Tue, 1 Nov 2016 10:47:28 +0000 Subject: [PATCH] CCM NG/ccm-cms: ItemAttachmentManager#unattach git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@4426 8810af33-2d31-482b-a856-94f89814c4df --- .../contentsection/ItemAttachment.java | 33 +- .../contentsection/ItemAttachmentManager.java | 58 ++- .../librecms/contentsection/DatasetsTest.java | 4 +- .../ItemAttachmentManagerTest.java | 235 +++++----- .../arquillian.xml | 4 +- ...ttach.xml => after-unattach-nonshared.xml} | 45 +- .../after-unattach-shared.xml | 402 ++++++++++++++++++ 7 files changed, 634 insertions(+), 147 deletions(-) rename ccm-cms/src/test/resources/datasets/org/librecms/contentsection/ItemAttachmentManagerTest/{after-unattach.xml => after-unattach-nonshared.xml} (92%) create mode 100644 ccm-cms/src/test/resources/datasets/org/librecms/contentsection/ItemAttachmentManagerTest/after-unattach-shared.xml diff --git a/ccm-cms/src/main/java/org/librecms/contentsection/ItemAttachment.java b/ccm-cms/src/main/java/org/librecms/contentsection/ItemAttachment.java index 4d025da04..f723b0a1b 100644 --- a/ccm-cms/src/main/java/org/librecms/contentsection/ItemAttachment.java +++ b/ccm-cms/src/main/java/org/librecms/contentsection/ItemAttachment.java @@ -49,15 +49,22 @@ import static org.librecms.CmsConstants.*; @Audited @NamedQueries({ @NamedQuery( - name = "ItemAttachment.countByAssetIdAndList", - query = "SELECT COUNT(i) FROM ItemAttachment i " - + "WHERE i.asset = :asset " - + "AND i.attachmentList = :attachmentList") + name = "ItemAttachment.countByAssetIdAndList", + query = "SELECT COUNT(i) FROM ItemAttachment i " + + "WHERE i.asset = :asset " + + "AND i.attachmentList = :attachmentList") + , + @NamedQuery( + name = "ItemAttachment.findByAssetByAndList", + query = "SELECT i FROM ItemAttachment i " + + "WHERE i.asset = :asset " + + "AND i.attachmentList = :attachmentList" + ) }) public class ItemAttachment - implements Comparable>, - Identifiable, - Serializable { + implements Comparable>, + Identifiable, + Serializable { private static final long serialVersionUID = -9005379413315191984L; @@ -150,7 +157,7 @@ public class ItemAttachment public int hashCode() { int hash = 3; hash - = 71 * hash + (int) (attachmentId ^ (attachmentId >>> 32)); + = 71 * hash + (int) (attachmentId ^ (attachmentId >>> 32)); hash = 71 * hash + Objects.hashCode(uuid); hash = 71 * hash + Objects.hashCode(asset); hash = 71 * hash + (int) (sortKey ^ (sortKey >>> 32)); @@ -195,11 +202,11 @@ public class ItemAttachment public String toString(final String data) { return String.format("%s{ " - + "attachmentId = %d, " - + "uuid = %s, " - + "asset = { %s }, " - + "sortKey = %d%s" - + " }", + + "attachmentId = %d, " + + "uuid = %s, " + + "asset = { %s }, " + + "sortKey = %d%s" + + " }", super.toString(), attachmentId, uuid, diff --git a/ccm-cms/src/main/java/org/librecms/contentsection/ItemAttachmentManager.java b/ccm-cms/src/main/java/org/librecms/contentsection/ItemAttachmentManager.java index bcd2a4325..f4cc5840a 100644 --- a/ccm-cms/src/main/java/org/librecms/contentsection/ItemAttachmentManager.java +++ b/ccm-cms/src/main/java/org/librecms/contentsection/ItemAttachmentManager.java @@ -18,6 +18,7 @@ */ package org.librecms.contentsection; +import java.util.List; import org.libreccm.security.AuthorizationRequired; import org.libreccm.security.RequiresPrivilege; import org.librecms.contentsection.privileges.ItemPrivileges; @@ -44,18 +45,21 @@ public class ItemAttachmentManager { @Inject private AssetRepository assetRepo; + @Inject + private AssetManager assetManager; + /** * Adds the provided {@link Asset} to the provided {@link AttachmentList}. * - * @param asset The {@link Asset} to add. + * @param asset The {@link Asset} to add. * @param attachmentList The attachment list to which the asset is added. */ @Transactional(Transactional.TxType.REQUIRED) @AuthorizationRequired public void attachAsset( - final Asset asset, - @RequiresPrivilege(ItemPrivileges.EDIT) - final AttachmentList attachmentList) { + final Asset asset, + @RequiresPrivilege(ItemPrivileges.EDIT) + final AttachmentList attachmentList) { if (asset == null) { throw new IllegalArgumentException("Can't attach asset null."); @@ -63,7 +67,7 @@ public class ItemAttachmentManager { if (attachmentList == null) { throw new IllegalArgumentException( - "Can't attach an asset to attachment list null."); + "Can't attach an asset to attachment list null."); } // For shared assets (we assume that every asset already in the database @@ -72,7 +76,7 @@ public class ItemAttachmentManager { saveNonSharedAsset(asset); } else { final TypedQuery countQuery = entityManager.createNamedQuery( - "ItemAttachment.countByAssetIdAndList", Long.class); + "ItemAttachment.countByAssetIdAndList", Long.class); countQuery.setParameter("asset", asset); countQuery.setParameter("attachmentList", attachmentList); @@ -99,6 +103,7 @@ public class ItemAttachmentManager { @Transactional(Transactional.TxType.REQUIRES_NEW) private void saveNonSharedAsset(final Asset asset) { assetRepo.save(asset); + entityManager.flush(); } /** @@ -106,22 +111,45 @@ public class ItemAttachmentManager { * {@link AttachmentList}. If the asset is a non shared asset the asset is * deleted. * - * @param asset The {@link Asset} to remove. + * @param asset The {@link Asset} to remove. * @param attachmentList The attachment list to which the asset is removed - * from. + * from. */ public void unattachAsset(final Asset asset, final AttachmentList attachmentList) { - throw new UnsupportedOperationException("Not implemented yet"); + final TypedQuery countQuery = entityManager.createNamedQuery( + "ItemAttachment.countByAssetIdAndList", Long.class); + countQuery.setParameter("asset", asset); + countQuery.setParameter("attachmentList", attachmentList); + + final long count = countQuery.getSingleResult(); + + if (count == 0) { + return; + } + + final TypedQuery query = entityManager + .createNamedQuery("ItemAttachment.findByAssetByAndList", + ItemAttachment.class); + query.setParameter("asset", asset); + query.setParameter("attachmentList", attachmentList); + + final List attachments = query.getResultList(); + attachments.forEach((attachment) -> entityManager.remove(attachment)); + + if (!assetManager.isShared(asset)) { +// assetRepo.delete(asset); + entityManager.remove(asset); + } } /** * Moves the {@link Asset} one position up in the provided * {@link AttachmentList}. * - * @param asset The asset to move up. If the asset is not part of - * the provided {@link AttachmentList} an - * {@link IllegalArgumentException} is thrown. + * @param asset The asset to move up. If the asset is not part of the + * provided {@link AttachmentList} an {@link IllegalArgumentException} is + * thrown. * @param attachmentList The attachment list in which the item is moved. */ public void moveUp(final Asset asset, @@ -133,9 +161,9 @@ public class ItemAttachmentManager { * Moves the {@link Asset} one position down in the provided * {@link AttachmentList}. * - * @param asset The asset to move down. If the asset is not part of - * the provided {@link AttachmentList} an - * {@link IllegalArgumentException} is thrown. + * @param asset The asset to move down. If the asset is not part of the + * provided {@link AttachmentList} an {@link IllegalArgumentException} is + * thrown. * @param attachmentList The attachment list in which the item is moved. */ public void moveDown(final Asset asset, diff --git a/ccm-cms/src/test/java/org/librecms/contentsection/DatasetsTest.java b/ccm-cms/src/test/java/org/librecms/contentsection/DatasetsTest.java index da030eb47..5a12a4eb3 100644 --- a/ccm-cms/src/test/java/org/librecms/contentsection/DatasetsTest.java +++ b/ccm-cms/src/test/java/org/librecms/contentsection/DatasetsTest.java @@ -104,7 +104,9 @@ public class DatasetsTest extends DatasetsVerifier { "/datasets/org/librecms/contentsection/ItemAttachmentManagerTest/data.xml", "/datasets/org/librecms/contentsection/ItemAttachmentManagerTest/after-attach-shared.xml", - "/datasets/org/librecms/contentsection/ItemAttachmentManagerTest/after-attach-nonshared.xml",}); + "/datasets/org/librecms/contentsection/ItemAttachmentManagerTest/after-attach-nonshared.xml", + "/datasets/org/librecms/contentsection/ItemAttachmentManagerTest/after-unattach-nonshared.xml", + "/datasets/org/librecms/contentsection/ItemAttachmentManagerTest/after-unattach-nonshared.xml",}); } public DatasetsTest(final String datasetPath) { diff --git a/ccm-cms/src/test/java/org/librecms/contentsection/ItemAttachmentManagerTest.java b/ccm-cms/src/test/java/org/librecms/contentsection/ItemAttachmentManagerTest.java index 04e3bc5ee..89987cc57 100644 --- a/ccm-cms/src/test/java/org/librecms/contentsection/ItemAttachmentManagerTest.java +++ b/ccm-cms/src/test/java/org/librecms/contentsection/ItemAttachmentManagerTest.java @@ -61,7 +61,7 @@ import static org.junit.Assert.*; @org.junit.experimental.categories.Category(IntegrationTest.class) @RunWith(Arquillian.class) @PersistenceTest -@Transactional(TransactionMode.COMMIT) +//@Transactional(TransactionMode.COMMIT) @CreateSchema({"create_ccm_cms_schema.sql"}) public class ItemAttachmentManagerTest { @@ -105,60 +105,60 @@ public class ItemAttachmentManagerTest { @Deployment public static WebArchive createDeployment() { return ShrinkWrap - .create(WebArchive.class, - "LibreCCM-org.librecms.assets.AssetManagerTest.war") - .addPackage(org.libreccm.auditing.CcmRevision.class.getPackage()) - .addPackage(org.libreccm.categorization.Categorization.class - .getPackage()) - .addPackage(org.libreccm.cdi.utils.CdiUtil.class.getPackage()) - .addPackage(org.libreccm.configuration.Configuration.class - .getPackage()) - .addPackage(org.libreccm.core.CcmCore.class.getPackage()) - .addPackage(org.libreccm.jpa.EntityManagerProducer.class - .getPackage()) - .addPackage(org.libreccm.jpa.utils.MimeTypeConverter.class - .getPackage()) - .addPackage(org.libreccm.l10n.LocalizedString.class - .getPackage()) - .addPackage(org.libreccm.security.Permission.class.getPackage()) - .addPackage(org.libreccm.web.CcmApplication.class.getPackage()) - .addPackage(org.libreccm.workflow.Workflow.class.getPackage()) - .addPackage(com.arsdigita.bebop.Component.class.getPackage()) - .addPackage(com.arsdigita.bebop.util.BebopConstants.class - .getPackage()) - .addClass(com.arsdigita.kernel.KernelConfig.class) - .addClass(com.arsdigita.runtime.CCMResourceManager.class) - .addClass( - com.arsdigita.ui.admin.applications.AbstractAppInstanceForm.class) - .addClass( - com.arsdigita.ui.admin.applications.AbstractAppSettingsPane.class) - .addClass( - com.arsdigita.ui.admin.applications.DefaultApplicationInstanceForm.class) - .addClass( - com.arsdigita.ui.admin.applications.DefaultApplicationSettingsPane.class) - .addClass(com.arsdigita.cms.dispatcher.ItemResolver.class) - .addPackage(com.arsdigita.util.Lockable.class.getPackage()) - .addPackage(com.arsdigita.web.BaseServlet.class.getPackage()) - .addPackage(org.librecms.Cms.class.getPackage()) - .addPackage(org.librecms.assets.BinaryAsset.class.getPackage()) - .addPackage(org.librecms.contentsection.Asset.class.getPackage()) - .addPackage(org.librecms.lifecycle.Lifecycle.class.getPackage()) - .addPackage(org.librecms.contentsection.ContentSection.class - .getPackage()) - .addPackage(org.librecms.contenttypes.Article.class.getPackage()). - addClass(com.arsdigita.kernel.security.SecurityConfig.class) - .addPackage(org.libreccm.tests.categories.IntegrationTest.class - .getPackage()) - // .addAsLibraries(getModuleDependencies()) - .addAsLibraries(getCcmCoreDependencies()) - .addAsResource("configs/shiro.ini", "shiro.ini") - .addAsResource( - "configs/org/librecms/contentsection/ContentItemManagerTest/log4j2.xml", - "log4j2.xml") - .addAsResource("test-persistence.xml", - "META-INF/persistence.xml") - .addAsWebInfResource("test-web.xml", "web.xml") - .addAsWebInfResource(EmptyAsset.INSTANCE, "WEB-INF/beans.xml"); + .create(WebArchive.class, + "LibreCCM-org.librecms.assets.AssetManagerTest.war") + .addPackage(org.libreccm.auditing.CcmRevision.class.getPackage()). + addPackage(org.libreccm.categorization.Categorization.class + .getPackage()) + .addPackage(org.libreccm.cdi.utils.CdiUtil.class.getPackage()) + .addPackage(org.libreccm.configuration.Configuration.class + .getPackage()) + .addPackage(org.libreccm.core.CcmCore.class.getPackage()) + .addPackage(org.libreccm.jpa.EntityManagerProducer.class + .getPackage()) + .addPackage(org.libreccm.jpa.utils.MimeTypeConverter.class + .getPackage()) + .addPackage(org.libreccm.l10n.LocalizedString.class + .getPackage()) + .addPackage(org.libreccm.security.Permission.class.getPackage()) + .addPackage(org.libreccm.web.CcmApplication.class.getPackage()) + .addPackage(org.libreccm.workflow.Workflow.class.getPackage()) + .addPackage(com.arsdigita.bebop.Component.class.getPackage()) + .addPackage(com.arsdigita.bebop.util.BebopConstants.class + .getPackage()) + .addClass(com.arsdigita.kernel.KernelConfig.class) + .addClass(com.arsdigita.runtime.CCMResourceManager.class) + .addClass( + com.arsdigita.ui.admin.applications.AbstractAppInstanceForm.class). + addClass( + com.arsdigita.ui.admin.applications.AbstractAppSettingsPane.class). + addClass( + com.arsdigita.ui.admin.applications.DefaultApplicationInstanceForm.class). + addClass( + com.arsdigita.ui.admin.applications.DefaultApplicationSettingsPane.class). + addClass(com.arsdigita.cms.dispatcher.ItemResolver.class) + .addPackage(com.arsdigita.util.Lockable.class.getPackage()) + .addPackage(com.arsdigita.web.BaseServlet.class.getPackage()) + .addPackage(org.librecms.Cms.class.getPackage()) + .addPackage(org.librecms.assets.BinaryAsset.class.getPackage()) + .addPackage(org.librecms.contentsection.Asset.class.getPackage()). + addPackage(org.librecms.lifecycle.Lifecycle.class.getPackage()) + .addPackage(org.librecms.contentsection.ContentSection.class + .getPackage()) + .addPackage(org.librecms.contenttypes.Article.class.getPackage()). + addClass(com.arsdigita.kernel.security.SecurityConfig.class) + .addPackage(org.libreccm.tests.categories.IntegrationTest.class + .getPackage()) + // .addAsLibraries(getModuleDependencies()) + .addAsLibraries(getCcmCoreDependencies()) + .addAsResource("configs/shiro.ini", "shiro.ini") + .addAsResource( + "configs/org/librecms/contentsection/ContentItemManagerTest/log4j2.xml", + "log4j2.xml") + .addAsResource("test-persistence.xml", + "META-INF/persistence.xml") + .addAsWebInfResource("test-web.xml", "web.xml") + .addAsWebInfResource(EmptyAsset.INSTANCE, "WEB-INF/beans.xml"); } /** @@ -193,13 +193,13 @@ public class ItemAttachmentManagerTest { @Test @InSequence(100) @UsingDataSet("datasets/org/librecms/contentsection/" - + "ItemAttachmentManagerTest/data.xml") + + "ItemAttachmentManagerTest/data.xml") @ShouldMatchDataSet( - value = "datasets/org/librecms/contentsection/" - + "ItemAttachmentManagerTest/after-attach-nonshared.xml", - excludeColumns = {"timestamp", - "uuid", - "attachment_id"}) + value = "datasets/org/librecms/contentsection/" + + "ItemAttachmentManagerTest/after-attach-nonshared.xml", + excludeColumns = {"timestamp", + "uuid", + "attachment_id"}) public void attachNonSharedAsset() throws MimeTypeParseException { final Optional item = itemRepo.findById(-510L); assertThat(item.isPresent(), is(true)); @@ -222,13 +222,13 @@ public class ItemAttachmentManagerTest { @Test @InSequence(100) @UsingDataSet("datasets/org/librecms/contentsection/" - + "ItemAttachmentManagerTest/data.xml") + + "ItemAttachmentManagerTest/data.xml") @ShouldMatchDataSet( - value = "datasets/org/librecms/contentsection/" - + "ItemAttachmentManagerTest/after-attach-shared.xml", - excludeColumns = {"timestamp", - "uuid", - "attachment_id"}) + value = "datasets/org/librecms/contentsection/" + + "ItemAttachmentManagerTest/after-attach-shared.xml", + excludeColumns = {"timestamp", + "uuid", + "attachment_id"}) public void attachSharedAsset() throws MimeTypeParseException { final Optional item = itemRepo.findById(-510L); assertThat(item.isPresent(), is(true)); @@ -248,9 +248,9 @@ public class ItemAttachmentManagerTest { @Test @InSequence(110) @UsingDataSet("datasets/org/librecms/contentsection/" - + "ItemAttachmentManagerTest/data.xml") + + "ItemAttachmentManagerTest/data.xml") @ShouldMatchDataSet("datasets/org/librecms/contentsection/" - + "ItemAttachmentManagerTest/data.xml") + + "ItemAttachmentManagerTest/data.xml") public void attachAssetAlreadyAttached() { final Optional item = itemRepo.findById(-510L); assertThat(item.isPresent(), is(true)); @@ -270,9 +270,9 @@ public class ItemAttachmentManagerTest { @Test(expected = IllegalArgumentException.class) @InSequence(120) @UsingDataSet("datasets/org/librecms/contentsection/" - + "ItemAttachmentManagerTest/data.xml") + + "ItemAttachmentManagerTest/data.xml") @ShouldMatchDataSet("datasets/org/librecms/contentsection/" - + "ItemAttachmentManagerTest/data.xml") + + "ItemAttachmentManagerTest/data.xml") @ShouldThrowException(IllegalArgumentException.class) public void attachAssetNull() { final Optional item = itemRepo.findById(-510L); @@ -293,9 +293,9 @@ public class ItemAttachmentManagerTest { @Test(expected = IllegalArgumentException.class) @InSequence(130) @UsingDataSet("datasets/org/librecms/contentsection/" - + "ItemAttachmentManagerTest/data.xml") + + "ItemAttachmentManagerTest/data.xml") @ShouldMatchDataSet("datasets/org/librecms/contentsection/" - + "ItemAttachmentManagerTest/data.xml") + + "ItemAttachmentManagerTest/data.xml") @ShouldThrowException(IllegalArgumentException.class) public void attachAssetToListNull() { final AttachmentList list = null; @@ -305,18 +305,55 @@ public class ItemAttachmentManagerTest { } /** - * Tries to unattach several {@link Asset} using - * {@link ItemAttachmentManager#unattachAsset(org.librecms.contentsection.Asset, org.librecms.contentsection.AttachmentList)} - * and verifies that non shared assets are deleted. + * Tries to unattach a shared {@link Asset} using + * {@link ItemAttachmentManager#unattachAsset(org.librecms.contentsection.Asset, org.librecms.contentsection.AttachmentList)}. */ @Test @InSequence(210) @UsingDataSet("datasets/org/librecms/contentsection/" - + "ItemAttachmentManagerTest/data.xml") - @ShouldMatchDataSet("datasets/org/librecms/contentsection/" - + "ItemAttachmentManagerTest/after-unattach.xml") - public void unattachAsset() { - fail("Not implemented yet"); + + "ItemAttachmentManagerTest/data.xml") + @ShouldMatchDataSet( + value = "datasets/org/librecms/contentsection/" + + "ItemAttachmentManagerTest/" + + "after-unattach-shared.xml", + excludeColumns = {"timestamp"}) + public void unattachSharedAsset() { + final Asset asset = assetRepo.findById(-610L); + final Optional item = itemRepo.findById(-510L); + + assertThat(asset, is(not(nullValue()))); + assertThat(item.isPresent(), is(true)); + + final AttachmentList list = item.get().getAttachments().get(0); + + attachmentManager.unattachAsset(asset, list); + } + + /** + * Tries to unattach a non shared {@link Asset} using + * {@link ItemAttachmentManager#unattachAsset(org.librecms.contentsection.Asset, org.librecms.contentsection.AttachmentList)} + * and verifies that assets has been unattached and + * deleted. + */ + @Test + @InSequence(220) + @UsingDataSet("datasets/org/librecms/contentsection/" + + "ItemAttachmentManagerTest/data.xml") + @ShouldMatchDataSet( + value = "datasets/org/librecms/contentsection/" + + "ItemAttachmentManagerTest/" + + "after-unattach-nonshared.xml", + excludeColumns = {"timestamp"}) + public void unattachNonSharedAsset() { + final Asset asset = assetRepo.findById(-720L); + final Optional item = itemRepo.findById(-510L); + + assertThat(asset, is(not(nullValue()))); + assertThat(item.isPresent(), is(true)); + + final AttachmentList list = item.get().getAttachments().get(0); + + attachmentManager.unattachAsset(asset, list); } /** @@ -328,9 +365,9 @@ public class ItemAttachmentManagerTest { @Test @InSequence(220) @UsingDataSet("datasets/org/librecms/contentsection/" - + "ItemAttachmentManagerTest/data.xml") + + "ItemAttachmentManagerTest/data.xml") @ShouldMatchDataSet("datasets/org/librecms/contentsection/" - + "ItemAttachmentManagerTest/data.xml") + + "ItemAttachmentManagerTest/data.xml") public void unattachAssetNotAttached() { fail("Not implemented yet"); } @@ -344,9 +381,9 @@ public class ItemAttachmentManagerTest { @Test(expected = IllegalArgumentException.class) @InSequence(230) @UsingDataSet("datasets/org/librecms/contentsection/" - + "ItemAttachmentManagerTest/data.xml") + + "ItemAttachmentManagerTest/data.xml") @ShouldMatchDataSet("datasets/org/librecms/contentsection/" - + "ItemAttachmentManagerTest/data.xml") + + "ItemAttachmentManagerTest/data.xml") @ShouldThrowException(IllegalArgumentException.class) public void unattachAssetNull() { fail("Not implemented yet"); @@ -361,9 +398,9 @@ public class ItemAttachmentManagerTest { @Test(expected = IllegalArgumentException.class) @InSequence(240) @UsingDataSet("datasets/org/librecms/contentsection/" - + "ItemAttachmentManagerTest/data.xml") + + "ItemAttachmentManagerTest/data.xml") @ShouldMatchDataSet("datasets/org/librecms/contentsection/" - + "ItemAttachmentManagerTest/data.xml") + + "ItemAttachmentManagerTest/data.xml") @ShouldThrowException(IllegalArgumentException.class) public void unattachAssetFromListNull() { fail("Not implemented yet"); @@ -377,9 +414,9 @@ public class ItemAttachmentManagerTest { @Test @InSequence(300) @UsingDataSet("datasets/org/librecms/contentsection/" - + "ItemAttachmentManagerTest/data.xml") + + "ItemAttachmentManagerTest/data.xml") @ShouldMatchDataSet("datasets/org/librecms/contentsection/" - + "ItemAttachmentManagerTest/after-move-up.xml") + + "ItemAttachmentManagerTest/after-move-up.xml") public void moveUp() { fail("Not implemented yet"); } @@ -392,9 +429,9 @@ public class ItemAttachmentManagerTest { @Test @InSequence(310) @UsingDataSet("datasets/org/librecms/contentsection/" - + "ItemAttachmentManagerTest/data.xml") + + "ItemAttachmentManagerTest/data.xml") @ShouldMatchDataSet("datasets/org/librecms/contentsection/" - + "ItemAttachmentManagerTest/data.xml") + + "ItemAttachmentManagerTest/data.xml") public void moveUpLast() { fail("Not implemented yet"); } @@ -408,9 +445,9 @@ public class ItemAttachmentManagerTest { @Test(expected = IllegalArgumentException.class) @InSequence(320) @UsingDataSet("datasets/org/librecms/contentsection/" - + "ItemAttachmentManagerTest/data.xml") + + "ItemAttachmentManagerTest/data.xml") @ShouldMatchDataSet("datasets/org/librecms/contentsection/" - + "ItemAttachmentManagerTest/data.xml") + + "ItemAttachmentManagerTest/data.xml") @ShouldThrowException(IllegalArgumentException.class) public void moveUpNull() { fail("Not implemented yet"); @@ -424,9 +461,9 @@ public class ItemAttachmentManagerTest { @Test @InSequence(400) @UsingDataSet("datasets/org/librecms/contentsection/" - + "ItemAttachmentManagerTest/data.xml") + + "ItemAttachmentManagerTest/data.xml") @ShouldMatchDataSet("datasets/org/librecms/contentsection/" - + "ItemAttachmentManagerTest/after-move-down.xml") + + "ItemAttachmentManagerTest/after-move-down.xml") public void moveDown() { fail("Not implemented yet"); } @@ -439,9 +476,9 @@ public class ItemAttachmentManagerTest { @Test @InSequence(410) @UsingDataSet("datasets/org/librecms/contentsection/" - + "ItemAttachmentManagerTest/data.xml") + + "ItemAttachmentManagerTest/data.xml") @ShouldMatchDataSet("datasets/org/librecms/contentsection/" - + "ItemAttachmentManagerTest/data.xml") + + "ItemAttachmentManagerTest/data.xml") public void moveDownFirst() { fail("Not implemented yet"); } @@ -455,9 +492,9 @@ public class ItemAttachmentManagerTest { @Test(expected = IllegalArgumentException.class) @InSequence(420) @UsingDataSet("datasets/org/librecms/contentsection/" - + "ItemAttachmentManagerTest/data.xml") + + "ItemAttachmentManagerTest/data.xml") @ShouldMatchDataSet("datasets/org/librecms/contentsection/" - + "ItemAttachmentManagerTest/data.xml") + + "ItemAttachmentManagerTest/data.xml") @ShouldThrowException(IllegalArgumentException.class) public void moveDownNull() { fail("Not implemented yet"); diff --git a/ccm-cms/src/test/resources-wildfly-remote-pgsql/arquillian.xml b/ccm-cms/src/test/resources-wildfly-remote-pgsql/arquillian.xml index 5e86db92c..3ee0692f6 100644 --- a/ccm-cms/src/test/resources-wildfly-remote-pgsql/arquillian.xml +++ b/ccm-cms/src/test/resources-wildfly-remote-pgsql/arquillian.xml @@ -31,9 +31,9 @@ true - + diff --git a/ccm-cms/src/test/resources/datasets/org/librecms/contentsection/ItemAttachmentManagerTest/after-unattach.xml b/ccm-cms/src/test/resources/datasets/org/librecms/contentsection/ItemAttachmentManagerTest/after-unattach-nonshared.xml similarity index 92% rename from ccm-cms/src/test/resources/datasets/org/librecms/contentsection/ItemAttachmentManagerTest/after-unattach.xml rename to ccm-cms/src/test/resources/datasets/org/librecms/contentsection/ItemAttachmentManagerTest/after-unattach-nonshared.xml index 809c88e14..b52279acb 100644 --- a/ccm-cms/src/test/resources/datasets/org/librecms/contentsection/ItemAttachmentManagerTest/after-unattach.xml +++ b/ccm-cms/src/test/resources/datasets/org/librecms/contentsection/ItemAttachmentManagerTest/after-unattach-nonshared.xml @@ -3,6 +3,8 @@ + - + - @@ -143,6 +145,8 @@ rev="0" /> + - + @@ -202,10 +209,6 @@ filename="asset-510-1a.pdf" mime_type="application/pdf" data_size="0" /> - + - @@ -249,6 +253,8 @@ rev="0" /> + + - + diff --git a/ccm-cms/src/test/resources/datasets/org/librecms/contentsection/ItemAttachmentManagerTest/after-unattach-shared.xml b/ccm-cms/src/test/resources/datasets/org/librecms/contentsection/ItemAttachmentManagerTest/after-unattach-shared.xml new file mode 100644 index 000000000..c0a921561 --- /dev/null +++ b/ccm-cms/src/test/resources/datasets/org/librecms/contentsection/ItemAttachmentManagerTest/after-unattach-shared.xml @@ -0,0 +1,402 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +