Repository: incubator-slider
Updated Branches:
  refs/heads/feature/SLIDER-863-windows-tests 3b1f9ed05 -> 3df045320


SLIDER-863 fixes for 
TestAgentClientProvider2,TestPackageCommandOptions,TestActionPackage,TestActionExists


Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/3df04532
Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/3df04532
Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/3df04532

Branch: refs/heads/feature/SLIDER-863-windows-tests
Commit: 3df045320ee7c6bcad27374680c21a90ec8d71f7
Parents: 3b1f9ed
Author: Steve Loughran <[email protected]>
Authored: Tue Apr 28 21:31:26 2015 +0100
Committer: Steve Loughran <[email protected]>
Committed: Tue Apr 28 21:31:26 2015 +0100

----------------------------------------------------------------------
 .../org/apache/slider/client/SliderClient.java  |  6 +--
 .../providers/agent/AgentProviderService.java   |  5 +-
 .../agent/actions/TestActionPackage.groovy      | 15 ++++--
 .../client/TestPackageCommandOptions.groovy     | 31 ++++++------
 .../agent/TestAgentClientProvider2.java         | 50 +++++++++++---------
 5 files changed, 60 insertions(+), 47 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/3df04532/slider-core/src/main/java/org/apache/slider/client/SliderClient.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/java/org/apache/slider/client/SliderClient.java 
b/slider-core/src/main/java/org/apache/slider/client/SliderClient.java
index 5d5e217..b856fb6 100644
--- a/slider-core/src/main/java/org/apache/slider/client/SliderClient.java
+++ b/slider-core/src/main/java/org/apache/slider/client/SliderClient.java
@@ -249,6 +249,7 @@ public class SliderClient extends 
AbstractSliderLaunchedService implements RunSe
   public static final String E_PACKAGE_DOES_NOT_EXIST = "Package does not 
exist";
   public static final String E_NO_ZOOKEEPER_QUORUM = "No Zookeeper quorum 
defined";
   public static final String E_NO_RESOURCE_MANAGER = "No valid Resource 
Manager address provided";
+  public static final String E_PACKAGE_EXISTS = "Package exists";
   private static PrintStream clientOutputStream = System.out;
 
   // value should not be changed without updating string find in slider.py
@@ -1483,9 +1484,8 @@ public class SliderClient extends 
AbstractSliderLaunchedService implements RunSe
     Path fileInFs = new Path(pkgPath, srcFile.getName());
     if (sliderFileSystem.getFileSystem().exists(fileInFs)
         && !actionPackageArgs.replacePkg) {
-      throw new BadCommandArgumentsException("Pkg exists at " +
-                                             fileInFs.toUri().toString() +
-                                             ". Use --replacepkg to 
overwrite.");
+      throw new BadCommandArgumentsException(E_PACKAGE_EXISTS +" at " +
+           fileInFs.toUri() + ". Use --replacepkg to overwrite.");
     }
 
     log.info("Installing package {} to {} (overwrite set to {})", srcFile,

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/3df04532/slider-core/src/main/java/org/apache/slider/providers/agent/AgentProviderService.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/java/org/apache/slider/providers/agent/AgentProviderService.java
 
b/slider-core/src/main/java/org/apache/slider/providers/agent/AgentProviderService.java
index c804aad..f806157 100644
--- 
a/slider-core/src/main/java/org/apache/slider/providers/agent/AgentProviderService.java
+++ 
b/slider-core/src/main/java/org/apache/slider/providers/agent/AgentProviderService.java
@@ -20,7 +20,6 @@ package org.apache.slider.providers.agent;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Preconditions;
-
 import org.apache.commons.io.FileUtils;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FSDataOutputStream;
@@ -1933,8 +1932,8 @@ public class AgentProviderService extends 
AbstractProviderService implements
       }
     }
 
