You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@slider.apache.org by st...@apache.org on 2015/04/29 18:28:49 UTC
[05/11] incubator-slider git commit: SLIDER-863 fixes for
TestAgentClientProvider2, TestPackageCommandOptions, TestActionPackage,
TestActionExists
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/develop
Commit: 3df045320ee7c6bcad27374680c21a90ec8d71f7
Parents: 3b1f9ed
Author: Steve Loughran <st...@apache.org>
Authored: Tue Apr 28 21:31:26 2015 +0100
Committer: Steve Loughran <st...@apache.org>
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 {