From df926b7ab3170e36bf503a14944aed4432cca7c7 Mon Sep 17 00:00:00 2001 From: michael-conway Date: Wed, 22 Apr 2015 10:17:02 -0400 Subject: [PATCH] #2 first unit test --- .../JargonMetadataResolver.java | 12 +- .../metadatatemplate/MetadataMergeResult.java | 4 +- .../MetadataTemplateFileFilter.java | 26 ++++ .../JargonMetadataResolverTest.java | 132 ++++++------------ .../metadatatemplate/unittest/AllTests.java | 12 ++ .../unittest/package-info.java | 6 + 6 files changed, 93 insertions(+), 99 deletions(-) create mode 100644 metadata-templates/src/main/java/org/irods/jargon/metadatatemplate/MetadataTemplateFileFilter.java create mode 100644 metadata-templates/src/test/java/org/irods/jargon/metadatatemplate/unittest/AllTests.java create mode 100644 metadata-templates/src/test/java/org/irods/jargon/metadatatemplate/unittest/package-info.java diff --git a/metadata-templates/src/main/java/org/irods/jargon/metadatatemplate/JargonMetadataResolver.java b/metadata-templates/src/main/java/org/irods/jargon/metadatatemplate/JargonMetadataResolver.java index a148572..ab6ea2c 100644 --- a/metadata-templates/src/main/java/org/irods/jargon/metadatatemplate/JargonMetadataResolver.java +++ b/metadata-templates/src/main/java/org/irods/jargon/metadatatemplate/JargonMetadataResolver.java @@ -22,12 +22,12 @@ import org.irods.jargon.core.utils.LocalFileUtils; import org.irods.jargon.extensions.dotirods.DotIrodsService; import org.irods.jargon.extensions.dotirods.DotIrodsServiceImpl; -import org.irods.jargon.metadatatemplatesif.AbstractMetadataResolver; -import org.irods.jargon.metadatatemplatesif.FormBasedMetadataTemplate; -import org.irods.jargon.metadatatemplatesif.MetadataElement; -import org.irods.jargon.metadatatemplatesif.MetadataTemplate; -import org.irods.jargon.metadatatemplatesif.MetadataTemplateFileFilter; -import org.irods.jargon.metadatatemplatesif.TemplateParserSingleton; +import org.irods.jargon.metadatatemplate.AbstractMetadataResolver; +import org.irods.jargon.metadatatemplate.FormBasedMetadataTemplate; +import org.irods.jargon.metadatatemplate.MetadataElement; +import org.irods.jargon.metadatatemplate.MetadataTemplate; +import org.irods.jargon.metadatatemplate.MetadataTemplateFileFilter; +import org.irods.jargon.metadatatemplate.TemplateParserSingleton; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/metadata-templates/src/main/java/org/irods/jargon/metadatatemplate/MetadataMergeResult.java b/metadata-templates/src/main/java/org/irods/jargon/metadatatemplate/MetadataMergeResult.java index 3ef08e8..0d9da73 100644 --- a/metadata-templates/src/main/java/org/irods/jargon/metadatatemplate/MetadataMergeResult.java +++ b/metadata-templates/src/main/java/org/irods/jargon/metadatatemplate/MetadataMergeResult.java @@ -4,8 +4,8 @@ import java.util.List; import org.irods.jargon.core.query.MetaDataAndDomainData; -import org.irods.jargon.metadatatemplatesif.FormBasedMetadataTemplate; -import org.irods.jargon.metadatatemplatesif.MetadataTemplate; +import org.irods.jargon.metadatatemplate.FormBasedMetadataTemplate; +import org.irods.jargon.metadatatemplate.MetadataTemplate; public class MetadataMergeResult { private MetadataTemplate template = new FormBasedMetadataTemplate(); diff --git a/metadata-templates/src/main/java/org/irods/jargon/metadatatemplate/MetadataTemplateFileFilter.java b/metadata-templates/src/main/java/org/irods/jargon/metadatatemplate/MetadataTemplateFileFilter.java new file mode 100644 index 0000000..beb1db4 --- /dev/null +++ b/metadata-templates/src/main/java/org/irods/jargon/metadatatemplate/MetadataTemplateFileFilter.java @@ -0,0 +1,26 @@ +package org.irods.jargon.metadatatemplate; + +import java.io.File; +import java.io.FilenameFilter; + +/** + * + * Filter to identify metadatatemplate ".mdtemplate" files + * + * @author rskarbez + * + */ + +public class MetadataTemplateFileFilter implements FilenameFilter { + + @Override + public boolean accept(File file, String fileName) { + if (fileName.endsWith(MetadataTemplateConstants.METADATA_TEMPLATE_EXT)) { + return true; + } + else { + return false; + } + } + +} diff --git a/metadata-templates/src/test/java/org/irods/jargon/metadatatemplate/JargonMetadataResolverTest.java b/metadata-templates/src/test/java/org/irods/jargon/metadatatemplate/JargonMetadataResolverTest.java index 6c97927..0417a82 100644 --- a/metadata-templates/src/test/java/org/irods/jargon/metadatatemplate/JargonMetadataResolverTest.java +++ b/metadata-templates/src/test/java/org/irods/jargon/metadatatemplate/JargonMetadataResolverTest.java @@ -1,10 +1,16 @@ package org.irods.jargon.metadatatemplate; -import static org.junit.Assert.fail; - +import java.io.File; import java.util.Properties; +import junit.framework.Assert; + +import org.irods.jargon.core.connection.IRODSAccount; +import org.irods.jargon.core.pub.IRODSAccessObjectFactory; import org.irods.jargon.core.pub.IRODSFileSystem; +import org.irods.jargon.core.pub.io.IRODSFile; +import org.irods.jargon.extensions.dotirods.DotIrodsService; +import org.irods.jargon.extensions.dotirods.DotIrodsServiceImpl; import org.irods.jargon.testutils.TestingPropertiesHelper; import org.junit.After; import org.junit.BeforeClass; @@ -36,103 +42,47 @@ public void tearDown() throws Exception { } @Test - public void testListTemplatesInIrodsHierarchyAbovePath() { - fail("Not yet implemented"); - } + public void testSaveMetadataTemplateAsJsonNoDotIrodsSpecifiedDir() + throws Exception { - @Test - public void testListPublicTemplates() { - fail("Not yet implemented"); - } + String testDirName = "testSaveMetadataTemplateAsJsonNoDotIrodsSpecifiedDir"; - @Test - public void testFindTemplateByName() { - fail("Not yet implemented"); - } - - @Test - public void testFindTemplateByFqName() { - fail("Not yet implemented"); - } - - @Test - public void testSaveTemplateAsJSON() { - fail("Not yet implemented"); - } + String targetIrodsCollection = testingPropertiesHelper + .buildIRODSCollectionAbsolutePathFromTestProperties( + testingProperties, IRODS_TEST_SUBDIR_PATH + '/' + + testDirName); - @Test - public void testRenameTemplateByFqName() { - fail("Not yet implemented"); - } + IRODSAccount irodsAccount = testingPropertiesHelper + .buildIRODSAccountFromTestProperties(testingProperties); - @Test - public void testUpdateTemplateByFqName() { - fail("Not yet implemented"); - } + IRODSAccessObjectFactory accessObjectFactory = irodsFileSystem + .getIRODSAccessObjectFactory(); + IRODSFile targetCollectionAsFile = accessObjectFactory + .getIRODSFileFactory(irodsAccount).instanceIRODSFile( + targetIrodsCollection); + targetCollectionAsFile.mkdirs(); + FormBasedMetadataTemplate template = new FormBasedMetadataTemplate(); + template.setAuthor("me"); + template.setDescription("descr"); + template.setName(testDirName); + template.setRequired(true); + template.setSource(SourceEnum.USER); + template.setVersion("0.0.1"); - @Test - public void testDeleteTemplateByFqName() { - fail("Not yet implemented"); - } + JargonMetadataResolver resolver = new JargonMetadataResolver( + irodsAccount, accessObjectFactory); - @Test - public void testGetFqNameForUUID() { - fail("Not yet implemented"); - } + resolver.saveTemplateAsJSON(template, targetIrodsCollection); - @Test - public void testJargonMetadataResolver() { - fail("Not yet implemented"); - } + DotIrodsService dotIrodsService = new DotIrodsServiceImpl( + accessObjectFactory, irodsAccount); + File[] metadataTemplateFiles = dotIrodsService + .listFilesOfTypeInDirectoryHierarchyDotIrods( + targetIrodsCollection, + new MetadataTemplateFileFilter(), true); - @Test - public void testPopulateFormBasedMetadataTemplateWithAVUs() { - fail("Not yet implemented"); - } + Assert.assertFalse("no metadata template stored", + metadataTemplateFiles.length == 0); - @Test - public void testAbstractMetadataResolver() { - fail("Not yet implemented"); } - - @Test - public void testGetPublicTemplateLocations() { - fail("Not yet implemented"); - } - - @Test - public void testSetPublicTemplateLocations() { - fail("Not yet implemented"); - } - - @Test - public void testListAllTemplates() { - fail("Not yet implemented"); - } - - @Test - public void testListAllRequiredTemplates() { - fail("Not yet implemented"); - } - - @Test - public void testFindTemplateByUUID() { - fail("Not yet implemented"); - } - - @Test - public void testRenameTemplateByUUID() { - fail("Not yet implemented"); - } - - @Test - public void testUpdateTemplateByUUID() { - fail("Not yet implemented"); - } - - @Test - public void testDeleteTemplateByUUID() { - fail("Not yet implemented"); - } - } diff --git a/metadata-templates/src/test/java/org/irods/jargon/metadatatemplate/unittest/AllTests.java b/metadata-templates/src/test/java/org/irods/jargon/metadatatemplate/unittest/AllTests.java new file mode 100644 index 0000000..c557e2f --- /dev/null +++ b/metadata-templates/src/test/java/org/irods/jargon/metadatatemplate/unittest/AllTests.java @@ -0,0 +1,12 @@ +package org.irods.jargon.metadatatemplate.unittest; + +import org.irods.jargon.metadatatemplate.JargonMetadataResolverTest; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; +import org.junit.runners.Suite.SuiteClasses; + +@RunWith(Suite.class) +@SuiteClasses({ JargonMetadataResolverTest.class }) +public class AllTests { + +} diff --git a/metadata-templates/src/test/java/org/irods/jargon/metadatatemplate/unittest/package-info.java b/metadata-templates/src/test/java/org/irods/jargon/metadatatemplate/unittest/package-info.java new file mode 100644 index 0000000..513ee94 --- /dev/null +++ b/metadata-templates/src/test/java/org/irods/jargon/metadatatemplate/unittest/package-info.java @@ -0,0 +1,6 @@ +/** + * Unit test suites and support + * @author Mike Conway - DICe + * + */ +package org.irods.jargon.metadatatemplate.unittest; \ No newline at end of file