-    if (packages.size() > 0) {
-      return String.format(pkgListFormatString, StringUtils.join(",", 
packages));
+    if (!packages.isEmpty()) {
+      return "[" + SliderUtils.join(packages, ",", false) + "]";
     } else {
       return "[]";
     }

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/3df04532/slider-core/src/test/groovy/org/apache/slider/agent/actions/TestActionPackage.groovy
----------------------------------------------------------------------
diff --git 
a/slider-core/src/test/groovy/org/apache/slider/agent/actions/TestActionPackage.groovy
 
b/slider-core/src/test/groovy/org/apache/slider/agent/actions/TestActionPackage.groovy
index d851781..021dd87 100644
--- 
a/slider-core/src/test/groovy/org/apache/slider/agent/actions/TestActionPackage.groovy
+++ 
b/slider-core/src/test/groovy/org/apache/slider/agent/actions/TestActionPackage.groovy
@@ -43,12 +43,14 @@ class TestActionPackage extends AgentMiniClusterTestBase {
   public static final String E_INVALID_APP_TYPE =
       "A valid application type name is required (e.g. HBASE)"
 
-  File packageFile = new File("src/test/resources/log4j.properties")
+  String s = File.separator
+  File packageFile = new File("src${s}test${s}resources${s}log4j.properties")
 
   @Before
   public void setup() {
     super.setup()
     createMiniCluster("", configuration, 1, false)
+    assert packageFile.exists()
   }
 
   @Test
@@ -92,7 +94,7 @@ class TestActionPackage extends AgentMiniClusterTestBase {
   }
 
   @Test
-  public void testPackageInstallFailsWithInvalidPackagePath() throws Throwable 
{
+  public void testPackageInstallFailsOverwriteRequired() throws Throwable {
     try {
       ServiceLauncher launcher = launchClientAgainstMiniMR(
           //config includes RM binding info
@@ -125,7 +127,7 @@ class TestActionPackage extends AgentMiniClusterTestBase {
   }
 
   @Test
-  public void testPackageInstallFailsWithNeedingReplaceFlag() throws Throwable 
{
+  public void testPackageInstallFailsUnableToReadPackageFile() throws 
Throwable {
     try {
       ServiceLauncher launcher = launchClientAgainstMiniMR(
           //config includes RM binding info
@@ -160,7 +162,9 @@ class TestActionPackage extends AgentMiniClusterTestBase {
               Arguments.ARG_PACKAGE, packageFile.absolutePath
           ],
       )
-      launcher = launchClientAgainstMiniMR(
+      try {
+
+        launcher = launchClientAgainstMiniMR(
           //config includes RM binding info
           new YarnConfiguration(miniCluster.config),
           //varargs list of command line params
@@ -174,6 +178,7 @@ class TestActionPackage extends AgentMiniClusterTestBase {
       )
     } catch (BadCommandArgumentsException e) {
       log.info(e.message)
+      // throw e;
     }
   }
 
@@ -192,6 +197,7 @@ class TestActionPackage extends AgentMiniClusterTestBase {
       )
     } catch (BadCommandArgumentsException e) {
       log.info(e.message)
+     // throw e;
     }
   }
 
@@ -210,6 +216,7 @@ class TestActionPackage extends AgentMiniClusterTestBase {
       )
     } catch (BadCommandArgumentsException e) {
       log.info(e.message)
+      // throw e;
     }
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/3df04532/slider-core/src/test/groovy/org/apache/slider/client/TestPackageCommandOptions.groovy
----------------------------------------------------------------------
diff --git 
a/slider-core/src/test/groovy/org/apache/slider/client/TestPackageCommandOptions.groovy
 
b/slider-core/src/test/groovy/org/apache/slider/client/TestPackageCommandOptions.groovy
index 345475b..efb5e5c 100644
--- 
a/slider-core/src/test/groovy/org/apache/slider/client/TestPackageCommandOptions.groovy
+++ 
b/slider-core/src/test/groovy/org/apache/slider/client/TestPackageCommandOptions.groovy
@@ -115,10 +115,11 @@ class TestPackageCommandOptions extends 
AgentMiniClusterTestBase {
       null), appDefFile.getName())
     File installedPackage = new File(installedPath.toUri().path)
     assert installedPackage.exists()
-    describe("Installed app package to - " + installedPackage.toURI()
-      .toString())
+
+    def installedPackageURI = installedPackage.toURI()
+    describe("Installed app package to - $installedPackageURI")
     // overwrite the application.def property with the new installed path
-    agentDefOptions.put(AgentKeys.APP_DEF, installedPackage.toURI().toString())
+    agentDefOptions.put(AgentKeys.APP_DEF, installedPackageURI.toString())
     // start the app and AM
     describe("Starting the app")
     launcher = createStandaloneAM(clustername, true, false)
@@ -126,7 +127,9 @@ class TestPackageCommandOptions extends 
AgentMiniClusterTestBase {
     addToTeardown(sliderClient)
 
     describe("Listing all instances of installed packages")
-    String outFileName = "target/packageInstances.out"
+    String outFileName = "target${File.separator}packageInstances.out"
+    File outFile = new File(outFileName)
+
     launcher = launchClientAgainstMiniMR(
         //config includes RM binding info
         yarnConfig,
@@ -134,7 +137,7 @@ class TestPackageCommandOptions extends 
AgentMiniClusterTestBase {
         [SliderActions.ACTION_PACKAGE,
          Arguments.ARG_PKGINSTANCES,
          ClientArgs.ARG_OUTPUT,
-         outFileName
+         outFile.absolutePath
         ]
     )
     // reset the app def path to orig value and remove app version
@@ -148,7 +151,6 @@ class TestPackageCommandOptions extends 
AgentMiniClusterTestBase {
     assert enumeratedInstance != null
     assert enumeratedInstance.applicationReport.name ==
            clustername
-    File outFile = new File(outFileName)
     def outText = outFile.text
     assert outText.contains(installedPackage.absolutePath)
     assert outText.contains(APP_NAME)
@@ -166,7 +168,7 @@ class TestPackageCommandOptions extends 
AgentMiniClusterTestBase {
 
     // get the default application.def file and install it as a package
     String appDefPath = agentDefOptions.getAt(AgentKeys.APP_DEF)
-    File appDefFile = new File(new URI(appDefPath))
+    File appDefFile = new File(new URI(appDefPath).path)
     YarnConfiguration conf = SliderUtils.createConfiguration()
     ServiceLauncher<SliderClient> launcher = launch(TestSliderClient,
         conf,
@@ -198,15 +200,16 @@ class TestPackageCommandOptions extends 
AgentMiniClusterTestBase {
     addToTeardown(sliderClient)
 
     describe("Listing all instances of installed packages")
-    String outFileName = "target/packageInstancesWithVersion.out"
+    File outFile = new 
File("target${File.separator}packageInstancesWithVersion.out")
     launcher = launchClientAgainstMiniMR(
         //config includes RM binding info
         yarnConfig,
         //varargs list of command line params
-        [SliderActions.ACTION_PACKAGE,
-         Arguments.ARG_PKGINSTANCES,
-         ClientArgs.ARG_OUTPUT,
-         outFileName
+        [
+          SliderActions.ACTION_PACKAGE,
+          Arguments.ARG_PKGINSTANCES,
+          ClientArgs.ARG_OUTPUT,
+          outFile.absolutePath
         ]
     )
     // reset the app def path to orig value and remove app version
@@ -218,9 +221,7 @@ class TestPackageCommandOptions extends 
AgentMiniClusterTestBase {
     def instances = client.enumSliderInstances(false, null, null)
     def enumeratedInstance = instances[clustername]
     assert enumeratedInstance != null
-    assert enumeratedInstance.applicationReport.name ==
-           clustername
-    File outFile = new File(outFileName)
+    assert enumeratedInstance.applicationReport.name == clustername
     def outText = outFile.text
     assert outText.contains(installedPackage.absolutePath)
     assert outText.contains(APP_NAME)

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/3df04532/slider-core/src/test/java/org/apache/slider/providers/agent/TestAgentClientProvider2.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/test/java/org/apache/slider/providers/agent/TestAgentClientProvider2.java
 
b/slider-core/src/test/java/org/apache/slider/providers/agent/TestAgentClientProvider2.java
index 8529d86..841ad69 100644
--- 
a/slider-core/src/test/java/org/apache/slider/providers/agent/TestAgentClientProvider2.java
+++ 
b/slider-core/src/test/java/org/apache/slider/providers/agent/TestAgentClientProvider2.java
@@ -31,7 +31,6 @@ import org.apache.slider.core.conf.AggregateConf;
 import org.apache.slider.core.conf.ConfTree;
 import org.apache.slider.core.exceptions.BadCommandArgumentsException;
 import org.apache.slider.core.exceptions.BadConfigException;
-import org.apache.slider.core.exceptions.SliderException;
 import org.apache.slider.providers.ProviderUtils;
 import org.apache.slider.providers.agent.application.metadata.Application;
 import org.apache.slider.providers.agent.application.metadata.Metainfo;
@@ -148,16 +147,16 @@ public class TestAgentClientProvider2 extends 
SliderTestUtils {
                                                 clientInstallPath,
                                                 appName);
     JSONObject outConfigs = output.getJSONObject("configurations");
-    Assert.assertNotNull("null configurations section", outConfigs);
+    assertNotNull("null configurations section", outConfigs);
     JSONObject outGlobal = outConfigs.getJSONObject("global");
-    Assert.assertNotNull("null globals section", outGlobal);
-    Assert.assertEquals("b", outGlobal.getString("a"));
-    Assert.assertTrue("no file1/d in " + outGlobal.getString("d"),
-        outGlobal.getString("d").contains("file1/d"));
-    Assert.assertEquals(clientInstallPath.toString(), 
outGlobal.getString("app_install_dir"));
-    Assert.assertEquals("name", outGlobal.getString("e"));
-    Assert.assertEquals("name", outGlobal.getString("app_name"));
-    Assert.assertEquals(user, outGlobal.getString("app_user"));
+    assertNotNull("null globals section", outGlobal);
+    assertEquals("b", outGlobal.getString("a"));
+    assertContained("file1/d", outGlobal.getString("d"));
+    assertContained(clientInstallPath.getAbsolutePath(),
+        outGlobal.getString("app_install_dir"));
+    assertEquals("name", outGlobal.getString("e"));
+    assertEquals("name", outGlobal.getString("app_name"));
+    assertEquals(user, outGlobal.getString("app_user"));
 
     defaultConfig = new JSONObject();
     global = new JSONObject();
@@ -173,23 +172,30 @@ public class TestAgentClientProvider2 extends 
SliderTestUtils {
         clientInstallPath,
         null);
     outConfigs = output.getJSONObject("configurations");
-    Assert.assertNotNull("null configurations section", outConfigs);
+    assertNotNull("null configurations section", outConfigs);
     outGlobal = outConfigs.getJSONObject("global");
-    Assert.assertNotNull("null globals section", outGlobal);
-    Assert.assertEquals("b", outGlobal.getString("a"));
-    Assert.assertTrue("no file1/d in " + outGlobal.getString("d"),
-        outGlobal.getString("d").contains("file1/d"));
-    Assert.assertEquals("b2", outGlobal.getString("a1"));
-    Assert.assertTrue("no file1/d in " + outGlobal.getString("d1"),
-        outGlobal.getString("d1").contains("file1/d"));
-    Assert.assertEquals(clientInstallPath.toString(), 
outGlobal.getString("app_install_dir"));
-    Assert.assertEquals("{app_name}", outGlobal.getString("e"));
-    Assert.assertFalse("no 'app_name' field", outGlobal.has("app_name"));
-    Assert.assertEquals(user, outGlobal.getString("app_user"));
+    assertNotNull("null globals section", outGlobal);
+    assertEquals("b", outGlobal.getString("a"));
+    assertEquals("b2", outGlobal.getString("a1"));
+
+
+    assertContained("file1/d", outGlobal.getString("d"));
+    assertContained("file1/d", outGlobal.getString("d1"));
+    assertContained(clientInstallPath.getAbsolutePath(),
+        outGlobal.getString("app_install_dir"));
+    assertEquals("{app_name}", outGlobal.getString("e"));
+    assertFalse("no 'app_name' field", outGlobal.has("app_name"));
+    assertEquals(user, outGlobal.getString("app_user"));
 
     PowerMock.verify(RegistryUtils.class);
   }
 
+  public void assertContained(String expected, String actual) {
+    assertNotNull(actual);
+    assertTrue(
+        String.format("Did not find \"%s\" in \"%s\"", expected, actual),
+        actual.contains(expected));
+  }
 
   @Test
   public void testRunCommand() throws Exception {

Reply via email to