From b052ed52db74b2582527acb204bf974e9e43194c Mon Sep 17 00:00:00 2001
From: ribeaudc <ribeaudc>
Date: Fri, 19 Dec 2008 13:15:47 +0000
Subject: [PATCH] [LMS-709] add: - Unit tests.

SVN: 9444
---
 .../web/server/CommonClientServiceTest.java   | 16 +++++++++++
 .../generic/server/CommonServerTest.java      | 19 +++++++++++++
 .../server/business/bo/VocabularyBOTest.java  | 27 +++++++++++++++++++
 .../shared/AbstractServerTestCase.java        |  4 +++
 .../shared/ICommonServer.java.expected        |  9 +++++--
 5 files changed, 73 insertions(+), 2 deletions(-)
 create mode 100644 openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/VocabularyBOTest.java

diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/server/CommonClientServiceTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/server/CommonClientServiceTest.java
index 4f01bd50dc4..54a35a0ee0c 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/server/CommonClientServiceTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/server/CommonClientServiceTest.java
@@ -245,6 +245,22 @@ public final class CommonClientServiceTest extends AbstractClientServiceTest
         context.assertIsSatisfied();
     }
 
+    @Test
+    public final void testRegisterVocabulary()
+    {
+        context.checking(new Expectations()
+            {
+                {
+                    prepareGetSessionToken(this);
+
+                    one(commonServer).registerVocabulary(with(SESSION_TOKEN),
+                            with(aNonNull(Vocabulary.class)));
+                }
+            });
+        commonClientService.registerVocabulary(new Vocabulary());
+        context.assertIsSatisfied();
+    }
+
     @Test
     public final void testListVocabularies()
     {
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/CommonServerTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/CommonServerTest.java
index e415f9e23c2..8c907855c39 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/CommonServerTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/CommonServerTest.java
@@ -27,6 +27,7 @@ import org.testng.annotations.Test;
 
 import ch.systemsx.cisd.common.exceptions.UserFailureException;
 import ch.systemsx.cisd.openbis.generic.client.web.client.dto.PropertyType;
+import ch.systemsx.cisd.openbis.generic.client.web.client.dto.Vocabulary;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.ICommonBusinessObjectFactory;
 import ch.systemsx.cisd.openbis.generic.shared.AbstractServerTestCase;
 import ch.systemsx.cisd.openbis.generic.shared.CommonTestUtils;
@@ -565,4 +566,22 @@ public final class CommonServerTest extends AbstractServerTestCase
         createServer().registerPropertyType(SESSION_TOKEN, new PropertyType());
         context.assertIsSatisfied();
     }
+
+    @Test
+    public final void testRegisterVocabulary()
+    {
+        final Session session = prepareGetSession();
+        context.checking(new Expectations()
+            {
+                {
+                    one(commonBusinessObjectFactory).createVocabularyBO(session);
+                    will(returnValue(vocabularyBO));
+
+                    one(vocabularyBO).define(with(aNonNull(Vocabulary.class)));
+                    one(vocabularyBO).save();
+                }
+            });
+        createServer().registerVocabulary(SESSION_TOKEN, new Vocabulary());
+        context.assertIsSatisfied();
+    }
 }
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/VocabularyBOTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/VocabularyBOTest.java
new file mode 100644
index 00000000000..0b76fd098ce
--- /dev/null
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/VocabularyBOTest.java
@@ -0,0 +1,27 @@
+/*
+ * Copyright 2008 ETH Zuerich, CISD
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package ch.systemsx.cisd.openbis.generic.server.business.bo;
+
+/**
+ * Test cases for corresponding {@link VocabularyBO} class.
+ * 
+ * @author Christian Ribeaud
+ */
+public final class VocabularyBOTest
+{
+
+}
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 c7ae5ce7305..2fa33917c44 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
@@ -33,6 +33,7 @@ import ch.systemsx.cisd.openbis.generic.server.business.bo.IGroupBO;
 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.IVocabularyBO;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDatabaseInstanceDAO;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IEntityTypeDAO;
@@ -106,6 +107,8 @@ public abstract class AbstractServerTestCase extends AssertJUnit
 
     protected IVocabularyDAO vocabularyDAO;
 
+    protected IVocabularyBO vocabularyBO;
+
     @BeforeMethod
     @SuppressWarnings("unchecked")
     public void setUp()
@@ -132,6 +135,7 @@ public abstract class AbstractServerTestCase extends AssertJUnit
         sampleBO = context.mock(ISampleBO.class);
         experimentBO = context.mock(IExperimentBO.class);
         propertyTypeBO = context.mock(IPropertyTypeBO.class);
+        vocabularyBO = context.mock(IVocabularyBO.class);
         // Table
         externalDataTable = context.mock(IExternalDataTable.class);
         experimentTable = context.mock(IExperimentTable.class);
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/ICommonServer.java.expected b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/ICommonServer.java.expected
index 122ff780a7d..47a051a90e3 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/ICommonServer.java.expected
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/ICommonServer.java.expected
@@ -5,6 +5,7 @@ import java.util.List;
 import org.springframework.transaction.annotation.Transactional;
 
 import ch.systemsx.cisd.openbis.generic.client.web.client.dto.PropertyType;
+import ch.systemsx.cisd.openbis.generic.client.web.client.dto.Vocabulary;
 import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.AuthorizationGuard;
 import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.ReturnValueFilter;
 import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.RoleSet;
@@ -136,7 +137,11 @@ public interface ICommonServer extends IServer
     
     @Transactional
     @RolesAllowed(RoleSet.INSTANCE_ADMIN)
-    public String assignPropertyType(String sessionToken, EntityKind entityKind,
-            String propertyTypeCode, String entityTypeCode, boolean isMandatory, String defaultValue);
+    public String assignPropertyType(final String sessionToken, final EntityKind entityKind,
+            final String propertyTypeCode, final String entityTypeCode, final boolean isMandatory,
+            final String defaultValue);
             
+    @Transactional
+    @RolesAllowed(RoleSet.INSTANCE_ADMIN)
+    public void registerVocabulary(final String sessionToken, final Vocabulary vocabulary);
 }
-- 
GitLab