diff --git a/source/test-java/org/alfresco/repo/admin/RepoAdminServiceImplTest.java b/source/test-java/org/alfresco/repo/admin/RepoAdminServiceImplTest.java index f9a661b2b9..dbc651b2d6 100644 --- a/source/test-java/org/alfresco/repo/admin/RepoAdminServiceImplTest.java +++ b/source/test-java/org/alfresco/repo/admin/RepoAdminServiceImplTest.java @@ -53,7 +53,6 @@ import org.alfresco.test_category.OwnJVMTestsCategory; import org.alfresco.util.ApplicationContextHelper; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.hibernate.dialect.*; import org.junit.experimental.categories.Category; import org.springframework.context.ApplicationContext; @@ -76,8 +75,7 @@ public class RepoAdminServiceImplTest extends TestCase private ContentService contentService; private SearchService searchService; private NamespaceService namespaceService; - private Dialect dialect; - + final String modelPrefix = "model-"; final static String MKR = "{MKR}"; @@ -119,7 +117,7 @@ public class RepoAdminServiceImplTest extends TestCase protected void setUp() throws Exception { super.setUp(); - dialect = (Dialect) ctx.getBean("dialect"); + repoAdminService = (RepoAdminService) ctx.getBean("RepoAdminService"); dictionaryService = (DictionaryService) ctx.getBean("DictionaryService"); transactionService = (TransactionService) ctx.getBean("TransactionService"); @@ -581,87 +579,77 @@ public class RepoAdminServiceImplTest extends TestCase public void testConcurrentDynamicModelCreate() throws Exception { - // disable in case of SQL Server - // see MNT-13089 - if (!(dialect instanceof SQLServerDialect)) + final int n = 2; + + undeployModels(n); + + int deployedModelCount = repoAdminService.getModels().size(); + logger.info("Before deploy: deployed custom model count: "+deployedModelCount); + + int dictModelCount = getModelCount(); + logger.info("Before deploy: dictionary model count: "+dictModelCount); + + // concurrently deploy N models + runConcurrentOps(n, 1); + + int newDeployedModelCount = repoAdminService.getModels().size(); + logger.info("After deploy: deployed custom model count: "+newDeployedModelCount); + assertEquals(deployedModelCount+n, newDeployedModelCount); + + for (int i = 1; i <= n; i++) { - final int n = 2; - - undeployModels(n); - - int deployedModelCount = repoAdminService.getModels().size(); - logger.info("Before deploy: deployed custom model count: "+deployedModelCount); - - int dictModelCount = getModelCount(); - logger.info("Before deploy: dictionary model count: "+dictModelCount); - - // concurrently deploy N models - runConcurrentOps(n, 1); - - int newDeployedModelCount = repoAdminService.getModels().size(); - logger.info("After deploy: deployed custom model count: "+newDeployedModelCount); - assertEquals(deployedModelCount+n, newDeployedModelCount); - - for (int i = 1; i <= n; i++) - { - assertTrue(isModelDeployed(modelPrefix+i)); - } - - int newDictModelCount = getModelCount(); - logger.info("After deploy: dictionary model count: "+newDictModelCount); - assertEquals(dictModelCount+n, newDictModelCount); - - undeployModels(n); - - newDeployedModelCount = repoAdminService.getModels().size(); - logger.info("After undeploy: deployed custom model count: "+newDeployedModelCount); - assertEquals(deployedModelCount, newDeployedModelCount); - - newDictModelCount = getModelCount(); - logger.info("After undeploy: dictionary model count: "+newDictModelCount); - assertEquals(dictModelCount, newDictModelCount); + assertTrue(isModelDeployed(modelPrefix+i)); } + + int newDictModelCount = getModelCount(); + logger.info("After deploy: dictionary model count: "+newDictModelCount); + assertEquals(dictModelCount+n, newDictModelCount); + + undeployModels(n); + + newDeployedModelCount = repoAdminService.getModels().size(); + logger.info("After undeploy: deployed custom model count: "+newDeployedModelCount); + assertEquals(deployedModelCount, newDeployedModelCount); + + newDictModelCount = getModelCount(); + logger.info("After undeploy: dictionary model count: "+newDictModelCount); + assertEquals(dictModelCount, newDictModelCount); } public void testConcurrentDynamicModelDelete() throws Exception { - // disable in case of SQL Server - // see MNT-13089 - if (!(dialect instanceof SQLServerDialect)) + final int n = 2; + + undeployModels(n); + + int deployedModelCount = repoAdminService.getModels().size(); + logger.info("Existing deployed custom model count: "+deployedModelCount); + + int dictModelCount = getModelCount(); + logger.info("Existing dictionary model count: "+dictModelCount); + + deployModels(n); + + assertEquals("assert A: deployed model count not equal to the repoAdminService", deployedModelCount+n, repoAdminService.getModels().size()); + + for (int i = 1; i <= n; i++) { - final int n = 2; - - undeployModels(n); - - int deployedModelCount = repoAdminService.getModels().size(); - logger.info("Existing deployed custom model count: "+deployedModelCount); - - int dictModelCount = getModelCount(); - logger.info("Existing dictionary model count: "+dictModelCount); - - deployModels(n); - - assertEquals("assert A: deployed model count not equal to the repoAdminService", deployedModelCount+n, repoAdminService.getModels().size()); - - for (int i = 1; i <= n; i++) - { - assertTrue(isModelDeployed(modelPrefix+i)); - } - - assertEquals(dictModelCount+n, getModelCount()); - - // concurrently undeploy N models - runConcurrentOps(n, 2); - - assertEquals("assert after concurrent undeploy", deployedModelCount, repoAdminService.getModels().size()); - - for (int i = 1; i <= n; i++) - { - assertFalse(isModelDeployed(modelPrefix+i)); - } - - assertEquals(dictModelCount, getModelCount()); + assertTrue(isModelDeployed(modelPrefix+i)); } + + assertEquals(dictModelCount+n, getModelCount()); + + // concurrently undeploy N models + runConcurrentOps(n, 2); + + assertEquals("assert after concurrent undeploy", deployedModelCount, repoAdminService.getModels().size()); + + for (int i = 1; i <= n; i++) + { + assertFalse(isModelDeployed(modelPrefix+i)); + } + + assertEquals(dictModelCount, getModelCount()); } private int getModelCount() diff --git a/source/test-java/org/alfresco/repo/node/archive/ArchiveAndRestoreTest.java b/source/test-java/org/alfresco/repo/node/archive/ArchiveAndRestoreTest.java index 44e3aeb36b..5a58865642 100644 --- a/source/test-java/org/alfresco/repo/node/archive/ArchiveAndRestoreTest.java +++ b/source/test-java/org/alfresco/repo/node/archive/ArchiveAndRestoreTest.java @@ -58,8 +58,6 @@ import org.alfresco.test_category.OwnJVMTestsCategory; import org.alfresco.util.ApplicationContextHelper; import org.alfresco.util.ScriptPagingDetails; import org.alfresco.util.TestWithUserUtils; -import org.hibernate.dialect.Dialect; -import org.hibernate.dialect.SQLServerDialect; import org.junit.experimental.categories.Category; import org.springframework.context.ApplicationContext; @@ -91,8 +89,7 @@ public class ArchiveAndRestoreTest extends TestCase private MutableAuthenticationService authenticationService; private OwnableService ownableService; private TransactionService transactionService; - private Dialect dialect; - + private UserTransaction txn; private StoreRef workStoreRef; private NodeRef workStoreRootNodeRef; @@ -115,7 +112,7 @@ public class ArchiveAndRestoreTest extends TestCase private NodeRef bb_; ChildAssociationRef childAssocAtoAA_; ChildAssociationRef childAssocBtoBB_; - + @Override public void setUp() throws Exception { @@ -127,8 +124,7 @@ public class ArchiveAndRestoreTest extends TestCase authenticationComponent = (AuthenticationComponent) ctx.getBean("authenticationComponent"); ownableService = (OwnableService) ctx.getBean("ownableService"); transactionService = serviceRegistry.getTransactionService(); - dialect = (Dialect) ctx.getBean("dialect"); - + // Start a transaction txn = transactionService.getUserTransaction(); txn.begin(); @@ -615,28 +611,18 @@ public class ArchiveAndRestoreTest extends TestCase public void testInTransactionRestore() throws Exception { - // disable in case of SQL Server - // see MNT-13089 - if (!(dialect instanceof SQLServerDialect)) - { - RestoreNodeReport report = nodeArchiveService.restoreArchivedNode(a_); - // expect a failure due to missing archive node - assertEquals("Expected failure", RestoreStatus.FAILURE_INVALID_ARCHIVE_NODE, report.getStatus()); - // check that our transaction was not affected - assertEquals("Transaction should still be valid", Status.STATUS_ACTIVE, txn.getStatus()); - } + RestoreNodeReport report = nodeArchiveService.restoreArchivedNode(a_); + // expect a failure due to missing archive node + assertEquals("Expected failure", RestoreStatus.FAILURE_INVALID_ARCHIVE_NODE, report.getStatus()); + // check that our transaction was not affected + assertEquals("Transaction should still be valid", Status.STATUS_ACTIVE, txn.getStatus()); } public void testInTransactionPurge() throws Exception { - // disable in case of SQL Server - // see MNT-13089 - if (!(dialect instanceof SQLServerDialect)) - { - nodeArchiveService.purgeArchivedNode(a_); - // the node should still be there (it was not available to the purge transaction) - assertEquals("Transaction should still be valid", Status.STATUS_ACTIVE, txn.getStatus()); - } + nodeArchiveService.purgeArchivedNode(a_); + // the node should still be there (it was not available to the purge transaction) + assertEquals("Transaction should still be valid", Status.STATUS_ACTIVE, txn.getStatus()); } private void commitAndBeginNewTransaction() throws Exception diff --git a/source/test-java/org/alfresco/repo/rendition/RenditionServiceIntegrationTest.java b/source/test-java/org/alfresco/repo/rendition/RenditionServiceIntegrationTest.java index 90f34a9758..f0bd7666ef 100644 --- a/source/test-java/org/alfresco/repo/rendition/RenditionServiceIntegrationTest.java +++ b/source/test-java/org/alfresco/repo/rendition/RenditionServiceIntegrationTest.java @@ -2002,12 +2002,9 @@ public class RenditionServiceIntegrationTest extends BaseAlfrescoSpringTest public void testALF3733() throws Exception { - // disable in case of SQL Server - // see MNT-13089 - if (dialect instanceof SQLServerDialect) - { - return; - } + setComplete(); + endTransaction(); + // ALF-3733 was caused by ${cwd} evaluating to the empty string and a path "//sourceNodeName" // being passed to the FileFolderService for creation. This then splits the string using '/' as // a delimiter which leads to the attempted creation of nodes with the empty string as a name, @@ -2469,12 +2466,8 @@ public class RenditionServiceIntegrationTest extends BaseAlfrescoSpringTest public void testJavascriptAPI() throws Exception { - // disable in case of SQL Server - // see MNT-13089 - if (dialect instanceof SQLServerDialect) - { - return; - } + setComplete(); + endTransaction(); Map model = new HashMap(); model.put("testSourceNode", this.nodeWithImageContent); diff --git a/source/test-java/org/alfresco/repo/rendition/RenditionServicePermissionsTest.java b/source/test-java/org/alfresco/repo/rendition/RenditionServicePermissionsTest.java index 1becf2f00b..1939c7c3f9 100644 --- a/source/test-java/org/alfresco/repo/rendition/RenditionServicePermissionsTest.java +++ b/source/test-java/org/alfresco/repo/rendition/RenditionServicePermissionsTest.java @@ -384,32 +384,18 @@ public class RenditionServicePermissionsTest testSiteInfo.doclib, "quick.jpg", AuthenticationUtil.getFullyAuthenticatedUser()); - return imgNode; - } - }); - - // This is what ScriptNode.createThumbnail does - final ThumbnailDefinition details = thumbnailRegistry.getThumbnailDefinition("doclib"); - final Action action = transactionHelper.doInTransaction(new RetryingTransactionHelper.RetryingTransactionCallback() - { - @Override - public Action execute() throws Throwable - { - return ThumbnailHelper.createCreateThumbnailAction(details, services); - } - }); - - transactionHelper.doInTransaction(new RetryingTransactionHelper.RetryingTransactionCallback() - { - public Void execute() throws Throwable - { + + // This is what ScriptNode.createThumbnail does + ThumbnailDefinition details = thumbnailRegistry.getThumbnailDefinition("doclib"); + Action action = ThumbnailHelper.createCreateThumbnailAction(details, services); + // Creation of thumbnail services.getActionService().executeAction(action, imgNode, true, false); // The node in question should now have a thumbnail/rendition. assertEquals(1, renditionService.getRenditions(imgNode).size()); - return null; + return imgNode; } }); diff --git a/source/test-java/org/alfresco/repo/security/authentication/AuthenticationTest.java b/source/test-java/org/alfresco/repo/security/authentication/AuthenticationTest.java index fc0ccea073..61323a8409 100644 --- a/source/test-java/org/alfresco/repo/security/authentication/AuthenticationTest.java +++ b/source/test-java/org/alfresco/repo/security/authentication/AuthenticationTest.java @@ -72,7 +72,6 @@ import org.alfresco.test_category.OwnJVMTestsCategory; import org.alfresco.util.ApplicationContextHelper; import org.hibernate.dialect.Dialect; import org.hibernate.dialect.PostgreSQLDialect; -import org.hibernate.dialect.SQLServerDialect; import org.junit.experimental.categories.Category; import org.springframework.context.ApplicationContext; import org.springframework.extensions.webscripts.GUID; @@ -1733,12 +1732,11 @@ public class AuthenticationTest extends TestCase public void testLoginNotExistingTenant() throws Exception { - // disable in case of SQL Server + // split the transactions to pass on SQL Server // see MNT-13089 - if (dialect instanceof SQLServerDialect) - { - return; - } + userTransaction.commit(); + userTransaction = transactionService.getUserTransaction(); + userTransaction.begin(); boolean wasEnabled = AuthenticationUtil.isMtEnabled(); try