You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by sc...@apache.org on 2018/07/14 15:36:32 UTC

svn commit: r1835911 - in /uima/uimaj/trunk/uimaj-core/src/test: java/org/apache/uima/analysis_engine/impl/PearAnalysisEngineWrapperTest.java resources/pearTests/analysisEngineWithParameters.pear

Author: schor
Date: Sat Jul 14 15:36:32 2018
New Revision: 1835911

URL: http://svn.apache.org/viewvc?rev=1835911&view=rev
Log:
[UIMA-5730] add test and test-pear for pear specifier parameters

Added:
    uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/PearAnalysisEngineWrapperTest.java
    uima/uimaj/trunk/uimaj-core/src/test/resources/pearTests/analysisEngineWithParameters.pear   (with props)

Added: uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/PearAnalysisEngineWrapperTest.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/PearAnalysisEngineWrapperTest.java?rev=1835911&view=auto
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/PearAnalysisEngineWrapperTest.java (added)
+++ uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/PearAnalysisEngineWrapperTest.java Sat Jul 14 15:36:32 2018
@@ -0,0 +1,130 @@
+package org.apache.uima.analysis_engine.impl;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.HashMap;
+
+import org.apache.uima.pear.tools.PackageBrowser;
+import org.apache.uima.pear.tools.PackageInstaller;
+import org.apache.uima.pear.util.FileUtil;
+import org.apache.uima.resource.Parameter;
+import org.apache.uima.resource.PearSpecifier;
+import org.apache.uima.resource.impl.Parameter_impl;
+import org.apache.uima.resource.impl.PearSpecifier_impl;
+import org.apache.uima.test.junit_extension.JUnitExtension;
+import org.junit.Assert;
+
+import junit.framework.TestCase;
+
+public class PearAnalysisEngineWrapperTest extends TestCase {
+
+  private final static String PARAMETER_NAME = "StringParam";
+
+  private final static String PARAMETER_VALUE = "test";
+
+  private final static String PARAMETER_VALUE_OVERRIDE = "testOverride";
+
+  private PearAnalysisEngineWrapper pearAnalysisEngineWrapper;
+
+  private File tempInstallDirectory = null;
+
+  private PackageBrowser installedPearPackage;
+
+  public PearAnalysisEngineWrapperTest(String arg0) {
+
+    super(arg0);
+  }
+
+  @Override
+  protected void setUp() throws Exception {
+
+    this.pearAnalysisEngineWrapper = new PearAnalysisEngineWrapper();
+
+    this.tempInstallDirectory = this.createInstallationDirectory();
+
+    this.installedPearPackage = this.installPearPackage();
+  }
+
+  @Override
+  protected void tearDown() throws Exception {
+    this.removeInstallationDirectory();
+  }
+
+  public void testInitializeWithOverride() throws Exception {
+
+    PearSpecifier pearSpecifier = this.createPearSpecifierWithParameters();
+
+    boolean initialized = this.pearAnalysisEngineWrapper.initialize(pearSpecifier,
+            new HashMap<String, Object>());
+
+    Assert.assertTrue("Pear was not initialized", initialized);
+
+    String stringParamValue = (String) this.pearAnalysisEngineWrapper
+            .getConfigParameterValue(PearAnalysisEngineWrapperTest.PARAMETER_NAME);
+
+    Assert.assertEquals("The value of StringParam was not overridden",
+            PearAnalysisEngineWrapperTest.PARAMETER_VALUE_OVERRIDE, stringParamValue);
+  }
+
+  private PearSpecifier createPearSpecifierWithParameters() {
+
+    Parameter parameterStringParam = new Parameter_impl();
+    parameterStringParam.setName(PearAnalysisEngineWrapperTest.PARAMETER_NAME);
+    parameterStringParam.setValue(PearAnalysisEngineWrapperTest.PARAMETER_VALUE_OVERRIDE);
+
+    PearSpecifier_impl pearSpecifier_impl = new PearSpecifier_impl();
+    pearSpecifier_impl.setPearPath(this.installedPearPackage.getRootDirectory().toString());
+    pearSpecifier_impl.setParameters(new Parameter[] { parameterStringParam });
+    return pearSpecifier_impl;
+  }
+
+  public void testInitializeWithoutOverride() throws Exception {
+
+    PearSpecifier pearSpecifier = this.createPearSpecifierWithoutParameters();
+
+    boolean initialized = this.pearAnalysisEngineWrapper.initialize(pearSpecifier,
+            new HashMap<String, Object>());
+
+    Assert.assertTrue("Pear was not initialized", initialized);
+
+    String stringParamValue = (String) this.pearAnalysisEngineWrapper
+            .getConfigParameterValue(PearAnalysisEngineWrapperTest.PARAMETER_NAME);
+
+    Assert.assertEquals("The value of StringParam has changed",
+            PearAnalysisEngineWrapperTest.PARAMETER_VALUE, stringParamValue);
+  }
+
+  private PearSpecifier createPearSpecifierWithoutParameters() {
+
+    PearSpecifier_impl pearSpecifier_impl = new PearSpecifier_impl();
+    pearSpecifier_impl.setPearPath(this.installedPearPackage.getRootDirectory().toString());
+    return pearSpecifier_impl;
+  }
+
+  private File createInstallationDirectory() throws IOException {
+
+    File tempDirectory = File.createTempFile("pear_verification_test_", "tmp");
+    if (tempDirectory.delete()) {
+
+      if (!tempDirectory.mkdirs()) {
+        throw new IllegalStateException(
+                "Tmp directory (" + tempDirectory + ") could not be created");
+      }
+    }
+
+    return tempDirectory;
+  }
+
+  private PackageBrowser installPearPackage() {
+    File pearFile = JUnitExtension.getFile("pearTests/analysisEngineWithParameters.pear");
+    Assert.assertNotNull("analysisEngine.pear file not found", pearFile);
+
+    return PackageInstaller.installPackage(this.tempInstallDirectory, pearFile, false);
+  }
+
+  private void removeInstallationDirectory() throws IOException {
+    if (this.tempInstallDirectory != null) {
+      FileUtil.deleteDirectory(this.tempInstallDirectory);
+    }
+  }
+}

Added: uima/uimaj/trunk/uimaj-core/src/test/resources/pearTests/analysisEngineWithParameters.pear
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/test/resources/pearTests/analysisEngineWithParameters.pear?rev=1835911&view=auto
==============================================================================
Binary file - no diff available.

Propchange: uima/uimaj/trunk/uimaj-core/src/test/resources/pearTests/analysisEngineWithParameters.pear
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream