modules/common/filetemplate-bundle/src/main/java/org/rhq/bundle/filetemplate/recipe/BundleRecipeCommand.java
| 8 +-
modules/common/filetemplate-bundle/src/test/java/org/rhq/bundle/filetemplate/recipe/RecipeParserTest.java
| 35 +++++++++-
2 files changed, 38 insertions(+), 5 deletions(-)
New commits:
commit ba850feabc39fc1069c34ab238a2b8223ea69960
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Fri Apr 30 12:29:08 2010 -0400
test more parsing rules, particular around blank names/versions
diff --git
a/modules/common/filetemplate-bundle/src/main/java/org/rhq/bundle/filetemplate/recipe/BundleRecipeCommand.java
b/modules/common/filetemplate-bundle/src/main/java/org/rhq/bundle/filetemplate/recipe/BundleRecipeCommand.java
index 7c177ab..fc65162 100644
---
a/modules/common/filetemplate-bundle/src/main/java/org/rhq/bundle/filetemplate/recipe/BundleRecipeCommand.java
+++
b/modules/common/filetemplate-bundle/src/main/java/org/rhq/bundle/filetemplate/recipe/BundleRecipeCommand.java
@@ -80,11 +80,11 @@ public class BundleRecipeCommand implements RecipeCommand {
}
}
- if (name == null) {
+ if (name == null || name.trim().length() == 0) {
throw new IllegalArgumentException("Did not specify the name of the
bundle");
}
- if (version == null) {
+ if (version == null || version.trim().length() == 0) {
throw new IllegalArgumentException("Did not specify the description of
the bundle");
}
@@ -93,8 +93,8 @@ public class BundleRecipeCommand implements RecipeCommand {
throw new IllegalArgumentException("Cannot specify multiple bundle
commands in the same recipe");
}
- props.setBundleName(name);
- props.setBundleVersion(version);
+ props.setBundleName(name.trim());
+ props.setBundleVersion(version.trim());
if (description != null) {
props.setDescription(description);
}
diff --git
a/modules/common/filetemplate-bundle/src/test/java/org/rhq/bundle/filetemplate/recipe/RecipeParserTest.java
b/modules/common/filetemplate-bundle/src/test/java/org/rhq/bundle/filetemplate/recipe/RecipeParserTest.java
index c0cd84b..db05c84 100644
---
a/modules/common/filetemplate-bundle/src/test/java/org/rhq/bundle/filetemplate/recipe/RecipeParserTest.java
+++
b/modules/common/filetemplate-bundle/src/test/java/org/rhq/bundle/filetemplate/recipe/RecipeParserTest.java
@@ -42,7 +42,7 @@ public class RecipeParserTest {
}
public void testBundleCommand() throws Exception {
- addRecipeCommand("bundle --name=my-name --version=1.0
\"--description=my description here\"");
+ addRecipeCommand("bundle --version \"1.0\" --name
\"my-name\" --description \"my description here\"");
RecipeParser parser = new RecipeParser();
RecipeContext context = new RecipeContext(getRecipe());
parser.parseRecipe(context);
@@ -52,6 +52,17 @@ public class RecipeParserTest {
assert props.getDescription().equals("my description here");
assert props.getDeploymentId() == 0;
+ cleanRecipe();
+ addRecipeCommand("bundle --name=my-name --version=1.0
\"--description=my description here\"");
+ parser = new RecipeParser();
+ context = new RecipeContext(getRecipe());
+ parser.parseRecipe(context);
+ props = context.getDeploymentProperties();
+ assert props.getBundleName().equals("my-name");
+ assert props.getBundleVersion().equals("1.0");
+ assert props.getDescription().equals("my description here");
+ assert props.getDeploymentId() == 0;
+
// use the "-arg value" notation, as opposed to
"--arg=value"
cleanRecipe();
addRecipeCommand("bundle -n my-name2 -v 2.0 -d \"my description here
2\"");
@@ -89,6 +100,28 @@ public class RecipeParserTest {
}
cleanRecipe();
+ addRecipeCommand("bundle --name \" \" -v 1");
+ parser = new RecipeParser();
+ context = new RecipeContext(getRecipe());
+ try {
+ parser.parseRecipe(context);
+ assert false : "should not have parsed, blank name not allowed";
+ } catch (Exception ok) {
+ // expected
+ }
+
+ cleanRecipe();
+ addRecipeCommand("bundle --version \" \" -n name");
+ parser = new RecipeParser();
+ context = new RecipeContext(getRecipe());
+ try {
+ parser.parseRecipe(context);
+ assert false : "should not have parsed, blank version not
allowed";
+ } catch (Exception ok) {
+ // expected
+ }
+
+ cleanRecipe();
addRecipeCommand("bundle -v 1.0");
parser = new RecipeParser();
context = new RecipeContext(getRecipe());
Show replies by date