Martin Peřina has uploaded a new change for review. Change subject: tools: Adds tests of argument values in engine-manage-domains ......................................................................
tools: Adds tests of argument values in engine-manage-domains Current implementation tests only if required arguments are entered on command line, but it doesn't test if their values has been entered. This patch adds test, that if an argument requires value, its value has to be also entered on command line. Change-Id: Ie6c41e209539b14b4499f424c54584401b6312e4 Bug-Url: https://bugzilla.redhat.com/927949 Signed-off-by: Martin Perina <[email protected]> --- M backend/manager/tools/src/main/java/org/ovirt/engine/core/domains/ManageDomains.java M backend/manager/tools/src/main/java/org/ovirt/engine/core/domains/ManageDomainsResultEnum.java 2 files changed, 18 insertions(+), 1 deletion(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/50/15050/1 diff --git a/backend/manager/tools/src/main/java/org/ovirt/engine/core/domains/ManageDomains.java b/backend/manager/tools/src/main/java/org/ovirt/engine/core/domains/ManageDomains.java index 51f682c..21bde8b 100644 --- a/backend/manager/tools/src/main/java/org/ovirt/engine/core/domains/ManageDomains.java +++ b/backend/manager/tools/src/main/java/org/ovirt/engine/core/domains/ManageDomains.java @@ -1024,14 +1024,19 @@ if (actionType.equals(ActionType.add)) { requireArgs(parser, Arguments.domain, Arguments.user, Arguments.provider); requireAtLeastOneArg(parser, Arguments.passwordFile, Arguments.interactive); + requireArgsValue(parser, Arguments.domain, Arguments.user, Arguments.provider, + Arguments.passwordFile); checkInvalidArgs(parser, Arguments.forceDelete); } else if (actionType.equals(ActionType.edit)) { requireArgs(parser, Arguments.domain); + requireArgsValue(parser, Arguments.domain, Arguments.user, Arguments.provider, + Arguments.passwordFile); checkInvalidArgs(parser, Arguments.forceDelete); } else if (actionType.equals(ActionType.delete)) { requireArgs(parser, Arguments.domain); + requireArgsValue(parser, Arguments.domain, Arguments.passwordFile); checkInvalidArgs(parser); } else if (actionType.equals(ActionType.validate)) { checkInvalidArgs(parser, @@ -1067,6 +1072,17 @@ } } + /** + * Tests that if arguments is entered, then it has to have a value also + */ + private void requireArgsValue(CLIParser parser, Arguments... args) throws ManageDomainsResult { + for (Arguments arg : args) { + if (parser.hasArg(arg.name()) && StringUtils.isEmpty(parser.getArg(arg.name()))) { + throw new ManageDomainsResult(ManageDomainsResultEnum.ARGUMENT_VALUE_REQUIRED, arg.name()); + } + } + } + private void requireAtLeastOneArg(CLIParser parser, Arguments... args) throws ManageDomainsResult { for (Arguments arg : args) { if (parser.hasArg(arg.name())) { diff --git a/backend/manager/tools/src/main/java/org/ovirt/engine/core/domains/ManageDomainsResultEnum.java b/backend/manager/tools/src/main/java/org/ovirt/engine/core/domains/ManageDomainsResultEnum.java index af5d4c9..6733fcf 100644 --- a/backend/manager/tools/src/main/java/org/ovirt/engine/core/domains/ManageDomainsResultEnum.java +++ b/backend/manager/tools/src/main/java/org/ovirt/engine/core/domains/ManageDomainsResultEnum.java @@ -35,7 +35,8 @@ FAILURE_READING_PASSWORD_FILE("failed reading password from password file", 21), EMPTY_PASSWORD_FILE("password file is empty", 22), NO_LDAP_SERVERS_FOR_DOMAIN("No LDAP servers can be obtained for domain %1$s",23), - NO_KDC_SERVERS_FOR_DOMAIN("No KDC can be obtained for domain %1$s",24); + NO_KDC_SERVERS_FOR_DOMAIN("No KDC can be obtained for domain %1$s",24), + ARGUMENT_VALUE_REQUIRED("Value is required for argument %1$s",25); private String detailedMessage; private final int exitCode; -- To view, visit http://gerrit.ovirt.org/15050 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ie6c41e209539b14b4499f424c54584401b6312e4 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Martin Peřina <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
