From 52cbb937242047829924632702ba1c989923f31c Mon Sep 17 00:00:00 2001
From: kaloyane <kaloyane>
Date: Tue, 7 Jun 2011 13:37:25 +0000
Subject: [PATCH] [LMS-2238] added ShareFactoryTest with resources

SVN: 21615
---
 .../ShareFactoryTest/share-1/share.properties |  2 +
 .../test-data/ShareFactoryTest/share-1/speed  |  1 +
 .../ShareFactoryTest/share-2/share.properties |  1 +
 .../test-data/ShareFactoryTest/share-2/speed  |  1 +
 .../ShareFactoryTest/share-3/share.properties |  2 +
 .../test-data/ShareFactoryTest/share-4/speed  |  1 +
 .../shared/utils/ShareFactoryTest.java        | 71 +++++++++++++++++++
 7 files changed, 79 insertions(+)
 create mode 100644 datastore_server/resource/test-data/ShareFactoryTest/share-1/share.properties
 create mode 100644 datastore_server/resource/test-data/ShareFactoryTest/share-1/speed
 create mode 100644 datastore_server/resource/test-data/ShareFactoryTest/share-2/share.properties
 create mode 100644 datastore_server/resource/test-data/ShareFactoryTest/share-2/speed
 create mode 100644 datastore_server/resource/test-data/ShareFactoryTest/share-3/share.properties
 create mode 100644 datastore_server/resource/test-data/ShareFactoryTest/share-4/speed
 create mode 100644 datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/ShareFactoryTest.java

diff --git a/datastore_server/resource/test-data/ShareFactoryTest/share-1/share.properties b/datastore_server/resource/test-data/ShareFactoryTest/share-1/share.properties
new file mode 100644
index 00000000000..bf2ce0a9205
--- /dev/null
+++ b/datastore_server/resource/test-data/ShareFactoryTest/share-1/share.properties
@@ -0,0 +1,2 @@
+speed=70
+shuffle-priority=SPEED
\ No newline at end of file
diff --git a/datastore_server/resource/test-data/ShareFactoryTest/share-1/speed b/datastore_server/resource/test-data/ShareFactoryTest/share-1/speed
new file mode 100644
index 00000000000..3cacc0b93c9
--- /dev/null
+++ b/datastore_server/resource/test-data/ShareFactoryTest/share-1/speed
@@ -0,0 +1 @@
+12
\ No newline at end of file
diff --git a/datastore_server/resource/test-data/ShareFactoryTest/share-2/share.properties b/datastore_server/resource/test-data/ShareFactoryTest/share-2/share.properties
new file mode 100644
index 00000000000..a518af93e76
--- /dev/null
+++ b/datastore_server/resource/test-data/ShareFactoryTest/share-2/share.properties
@@ -0,0 +1 @@
+shuffle-priority=MOVE_TO_EXTENSION
\ No newline at end of file
diff --git a/datastore_server/resource/test-data/ShareFactoryTest/share-2/speed b/datastore_server/resource/test-data/ShareFactoryTest/share-2/speed
new file mode 100644
index 00000000000..3cacc0b93c9
--- /dev/null
+++ b/datastore_server/resource/test-data/ShareFactoryTest/share-2/speed
@@ -0,0 +1 @@
+12
\ No newline at end of file
diff --git a/datastore_server/resource/test-data/ShareFactoryTest/share-3/share.properties b/datastore_server/resource/test-data/ShareFactoryTest/share-3/share.properties
new file mode 100644
index 00000000000..bf2ce0a9205
--- /dev/null
+++ b/datastore_server/resource/test-data/ShareFactoryTest/share-3/share.properties
@@ -0,0 +1,2 @@
+speed=70
+shuffle-priority=SPEED
\ No newline at end of file
diff --git a/datastore_server/resource/test-data/ShareFactoryTest/share-4/speed b/datastore_server/resource/test-data/ShareFactoryTest/share-4/speed
new file mode 100644
index 00000000000..903286785b5
--- /dev/null
+++ b/datastore_server/resource/test-data/ShareFactoryTest/share-4/speed
@@ -0,0 +1 @@
+  12
\ No newline at end of file
diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/ShareFactoryTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/ShareFactoryTest.java
new file mode 100644
index 00000000000..9ed71932553
--- /dev/null
+++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/ShareFactoryTest.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright 2011 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.dss.generic.shared.utils;
+
+import java.io.File;
+
+import org.testng.AssertJUnit;
+import org.testng.annotations.Test;
+
+import ch.systemsx.cisd.openbis.dss.generic.shared.utils.Share.ShufflePriority;
+
+/**
+ * @author Kaloyan Enimanev
+ */
+public class ShareFactoryTest extends AssertJUnit
+{
+    private final static File DATA_DIRECTORY = new File("./resource/test-data/"
+            + ShareFactoryTest.class.getSimpleName());
+
+    @Test
+    public void testSharePropertiesOverridesSpeedFile()
+    {
+        Share share = readShare("share-1");
+        assertEquals(70, share.getSpeed());
+        assertEquals(ShufflePriority.SPEED, share.getShufflePriority());
+    }
+
+    @Test
+    public void testSpeedFileRespected()
+    {
+        Share share = readShare("share-2");
+        assertEquals(12, share.getSpeed());
+        assertEquals(ShufflePriority.MOVE_TO_EXTENSION, share.getShufflePriority());
+    }
+
+    @Test
+    public void testOnlySharePropertiesAvailable()
+    {
+        Share share = readShare("share-3");
+        assertEquals(70, share.getSpeed());
+        assertEquals(ShufflePriority.SPEED, share.getShufflePriority());
+    }
+
+    @Test
+    public void testOnlySpeedFileAvailable()
+    {
+        Share share = readShare("share-4");
+        assertEquals(12, share.getSpeed());
+        assertEquals(ShufflePriority.SPEED, share.getShufflePriority());
+    }
+
+    private Share readShare(String shareName)
+    {
+        File shareRoot = new File(DATA_DIRECTORY, shareName);
+        return new ShareFactory().createShare(shareRoot, null, null);
+    }
+}
-- 
GitLab