This is an automated email from the ASF dual-hosted git repository.
pradeep pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ranger.git
The following commit(s) were added to refs/heads/master by this push:
new f4ac66d RANGER-2808: Service Name must not allow spaces in newly
created services
f4ac66d is described below
commit f4ac66d5f2f0014a8b1f6ab043cc1372a55ab6fd
Author: Kishor Gollapalliwar <[email protected]>
AuthorDate: Thu May 14 20:41:09 2020 +0530
RANGER-2808: Service Name must not allow spaces in newly created services
Signed-off-by: pradeep <[email protected]>
---
.../ranger/plugin/errors/ValidationErrorCode.java | 4 +-
.../model/validation/RangerServiceValidator.java | 43 ++---
.../validation/TestRangerServiceValidator.java | 195 +++++++++++++++++----
.../webapp/scripts/modules/globalize/message/en.js | 1 +
4 files changed, 181 insertions(+), 62 deletions(-)
diff --git
a/agents-common/src/main/java/org/apache/ranger/plugin/errors/ValidationErrorCode.java
b/agents-common/src/main/java/org/apache/ranger/plugin/errors/ValidationErrorCode.java
index 1498505..971fd50 100644
---
a/agents-common/src/main/java/org/apache/ranger/plugin/errors/ValidationErrorCode.java
+++
b/agents-common/src/main/java/org/apache/ranger/plugin/errors/ValidationErrorCode.java
@@ -35,8 +35,8 @@ public enum ValidationErrorCode {
SERVICE_VALIDATION_ERR_INVALID_SERVICE_NAME(1006, "Missing service name"),
SERVICE_VALIDATION_ERR_SERVICE_NAME_CONFICT(1007, "Duplicate service name:
name=[{0}]"),
SERVICE_VALIDATION_ERR_SERVICE_DISPLAY_NAME_CONFICT(3051,"Display name
[{0}] is already used by service [{1}]"),
- SERVICE_VALIDATION_ERR_SPECIAL_CHARACTERS_SERVICE_NAME(3031, "Name should
not start with space, it should be less than 256 characters and special
characters are not allowed(except _ - and space). : name=[{0}]"),
- SERVICE_VALIDATION_ERR_SPECIAL_CHARACTERS_SERVICE_DISPLAY_NAME(3050,
"Invalid display name [{0}]. It should be not be longer than 256 characters,
should not start with space, and should not include special characters (except
underscore, hyphen and space)"),
+ SERVICE_VALIDATION_ERR_SPECIAL_CHARACTERS_SERVICE_NAME(3031, "Invalid
service name=[{0}]. It should not be longer than 256 characters and special
characters are not allowed (except underscore and hyphen)"),
+ SERVICE_VALIDATION_ERR_SPECIAL_CHARACTERS_SERVICE_DISPLAY_NAME(3050,
"Invalid service display name [{0}]. It should not be longer than 256
characters, should not start with space, and should not include special
characters (except underscore, hyphen and space)"),
SERVICE_VALIDATION_ERR_ID_NAME_CONFLICT(1008, "Duplicate service name:
name=[{0}], id=[{1}]"),
SERVICE_VALIDATION_ERR_MISSING_SERVICE_DEF(1009, "Missing service def"),
SERVICE_VALIDATION_ERR_INVALID_SERVICE_DEF(1010, "Service def not found:
service-def-name=[{0}]"),
diff --git
a/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerServiceValidator.java
b/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerServiceValidator.java
index aa8cf7e..6c4d6c1 100644
---
a/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerServiceValidator.java
+++
b/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerServiceValidator.java
@@ -36,9 +36,11 @@ import com.google.common.collect.Sets;
public class RangerServiceValidator extends RangerValidator {
private static final Log LOG =
LogFactory.getLog(RangerServiceValidator.class);
- static final public String VALIDATION_SERVICE_NAME =
"^[a-zA-Z0-9_-][a-zA-Z0-9\\s_-]{0,254}";
- static Pattern serviceNameCompiledRegEx;
+ private static final Pattern SERVICE_NAME_VALIDATION_REGEX =
Pattern.compile("^[a-zA-Z0-9_-][a-zA-Z0-9_-]{0,254}", Pattern.CASE_INSENSITIVE);
+ private static final Pattern LEGACY_SERVICE_NAME_VALIDATION_REGEX =
Pattern.compile("^[a-zA-Z0-9_-][a-zA-Z0-9\\s_-]{0,254}",
Pattern.CASE_INSENSITIVE);
+ private static final Pattern SERVICE_DISPLAY_NAME_VALIDATION_REGEX =
Pattern.compile("^[a-zA-Z0-9_-][a-zA-Z0-9\\s_-]{0,254}",
Pattern.CASE_INSENSITIVE);
+
public RangerServiceValidator(ServiceStore store) {
super(store);
}
@@ -104,7 +106,6 @@ public class RangerServiceValidator extends RangerValidator
{
if (!(action == Action.CREATE || action == Action.UPDATE)) {
throw new
IllegalArgumentException("isValid(RangerService, ...) is only supported for
CREATE/UPDATE");
}
-
boolean valid = true;
if (service == null) {
ValidationErrorCode error =
ValidationErrorCode.SERVICE_VALIDATION_ERR_NULL_SERVICE_OBJECT;
@@ -151,7 +152,16 @@ public class RangerServiceValidator extends
RangerValidator {
.build());
valid = false;
} else {
- if(!validateString(VALIDATION_SERVICE_NAME,
name)){
+ Pattern serviceNameRegex =
SERVICE_NAME_VALIDATION_REGEX;
+ if (action == Action.UPDATE) {
+ RangerService rangerService =
getService(service.getId());
+ if (rangerService != null &&
StringUtils.isNotBlank(rangerService.getName()) &&
rangerService.getName().contains(" ")) {
+ //RANGER-2808 Support for space
in services created with space in earlier version
+ serviceNameRegex =
LEGACY_SERVICE_NAME_VALIDATION_REGEX;
+ }
+ }
+
+ if(!isValidString(serviceNameRegex, name)){
ValidationErrorCode error =
ValidationErrorCode.SERVICE_VALIDATION_ERR_SPECIAL_CHARACTERS_SERVICE_NAME;
failures.add(new
ValidationFailureDetailsBuilder()
.field("name")
@@ -185,7 +195,7 @@ public class RangerServiceValidator extends RangerValidator
{
}
// Display name
String displayName = service.getDisplayName();
- if(!validateString(VALIDATION_SERVICE_NAME,
displayName)){
+
if(!isValidString(SERVICE_DISPLAY_NAME_VALIDATION_REGEX, displayName)){
ValidationErrorCode error =
ValidationErrorCode.SERVICE_VALIDATION_ERR_SPECIAL_CHARACTERS_SERVICE_DISPLAY_NAME;
failures.add(new
ValidationFailureDetailsBuilder()
.field("displayName")
@@ -216,7 +226,6 @@ public class RangerServiceValidator extends RangerValidator
{
valid = false;
}
}
-
String type = service.getType();
boolean typeSpecified = StringUtils.isNotBlank(type);
if (!typeSpecified) {
@@ -258,7 +267,6 @@ public class RangerServiceValidator extends RangerValidator
{
valid = false;
}
}
-
String tagServiceName = service.getTagService();
if (StringUtils.isNotBlank(tagServiceName) &&
StringUtils.equals(type, EmbeddedServiceDefsUtil.EMBEDDED_SERVICEDEF_TAG_NAME))
{
@@ -271,7 +279,6 @@ public class RangerServiceValidator extends RangerValidator
{
}
boolean needToEnsureServiceType = false;
-
if (action == Action.UPDATE) {
RangerService otherService = getService(name);
String otherTagServiceName = otherService ==
null ? null : otherService.getTagService();
@@ -286,7 +293,6 @@ public class RangerServiceValidator extends RangerValidator
{
needToEnsureServiceType = true;
}
}
-
if (needToEnsureServiceType) {
RangerService maybeTagService =
getService(tagServiceName);
if (maybeTagService == null ||
!StringUtils.equals(maybeTagService.getType(),
EmbeddedServiceDefsUtil.EMBEDDED_SERVICEDEF_TAG_NAME)) {
@@ -306,22 +312,7 @@ public class RangerServiceValidator extends
RangerValidator {
return valid;
}
- public boolean regExPatternMatch(String expression, String inputStr) {
- Pattern pattern = serviceNameCompiledRegEx;
- if (pattern == null) {
- pattern = Pattern.compile(expression,
Pattern.CASE_INSENSITIVE);
- serviceNameCompiledRegEx = pattern;
- }
-
- return pattern != null && pattern.matcher(inputStr).matches();
- }
-
- public boolean validateString(String regExStr, String str) {
- try {
- return regExPatternMatch(regExStr, str);
- } catch (Throwable t) {
- LOG.error("Error validating string. str=" + str + " due
to reason " + t.getMessage() + ". Stack Trace : " + t.getStackTrace());
- return false;
- }
+ public boolean isValidString(final Pattern pattern, final String name) {
+ return pattern != null && StringUtils.isNotBlank(name) &&
pattern.matcher(name).matches();
}
}
diff --git
a/agents-common/src/test/java/org/apache/ranger/plugin/model/validation/TestRangerServiceValidator.java
b/agents-common/src/test/java/org/apache/ranger/plugin/model/validation/TestRangerServiceValidator.java
index 02216b6..bb9968b 100644
---
a/agents-common/src/test/java/org/apache/ranger/plugin/model/validation/TestRangerServiceValidator.java
+++
b/agents-common/src/test/java/org/apache/ranger/plugin/model/validation/TestRangerServiceValidator.java
@@ -27,6 +27,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import org.apache.ranger.plugin.errors.ValidationErrorCode;
import org.apache.ranger.plugin.model.RangerService;
import org.apache.ranger.plugin.model.RangerServiceDef;
import org.apache.ranger.plugin.model.RangerServiceDef.RangerServiceConfigDef;
@@ -37,11 +38,10 @@ import org.junit.Before;
import org.junit.Test;
public class TestRangerServiceValidator {
-
+
final Action[] cud = new Action[] { Action.CREATE, Action.UPDATE,
Action.DELETE };
final Action[] cu = new Action[] { Action.CREATE, Action.UPDATE };
final Action[] ud = new Action[] { Action.UPDATE, Action.DELETE };
- String serviceNameValidationErrorMessage = "Name should not start with
space, it should be less than 256 characters and special characters are not
allowed(except _ - and space). ";
@Before
public void before() {
@@ -75,9 +75,12 @@ public class TestRangerServiceValidator {
@Test
public void testIsValidServiceNameCreationWithOutSpecialCharacters()
throws Exception{
+ String serviceName = "c1_yarn";
+ String serviceDisplayName = serviceName;
+
RangerService rangerService = new RangerService();
- rangerService.setName("c1_yarn");
- rangerService.setDisplayName("c1_yarn");
+ rangerService.setName(serviceName);
+ rangerService.setDisplayName(serviceDisplayName);
rangerService.setType("yarn");
rangerService.setTagService("");
@@ -103,15 +106,18 @@ public class TestRangerServiceValidator {
boolean valid = _validator.isValid(rangerService,
Action.CREATE, _failures);
Assert.assertEquals(0, _failures.size());
Assert.assertTrue(valid);
-
+
}
-
+
@Test
public void testIsValidServiceNameUpdationWithOutSpecialCharacters()
throws Exception{
+ String serviceName = "c1_yarn";
+ String serviceDisplayName = serviceName;
+
RangerService rangerService = new RangerService();
rangerService.setId(1L);
- rangerService.setName("c1_yarn");
- rangerService.setDisplayName("c1_yarn");
+ rangerService.setName(serviceName);
+ rangerService.setDisplayName(serviceDisplayName);
rangerService.setType("yarn");
rangerService.setTagService("");
@@ -138,17 +144,23 @@ public class TestRangerServiceValidator {
boolean valid = _validator.isValid(rangerService,
Action.UPDATE, _failures);
Assert.assertEquals(0, _failures.size());
Assert.assertTrue(valid);
-
+
}
-
+
@Test
public void testIsValidServiceNameUpdationWithSpecialCharacters()
throws Exception{
+ String serviceName = "<alert>c1_yarn</alert>";
+
+ ValidationErrorCode vErrCod =
ValidationErrorCode.SERVICE_VALIDATION_ERR_SPECIAL_CHARACTERS_SERVICE_NAME;
+ String errorMessage = vErrCod.getMessage(serviceName);
+ int errorCode = vErrCod.getErrorCode();
+
RangerService rangerService = new RangerService();
rangerService.setId(1L);
- rangerService.setName("<alert>c1_yarn</alert>");
+ rangerService.setName(serviceName);
rangerService.setType("yarn");
rangerService.setTagService("");
-
+
RangerServiceConfigDef configDef = new RangerServiceConfigDef();
configDef.setMandatory(true);
@@ -173,18 +185,24 @@ public class TestRangerServiceValidator {
ValidationFailureDetails failureMessage = _failures.get(0);
Assert.assertFalse(valid);
Assert.assertEquals("name",failureMessage.getFieldName());
- Assert.assertEquals(serviceNameValidationErrorMessage + ":
name=[<alert>c1_yarn</alert>]",failureMessage._reason);
- Assert.assertEquals(3031, failureMessage._errorCode);
-
+ Assert.assertEquals(errorMessage, failureMessage._reason);
+ Assert.assertEquals(errorCode, failureMessage._errorCode);
+
}
-
+
@Test
public void testIsValidServiceNameCreationWithSpecialCharacters()
throws Exception{
+ String serviceName = "<script>c1_yarn</script>";
+
+ ValidationErrorCode vErrCod =
ValidationErrorCode.SERVICE_VALIDATION_ERR_SPECIAL_CHARACTERS_SERVICE_NAME;
+ String errorMessage = vErrCod.getMessage(serviceName);
+ int errorCode = vErrCod.getErrorCode();
+
RangerService rangerService = new RangerService();
- rangerService.setName("<script>c1_yarn</script>");
+ rangerService.setName(serviceName);
rangerService.setType("yarn");
rangerService.setTagService("");
-
+
RangerServiceConfigDef configDef = new RangerServiceConfigDef();
configDef.setMandatory(true);
@@ -208,18 +226,121 @@ public class TestRangerServiceValidator {
ValidationFailureDetails failureMessage = _failures.get(0);
Assert.assertFalse(valid);
Assert.assertEquals("name",failureMessage.getFieldName());
- Assert.assertEquals(serviceNameValidationErrorMessage + ":
name=[<script>c1_yarn</script>]",failureMessage._reason);
- Assert.assertEquals(3031, failureMessage._errorCode);
-
+ Assert.assertEquals(errorMessage, failureMessage._reason);
+ Assert.assertEquals(errorCode, failureMessage._errorCode);
}
-
+
+ @Test
+ public void testIsValidServiceNameCreationWithSpaceCharacter() throws
Exception{
+ String serviceName = "Cluster 1_c1_yarn";
+ String serviceDisplayName = serviceName;
+
+ ValidationErrorCode vErrCod =
ValidationErrorCode.SERVICE_VALIDATION_ERR_SPECIAL_CHARACTERS_SERVICE_NAME;
+ String errorMessage = vErrCod.getMessage(serviceName);
+ int errorCode = vErrCod.getErrorCode();
+
+ RangerService rangerService = new RangerService();
+ rangerService.setName(serviceName);
+ rangerService.setDisplayName(serviceDisplayName);
+ rangerService.setType("yarn");
+ rangerService.setTagService("");
+
+ RangerServiceConfigDef configDef = new RangerServiceConfigDef();
+ configDef.setMandatory(true);
+
+ List<RangerServiceConfigDef> listRangerServiceConfigDef = new
ArrayList<RangerServiceDef.RangerServiceConfigDef>();
+ listRangerServiceConfigDef.add(configDef);
+
+ configDef.setName("myconfig1");
+
+ Map<String,String> testMap = new HashMap<String, String>();
+ testMap.put("myconfig1", "myconfig1");
+
+ rangerService.setConfigs(testMap);
+
+ RangerServiceDef rangerServiceDef = new RangerServiceDef();
+ rangerServiceDef.setConfigs(listRangerServiceConfigDef);
+
+
when(_store.getServiceDefByName("yarn")).thenReturn(rangerServiceDef);
+ boolean valid = _validator.isValid(rangerService, _action,
_failures);
+ ValidationFailureDetails failureMessage = _failures.get(0);
+ Assert.assertFalse(valid);
+ Assert.assertEquals("name",failureMessage.getFieldName());
+ Assert.assertEquals(errorMessage, failureMessage._reason);
+ Assert.assertEquals(errorCode, failureMessage._errorCode);
+ }
+
+ @Test
+ public void testIsValidServiceNameUpdationWithSpaceCharacter() throws
Exception{
+ String serviceName = "Cluster 1_c1_yarn";
+ String serviceDisplayName = serviceName;
+
+ ValidationErrorCode vErrCod =
ValidationErrorCode.SERVICE_VALIDATION_ERR_SPECIAL_CHARACTERS_SERVICE_NAME;
+ String errorMessage = vErrCod.getMessage(serviceName);
+ int errorCode = vErrCod.getErrorCode();
+
+ RangerService rangerService = new RangerService();
+ rangerService.setId(1L);
+ rangerService.setName(serviceName);
+ rangerService.setDisplayName(serviceDisplayName);
+ rangerService.setType("yarn");
+ rangerService.setTagService("");
+
+ RangerServiceConfigDef configDef = new RangerServiceConfigDef();
+ configDef.setMandatory(true);
+
+ List<RangerServiceConfigDef> listRangerServiceConfigDef = new
ArrayList<RangerServiceDef.RangerServiceConfigDef>();
+ listRangerServiceConfigDef.add(configDef);
+
+ configDef.setName("myconfig1");
+
+ Map<String,String> testMap = new HashMap<String, String>();
+ testMap.put("myconfig1", "myconfig1");
+
+ rangerService.setConfigs(testMap);
+
+ RangerServiceDef rangerServiceDef = new RangerServiceDef();
+ rangerServiceDef.setConfigs(listRangerServiceConfigDef);
+
+ String serviceNameWithoutSpace = "Cluster_1_c1_yarn";
+ String serviceDisplayNameWithoutSpace = serviceNameWithoutSpace;
+ RangerService rangerServiceWithoutSpace = new RangerService();
+ rangerServiceWithoutSpace.setId(1L);
+ rangerServiceWithoutSpace.setName(serviceNameWithoutSpace);
+
rangerServiceWithoutSpace.setDisplayName(serviceDisplayNameWithoutSpace);
+ rangerServiceWithoutSpace.setType("yarn");
+ rangerServiceWithoutSpace.setTagService("");
+
+ //Case: previous service name does not have space, updating
with name containing space
+
when(_store.getService(1L)).thenReturn(rangerServiceWithoutSpace);
+
when(_store.getServiceDefByName("yarn")).thenReturn(rangerServiceDef);
+ boolean valid = _validator.isValid(rangerService,
Action.UPDATE, _failures);
+ ValidationFailureDetails failureMessage = _failures.get(0);
+ Assert.assertFalse(valid);
+ Assert.assertEquals("name",failureMessage.getFieldName());
+ Assert.assertEquals(errorMessage, failureMessage._reason);
+ Assert.assertEquals(errorCode, failureMessage._errorCode);
+
+ //Case: previous service name does have space, updating with
name containing space
+ when(_store.getService(1L)).thenReturn(rangerService);
+
when(_store.getServiceDefByName("yarn")).thenReturn(rangerServiceDef);
+ boolean validWithSpace = _validator.isValid(rangerService,
Action.UPDATE, _failures);
+ Assert.assertTrue(validWithSpace);
+ }
+
@Test
public void testIsValidServiceNameCreationWithGreater255Characters()
throws Exception{
+ String serviceName =
"c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1";
+
+ ValidationErrorCode vErrCod =
ValidationErrorCode.SERVICE_VALIDATION_ERR_SPECIAL_CHARACTERS_SERVICE_NAME;
+ String errorMessage = vErrCod.getMessage(serviceName);
+ int errorCode = vErrCod.getErrorCode();
+
RangerService rangerService = new RangerService();
-
rangerService.setName("c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1");
+ rangerService.setName(serviceName);
rangerService.setType("yarn");
rangerService.setTagService("");
-
+
RangerServiceConfigDef configDef = new RangerServiceConfigDef();
configDef.setMandatory(true);
@@ -243,19 +364,25 @@ public class TestRangerServiceValidator {
ValidationFailureDetails failureMessage = _failures.get(0);
Assert.assertFalse(valid);
Assert.assertEquals("name",failureMessage.getFieldName());
- Assert.assertEquals(serviceNameValidationErrorMessage + ":
name=[c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1]",failureMessage._reason);
- Assert.assertEquals(3031, failureMessage._errorCode);
-
+ Assert.assertEquals(errorMessage, failureMessage._reason);
+ Assert.assertEquals(errorCode, failureMessage._errorCode);
+
}
-
+
@Test
public void testIsValidServiceNameUpdationWithGreater255Characters()
throws Exception{
+ String serviceName =
"c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1";
+
+ ValidationErrorCode vErrCod =
ValidationErrorCode.SERVICE_VALIDATION_ERR_SPECIAL_CHARACTERS_SERVICE_NAME;
+ String errorMessage = vErrCod.getMessage(serviceName);
+ int errorCode = vErrCod.getErrorCode();
+
RangerService rangerService = new RangerService();
rangerService.setId(1L);
-
rangerService.setName("c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1");
+ rangerService.setName(serviceName);
rangerService.setType("yarn");
rangerService.setTagService("");
-
+
RangerServiceConfigDef configDef = new RangerServiceConfigDef();
configDef.setMandatory(true);
@@ -280,11 +407,11 @@ public class TestRangerServiceValidator {
ValidationFailureDetails failureMessage = _failures.get(0);
Assert.assertFalse(valid);
Assert.assertEquals("name",failureMessage.getFieldName());
- Assert.assertEquals(serviceNameValidationErrorMessage +":
name=[c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1_yarn_c1]",failureMessage._reason);
- Assert.assertEquals(3031, failureMessage._errorCode);
-
+ Assert.assertEquals(errorMessage, failureMessage._reason);
+ Assert.assertEquals(errorCode, failureMessage._errorCode);
+
}
-
+
@Test
public void testIsValid_failures() throws Exception {
RangerService service = mock(RangerService.class);
diff --git
a/security-admin/src/main/webapp/scripts/modules/globalize/message/en.js
b/security-admin/src/main/webapp/scripts/modules/globalize/message/en.js
index f7bd58c..c046821 100644
--- a/security-admin/src/main/webapp/scripts/modules/globalize/message/en.js
+++ b/security-admin/src/main/webapp/scripts/modules/globalize/message/en.js
@@ -527,6 +527,7 @@ define(function(require) {
nameValidationMsg :'Name should not start with space, it
should be less than 256 characters and special characters are not
allowed(except _ - and space).',
roleNameValidationMsg :'1. Role name should be start with
alphabet / numeric / underscore / non-us characters.<br> 2. Allowed special
character ,._\-+/@= and space. <br>3. Name length should be greater than one.',
policyNameValidationMsg :'Please avoid these characters (&,
<, >, \', ", `) for policy name.',
+ serviceNameValidationMsg :'Service name should be less than
256 characters and special characters are not allowed (except _ and -)',
},
serverMsg : {