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 : {
 

Reply via email to