From ad26f06fae8cedae7f7cf661cd845cadb10ad241 Mon Sep 17 00:00:00 2001
From: felmer <felmer>
Date: Mon, 17 Sep 2012 08:11:13 +0000
Subject: [PATCH] Tests fixed which where broken by new Test NG.

SVN: 26641
---
 .../shared/util/MaterialConfigurationProvider.java  | 13 ++++++++++++-
 .../cisd/openbis/generic/server/ETLServiceTest.java |  2 --
 .../server/dataaccess/db/MaterialDAOTest.java       |  6 ++++--
 .../generic/shared/AbstractServerTestCase.java      |  7 ++++++-
 .../QiagenScreeningLibraryColumnExtractorTest.java  |  6 ++++--
 5 files changed, 26 insertions(+), 8 deletions(-)

diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/util/MaterialConfigurationProvider.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/util/MaterialConfigurationProvider.java
index 8db6f37c3f1..483b956b192 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/util/MaterialConfigurationProvider.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/util/MaterialConfigurationProvider.java
@@ -39,9 +39,20 @@ public class MaterialConfigurationProvider
     /**
      * only used for unit tests.
      */
-    public static final void initializeForTesting(boolean isRelaxCodeConstraints)
+    public static final MaterialConfigurationProvider initializeForTesting(
+            boolean isRelaxCodeConstraints)
     {
+        MaterialConfigurationProvider oldInstance = instance;
         instance = new MaterialConfigurationProvider(isRelaxCodeConstraints);
+        return oldInstance;
+    }
+
+    /**
+     * only used for unit tests.
+     */
+    public static void restoreFromTesting(MaterialConfigurationProvider provider)
+    {
+        instance = provider;
     }
 
     // invoked from Spring
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/ETLServiceTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/ETLServiceTest.java
index 9f59d97882f..3ed107bcdae 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/ETLServiceTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/ETLServiceTest.java
@@ -105,7 +105,6 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.builders.DatabaseInstancePEBu
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.DatabaseInstanceIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SampleIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.dto.properties.EntityKind;
-import ch.systemsx.cisd.openbis.generic.shared.util.MaterialConfigurationProvider;
 
 /**
  * @author Franz-Josef Elmer
@@ -149,7 +148,6 @@ public class ETLServiceTest extends AbstractServerTestCase
         dataStoreService = context.mock(IDataStoreService.class);
         entityOperationChecker = context.mock(IETLEntityOperationChecker.class);
         dataStoreServiceRegistrator = context.mock(IDataStoreServiceRegistrator.class);
-        MaterialConfigurationProvider.initializeForTesting(false);
     }
 
     @Test
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/MaterialDAOTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/MaterialDAOTest.java
index 08fbfa8499f..239dd33a547 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/MaterialDAOTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/MaterialDAOTest.java
@@ -62,12 +62,14 @@ public final class MaterialDAOTest extends AbstractDAOTest
 
     private IMaterialDAO materialDAO;
 
+    private MaterialConfigurationProvider oldProvider;
+
     @BeforeMethod
     @Override
     public void setUp()
     {
         super.setUp();
-        MaterialConfigurationProvider.initializeForTesting(false);
+        oldProvider = MaterialConfigurationProvider.initializeForTesting(false);
         materialDAO = daoFactory.getMaterialDAO();
     }
 
@@ -76,7 +78,7 @@ public final class MaterialDAOTest extends AbstractDAOTest
     public void tearDown()
     {
         super.tearDown();
-        MaterialConfigurationProvider.initializeForTesting(false);
+        MaterialConfigurationProvider.restoreFromTesting(oldProvider);
     }
 
     @Test
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/AbstractServerTestCase.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/AbstractServerTestCase.java
index ede4af9e3d2..2eb627c755c 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/AbstractServerTestCase.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/AbstractServerTestCase.java
@@ -41,13 +41,13 @@ import ch.systemsx.cisd.openbis.generic.server.business.bo.IEntityTypeBO;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.IEntityTypePropertyTypeBO;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.IExperimentBO;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.IExperimentTable;
-import ch.systemsx.cisd.openbis.generic.server.business.bo.ISpaceBO;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.IMaterialBO;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.IMaterialTable;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.IPropertyTypeBO;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.IPropertyTypeTable;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.ISampleBO;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.ISampleTable;
+import ch.systemsx.cisd.openbis.generic.server.business.bo.ISpaceBO;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.ITrashBO;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.IVocabularyBO;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.datasetlister.IDatasetLister;
@@ -88,6 +88,7 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.ProjectPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.Session;
 import ch.systemsx.cisd.openbis.generic.shared.dto.SpacePE;
+import ch.systemsx.cisd.openbis.generic.shared.util.MaterialConfigurationProvider;
 
 /**
  * An <i>abstract</i> test infrastructure for {@link IServer} implementations.
@@ -200,6 +201,8 @@ public abstract class AbstractServerTestCase extends AssertJUnit
 
     protected IEntityOperationsLogDAO entityOperationsLogDAO;
 
+    private MaterialConfigurationProvider oldProvider;
+
     @BeforeMethod
     @SuppressWarnings("unchecked")
     public void setUp()
@@ -296,11 +299,13 @@ public abstract class AbstractServerTestCase extends AssertJUnit
                     will(returnValue(entityOperationsLogDAO));
                 }
             });
+        oldProvider = MaterialConfigurationProvider.initializeForTesting(false);
     }
 
     @AfterMethod
     public void tearDown()
     {
+        MaterialConfigurationProvider.restoreFromTesting(oldProvider);
         logRecorder.reset();
         // To following line of code should also be called at the end of each test method.
         // Otherwise one do not known which test failed.
diff --git a/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/server/library_tools/QiagenScreeningLibraryColumnExtractorTest.java b/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/server/library_tools/QiagenScreeningLibraryColumnExtractorTest.java
index 2c7f931f0ec..11e5f16af58 100644
--- a/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/server/library_tools/QiagenScreeningLibraryColumnExtractorTest.java
+++ b/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/server/library_tools/QiagenScreeningLibraryColumnExtractorTest.java
@@ -38,9 +38,11 @@ public class QiagenScreeningLibraryColumnExtractorTest extends AssertJUnit
 
     private QiagenScreeningLibraryColumnExtractor extractor;
 
+    private MaterialConfigurationProvider oldProvider;
+
     public void setUp(boolean isRelaxedMaterialCodes)
     {
-        MaterialConfigurationProvider.initializeForTesting(isRelaxedMaterialCodes);
+        oldProvider = MaterialConfigurationProvider.initializeForTesting(isRelaxedMaterialCodes);
         extractor =
                 new QiagenScreeningLibraryColumnExtractor(HEADER_TOKENS,
                         MaterialConfigurationProvider.getInstance());
@@ -49,7 +51,7 @@ public class QiagenScreeningLibraryColumnExtractorTest extends AssertJUnit
     @AfterMethod
     public void tearDown()
     {
-        MaterialConfigurationProvider.initializeForTesting(false);
+        MaterialConfigurationProvider.restoreFromTesting(oldProvider);
     }    
 
     @Test
-- 
GitLab