From 9e1adf89b04c6e3f30bc80c7e243adf8dc4024e1 Mon Sep 17 00:00:00 2001
From: Andreas Romeyke <andreas.romeyke@slub-dresden.de>
Date: Fri, 17 Jan 2014 14:34:20 +0000
Subject: [PATCH] - refactored Makefile to be more simple - added mock test
 object - added target "make test"

---
 Makefile                                      | 20 ++++---
 .../plugin/storage/nfs/SLUBStoragePlugin.java |  2 +-
 .../storage/nfs/testSLUBStoragePlugin.java    | 52 +++++++++++++++++++
 3 files changed, 66 insertions(+), 8 deletions(-)
 create mode 100644 java/org/slub/rosetta/dps/repository/plugin/storage/nfs/testSLUBStoragePlugin.java

diff --git a/Makefile b/Makefile
index 2cfad67..3b3bb6d 100644
--- a/Makefile
+++ b/Makefile
@@ -17,11 +17,14 @@ ROSETTASDKPLUGINS=${ROSETTASDK}/../../bundled_plugins/
 
 
 # classpath
-CLASSPATH=${ROSETTASDKDEPOSIT}/../src/:${ROSETTASDKDEPOSIT}/xmlbeans-2.3.0.jar:${ROSETTASDKDEPOSIT}/dps-sdk-${ROSETTAVERSION}.jar:${ROSETTASDKDEPOSIT}/log4j-1.2.14.jar:${ROSETTASDKPLUGINS}/NFSStoragePlugin.jar
+JUNITCLASSPATH=/usr/share/java/junit4.jar
+#SOURCESCLASSPATH=org/slub/rosetta/dps/repository/plugin/storage/nfs
+CLASSPATH=./java:${ROSETTASDKDEPOSIT}/../src/:${ROSETTASDKDEPOSIT}/xmlbeans-2.3.0.jar:${ROSETTASDKDEPOSIT}/dps-sdk-${ROSETTAVERSION}.jar:${ROSETTASDKDEPOSIT}/log4j-1.2.14.jar:${ROSETTASDKPLUGINS}/NFSStoragePlugin.jar
 
 # sources
 
-SOURCES=java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java
+SOURCES=java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java\
+	java/org/slub/rosetta/dps/repository/plugin/storage/nfs/testSLUBStoragePlugin.java
 OBJS=$(SOURCES:.java=.class)
 
 
@@ -41,13 +44,16 @@ jarclean:
 	schemaorg_apache_xmlbeans META-INF NOTICE.txt \
 	dnx_profile.xls ExLibMessageFile.properties LICENSE.txt manifest.txt
 
+test:   $(OBJS) 
+	java -cp ${CLASSPATH}:$(JUNITCLASSPATH) org.junit.runner.JUnitCore org.slub.rosetta.dps.repository.plugin.storage.nfs.testSLUBStoragePlugin
+
 clean: jarclean
 	@rm -Rf doc/
-	@rm -f *.class *.jar *.sh
-	@rm -f $(OBJS)
+	find ./ -name "*.class" -exec rm -f \{\} \;
 
 distclean: clean
-	@rm -f *~
+	find ./ -name "*~" -exec rm -f \{\} \;
+	@rm -Rf null
 
 .PRECIOUS: %.sh %.jar
 
@@ -72,7 +78,7 @@ distclean: clean
 	dnx_profile.xls ExLibMessageFile.properties LICENSE.txt manifest.txt
 
 %.class: %.java
-	${JAVAPATH}/javac -classpath ${CLASSPATH} $< 
+	${JAVAPATH}/javac -classpath ${CLASSPATH}:${JUNITCLASSPATH} $< 
 
 doc: $(SOURCES)
 	javadoc -d doc/ $^
@@ -83,5 +89,5 @@ check_prerequisites:
 	@echo -n "### Checking Exlibris Rosetta SDK path: $(ROSETTASDK) ...."
 	@if [ -e $(ROSETTASDK) ]; then echo "fine :)"; else echo " not found! :("; fi
 
-.PHONY: help clean distclean jarclean check_prerequisites
+.PHONY: help clean distclean jarclean test
 
diff --git a/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java b/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java
index f9d9e67..0133410 100644
--- a/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java
+++ b/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java
@@ -72,7 +72,7 @@ public class SLUBStoragePlugin extends NFSStoragePlugin {
         return relativeDirectoryPath;
     }
  
-    private File getStreamDirectory(String path, String fileName) {
+    protected File getStreamDirectory(String path, String fileName) {
  
         File newDir = new File(parameters.get(DIR_ROOT) + File.separator + path);
         newDir.mkdirs();
diff --git a/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/testSLUBStoragePlugin.java b/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/testSLUBStoragePlugin.java
new file mode 100644
index 0000000..8f32760
--- /dev/null
+++ b/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/testSLUBStoragePlugin.java
@@ -0,0 +1,52 @@
+package org.slub.rosetta.dps.repository.plugin.storage.nfs;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+import org.junit.Ignore;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+
+import com.exlibris.dps.repository.plugin.storage.nfs.NFSStoragePlugin;
+import com.exlibris.core.infra.common.util.IOUtil;
+import com.exlibris.core.sdk.storage.containers.StoredEntityMetaData;
+import com.exlibris.digitool.common.storage.Fixity;
+import com.exlibris.digitool.infrastructure.utils.Checksummer;
+ 
+import java.util.HashMap;
+import org.slub.rosetta.dps.repository.plugin.storage.nfs.SLUBStoragePlugin;
+import java.io.File;
+/**
+ * Tests for {@link org.slub.rosetta.dps.repository.plugin.storage.nfs.SLUBStoragePlugin}.
+ *
+ * @author andreas.romeyke@slub-dresden.de (Andreas Romeyke)
+ */
+@RunWith(JUnit4.class)
+public class testSLUBStoragePlugin {
+
+  @Test
+  public void thisAlwaysPasses() {
+    System.out.println("Hallo Welt!");
+    assertTrue("helloworld test", true );
+  }
+
+  @Test
+  public void thisAlwaysPasses2() {
+    SLUBStoragePlugin mock = new SLUBStoragePlugin();
+    HashMap <String, String> map = new HashMap<String,String> ();
+    map.put("DIR_Root", "./");
+    mock.setParameters( map );
+    // TODO:
+    File calced_path = mock.getStreamDirectory("foo", "bar");
+    System.out.println("getStreamDirectory:"+ calced_path.getName()+ "\n");
+    assertTrue("getStreamDirectory test", true );
+    
+  }
+
+  @Test
+  @Ignore("Test is ignored for testing purposes")
+  public void thisIsIgnored() {
+  }
+}
-- 
GitLab