From 0d3d593af98fbbf35c4426a0ed8f43cd264a4ffe Mon Sep 17 00:00:00 2001
From: juanf <juanf@ethz.ch>
Date: Mon, 6 Feb 2023 11:22:34 +0100
Subject: [PATCH] SSDM-13207 : Fixing tests

---
 .../generic/server/CommonServiceProvider.java   | 13 ++++++++++++-
 .../generic/shared/AbstractServerTestCase.java  | 17 ++++++++---------
 2 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServiceProvider.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServiceProvider.java
index 08cd1d4d51a..84e9dffc79a 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServiceProvider.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServiceProvider.java
@@ -16,6 +16,7 @@
 
 package ch.systemsx.cisd.openbis.generic.server;
 
+import ch.systemsx.cisd.openbis.generic.server.dataaccess.db.DAOFactory;
 import ch.systemsx.cisd.openbis.generic.shared.ISessionWorkspaceProvider;
 import ch.systemsx.cisd.openbis.generic.shared.SessionWorkspaceProvider;
 import org.springframework.context.ApplicationContext;
@@ -41,6 +42,8 @@ public class CommonServiceProvider
 {
     private static ApplicationContext applicationContext;
 
+    private static IDAOFactory daoFactory;
+
     public static void setApplicationContext(ApplicationContext context)
     {
         applicationContext = context;
@@ -63,7 +66,15 @@ public class CommonServiceProvider
 
     public static IDAOFactory getDAOFactory()
     {
-        return (IDAOFactory) applicationContext.getBean("dao-factory");
+        if (daoFactory == null) {
+            daoFactory = (IDAOFactory) applicationContext.getBean("dao-factory");
+        }
+        return daoFactory;
+    }
+
+    public static void setDAOFactory(IDAOFactory daoFactory)
+    {
+        CommonServiceProvider.daoFactory = daoFactory;
     }
 
     public static ICommonBusinessObjectFactory getBusinessObjectFactory()
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 d64f4c9160d..56bacd2ce4f 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
@@ -19,6 +19,8 @@ package ch.systemsx.cisd.openbis.generic.shared;
 import java.util.ArrayList;
 import java.util.Arrays;
 
+import ch.systemsx.cisd.openbis.generic.server.CommonServiceProvider;
+import ch.systemsx.cisd.openbis.generic.shared.dto.*;
 import org.apache.log4j.Level;
 import org.jmock.Expectations;
 import org.jmock.Mockery;
@@ -84,15 +86,6 @@ import ch.systemsx.cisd.openbis.generic.server.dataaccess.PersistencyResources;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.db.IPermIdDAO;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DisplaySettings;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewExperiment;
-import ch.systemsx.cisd.openbis.generic.shared.dto.DataSetTypePE;
-import ch.systemsx.cisd.openbis.generic.shared.dto.DataStorePE;
-import ch.systemsx.cisd.openbis.generic.shared.dto.ExperimentPE;
-import ch.systemsx.cisd.openbis.generic.shared.dto.ExperimentTypePE;
-import ch.systemsx.cisd.openbis.generic.shared.dto.ExternalDataPE;
-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;
 import ch.systemsx.cisd.openbis.util.LogRecordingUtils;
 
@@ -134,6 +127,8 @@ public abstract class AbstractServerTestCase extends AssertJUnit
 
     protected ISampleDAO sampleDAO;
 
+    protected ISampleRelationshipDAO sampleRelationshipDAO;
+
     protected ISpaceBO spaceBO;
 
     protected ISampleBO sampleBO;
@@ -236,10 +231,12 @@ public abstract class AbstractServerTestCase extends AssertJUnit
         propertiesBatchManager = context.mock(IPropertiesBatchManager.class);
         // DAO
         daoFactory = context.mock(IDAOFactory.class);
+        CommonServiceProvider.setDAOFactory(daoFactory);
         personDAO = context.mock(IPersonDAO.class);
         groupDAO = context.mock(ISpaceDAO.class);
         spaceDAO = groupDAO;
         sampleDAO = context.mock(ISampleDAO.class);
+        sampleRelationshipDAO = context.mock(ISampleRelationshipDAO.class);
         roleAssignmentDAO = context.mock(IRoleAssignmentDAO.class);
         dataSetDAO = context.mock(IDataDAO.class);
         permIdDAO = context.mock(IPermIdDAO.class);
@@ -298,6 +295,8 @@ public abstract class AbstractServerTestCase extends AssertJUnit
                     will(returnValue(groupDAO));
                     allowing(daoFactory).getSampleDAO();
                     will(returnValue(sampleDAO));
+                    allowing(daoFactory).getSampleRelationshipDAO();
+                    will(returnValue(sampleRelationshipDAO));
                     allowing(daoFactory).getExperimentDAO();
                     will(returnValue(experimentDAO));
                     allowing(daoFactory).getRoleAssignmentDAO();
-- 
GitLab