[DMAAP-CLIENT] First sonar issues review part2
[dmaap/messagerouter/dmaapclient.git] / src / test / java / org / onap / dmaap / mr / tools / ValidatorUtilTest.java
index baa5440..198f828 100644 (file)
@@ -4,11 +4,13 @@
  *  ================================================================================
  *  Copyright © 2018 IBM Intellectual Property. All rights reserved.
  *  ================================================================================
+ *  Modifications Copyright © 2021 Orange.
+ *  ================================================================================
  *  Licensed under the Apache License, Version 2.0 (the "License");
  *  you may not use this file except in compliance with the License.
  *  You may obtain a copy of the License at
  *        http://www.apache.org/licenses/LICENSE-2.0
- *  
+ *
  *  Unless required by applicable law or agreed to in writing, software
  *  distributed under the License is distributed on an "AS IS" BASIS,
  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  *  ============LICENSE_END=========================================================
  *
  *  ECOMP is a trademark and service mark of AT&T Intellectual Property.
- *  
+ *
  *******************************************************************************/
 
 package org.onap.dmaap.mr.tools;
 
-import static org.junit.Assert.assertEquals;
+import org.junit.Test;
+import org.onap.dmaap.mr.client.ProtocolType;
 
 import java.util.Properties;
 
-import org.junit.Test;
-
-import org.onap.dmaap.mr.test.clients.ProtocolTypeConstants;
+import static org.junit.Assert.*;
 
 public class ValidatorUtilTest {
 
     @Test
     public void testValidateForDME2WithNullServiceName() {
         Properties props = new Properties();
-        props.setProperty("TransportType", ProtocolTypeConstants.DME2.getValue());
-        try{
+        props.setProperty("TransportType", ProtocolType.DME2.getValue());
+        try {
             ValidatorUtil.validatePublisher(props);
-        } catch(IllegalArgumentException e) {
-            assertEquals(e.getMessage(), "Servicename is needed");
+            fail();
+        } catch (IllegalArgumentException e) {
+            assertEquals("ServiceName is needed", e.getMessage());
         }
 
     }
-    
+
     @Test
     public void testValidateForDME2WithNullTopic() {
         Properties props = new Properties();
-        props.setProperty("TransportType", ProtocolTypeConstants.DME2.getValue());
+        props.setProperty("TransportType", ProtocolType.DME2.getValue());
         props.setProperty("ServiceName", "ServiceName");
-        try{
+        try {
             ValidatorUtil.validatePublisher(props);
-        } catch(IllegalArgumentException e) {
-            assertEquals(e.getMessage(), "topic is needed");
+            fail();
+        } catch (IllegalArgumentException e) {
+            assertEquals("topic is needed", e.getMessage());
         }
-        
+
     }
-    
+
     @Test
     public void testValidateForDME2WithNullUserName() {
         Properties props = new Properties();
-        props.setProperty("TransportType", ProtocolTypeConstants.DME2.getValue());
+        props.setProperty("TransportType", ProtocolType.DME2.getValue());
         props.setProperty("ServiceName", "ServiceName");
         props.setProperty("topic", "topic");
-        try{
+        try {
             ValidatorUtil.validatePublisher(props);
-        } catch(IllegalArgumentException e) {
-            assertEquals(e.getMessage(), "username is needed");
+            fail();
+        } catch (IllegalArgumentException e) {
+            assertEquals("username is needed", e.getMessage());
         }
-        
+
     }
-    
+
     @Test
     public void testValidateForDME2WithNullPassword() {
         Properties props = new Properties();
-        props.setProperty("TransportType", ProtocolTypeConstants.DME2.getValue());
+        props.setProperty("TransportType", ProtocolType.DME2.getValue());
         props.setProperty("ServiceName", "ServiceName");
         props.setProperty("topic", "topic");
         props.setProperty("username", "username");
-        
-        try{
+
+        try {
             ValidatorUtil.validatePublisher(props);
-        } catch(IllegalArgumentException e) {
-            assertEquals(e.getMessage(), "password is needed");
+            fail();
+        } catch (IllegalArgumentException e) {
+            assertEquals("password is needed", e.getMessage());
         }
-        
+
     }
-    
-    
-    
-    
+
+
     @Test
     public void testValidateForNonDME2WithNullServiceName() {
         Properties props = new Properties();
-        props.setProperty("TransportType", ProtocolTypeConstants.AUTH_KEY.getValue());
-        try{
+        props.setProperty("TransportType", ProtocolType.AUTH_KEY.getValue());
+        try {
             ValidatorUtil.validatePublisher(props);
-        } catch(IllegalArgumentException e) {
-            assertEquals(e.getMessage(), "Servicename is needed");
+            fail();
+        } catch (IllegalArgumentException e) {
+            assertEquals("host is needed", e.getMessage());
         }
-        
+
     }
-    
+
     @Test
     public void testValidateForNonDME2WithNullTopic() {
         Properties props = new Properties();
-        props.setProperty("TransportType", ProtocolTypeConstants.AUTH_KEY.getValue());
+        props.setProperty("TransportType", ProtocolType.AUTH_KEY.getValue());
         props.setProperty("host", "ServiceName");
-        try{
+        try {
             ValidatorUtil.validatePublisher(props);
-        } catch(IllegalArgumentException e) {
-            assertEquals(e.getMessage(), "topic is needed");
+            fail();
+        } catch (IllegalArgumentException e) {
+            assertEquals("topic is needed", e.getMessage());
         }
-        
+
     }
-    
+
     @Test
     public void testValidateForNonDME2WithNullContenttype() {
         Properties props = new Properties();
-        props.setProperty("TransportType", ProtocolTypeConstants.AUTH_KEY.getValue());
+        props.setProperty("TransportType", ProtocolType.AUTH_KEY.getValue());
         props.setProperty("host", "ServiceName");
         props.setProperty("topic", "topic");
-        try{
+        try {
             ValidatorUtil.validatePublisher(props);
-        } catch(IllegalArgumentException e) {
-            assertEquals(e.getMessage(), "contenttype is needed");
+            fail();
+        } catch (IllegalArgumentException e) {
+            assertEquals("contenttype is needed", e.getMessage());
         }
-        
+
     }
 
-    
+
     @Test
     public void testValidateForNonDME2WithNullUserName() {
         Properties props = new Properties();
-        props.setProperty("TransportType", ProtocolTypeConstants.AUTH_KEY.getValue());
+        props.setProperty("TransportType", ProtocolType.AUTH_KEY.getValue());
         props.setProperty("host", "ServiceName");
         props.setProperty("topic", "topic");
         props.setProperty("contenttype", "contenttype");
-        try{
+        try {
             ValidatorUtil.validatePublisher(props);
-        } catch(IllegalArgumentException e) {
-            assertEquals(e.getMessage(), "username is needed");
+            fail();
+        } catch (IllegalArgumentException e) {
+            assertEquals("username is needed", e.getMessage());
         }
-        
+
     }
-    
+
     @Test
     public void testValidateForNonDME2WithNullPassword() {
         Properties props = new Properties();
-        props.setProperty("TransportType", ProtocolTypeConstants.AUTH_KEY.getValue());
+        props.setProperty("TransportType", ProtocolType.AUTH_KEY.getValue());
         props.setProperty("host", "ServiceName");
         props.setProperty("topic", "topic");
         props.setProperty("username", "username");
         props.setProperty("contenttype", "contenttype");
-        
-        try{
+
+        try {
             ValidatorUtil.validatePublisher(props);
-        } catch(IllegalArgumentException e) {
-            assertEquals(e.getMessage(), "password is needed");
+            fail();
+        } catch (IllegalArgumentException e) {
+            assertEquals("password is needed", e.getMessage());
         }
-        
+
     }
-    
+
     @Test
     public void testValidateForNonDME2WithAuthKey() {
         Properties props = new Properties();
-        props.setProperty("TransportType", ProtocolTypeConstants.AUTH_KEY.getValue());
+        props.setProperty("TransportType", ProtocolType.AUTH_KEY.getValue());
         props.setProperty("host", "ServiceName");
         props.setProperty("topic", "topic");
         props.setProperty("username", "username");
         props.setProperty("contenttype", "contenttype");
         props.setProperty("password", "password");
-        
-        try{
+
+        try {
             ValidatorUtil.validatePublisher(props);
-        } catch(IllegalArgumentException e) {
-            assertEquals(e.getMessage(), "authKey is needed");
+            fail();
+        } catch (IllegalArgumentException e) {
+            assertEquals("authKey is needed", e.getMessage());
         }
-        
+
     }
-    
+
     @Test
     public void testValidateForNonDME2WithOutAuthDate() {
         Properties props = new Properties();
-        props.setProperty("TransportType", ProtocolTypeConstants.AUTH_KEY.getValue());
+        props.setProperty("TransportType", ProtocolType.AUTH_KEY.getValue());
         props.setProperty("host", "ServiceName");
         props.setProperty("topic", "topic");
         props.setProperty("username", "username");
         props.setProperty("contenttype", "contenttype");
         props.setProperty("password", "password");
         props.setProperty("authKey", "authKey");
-        
-        
-        try{
+
+
+        try {
             ValidatorUtil.validatePublisher(props);
-        } catch(IllegalArgumentException e) {
-            assertEquals(e.getMessage(), "authDate is needed");
+            fail();
+        } catch (IllegalArgumentException e) {
+            assertEquals("authDate is needed", e.getMessage());
         }
     }
-    
+
     @Test
     public void testValidateForNonDME2WithAuthDate() {
         Properties props = new Properties();
-        props.setProperty("TransportType", ProtocolTypeConstants.AUTH_KEY.getValue());
+        props.setProperty("TransportType", ProtocolType.AUTH_KEY.getValue());
+        props.setProperty("host", "ServiceName");
+        props.setProperty("topic", "topic");
+        props.setProperty("username", "username");
+        props.setProperty("contenttype", "contenttype");
+        props.setProperty("password", "password");
+        props.setProperty("authKey", "authKey");
+        props.setProperty("authDate", "authDate");
+
+        try {
+            ValidatorUtil.validatePublisher(props);
+            fail();
+        } catch (IllegalArgumentException e) {
+            assertEquals("maxBatchSize is needed", e.getMessage());
+        }
+    }
+
+
+    @Test
+    public void testValidateForNonDME2WithMaxAgeMs() {
+        Properties props = new Properties();
+        props.setProperty("TransportType", ProtocolType.AUTH_KEY.getValue());
+        props.setProperty("host", "ServiceName");
+        props.setProperty("topic", "topic");
+        props.setProperty("username", "username");
+        props.setProperty("contenttype", "contenttype");
+        props.setProperty("password", "password");
+        props.setProperty("authKey", "authKey");
+        props.setProperty("authDate", "authDate");
+        props.setProperty("maxBatchSize", "maxBatchSize");
+
+        try {
+            ValidatorUtil.validatePublisher(props);
+            fail();
+        } catch (IllegalArgumentException e) {
+            assertEquals("maxAgeMs is needed", e.getMessage());
+        }
+
+
+    }
+
+    @Test
+    public void testValidateForNonDME2WithMessageSentThreadOccurrence() {
+        Properties props = new Properties();
+        props.setProperty("TransportType", ProtocolType.AUTH_KEY.getValue());
         props.setProperty("host", "ServiceName");
         props.setProperty("topic", "topic");
         props.setProperty("username", "username");
@@ -210,106 +264,95 @@ public class ValidatorUtilTest {
         props.setProperty("password", "password");
         props.setProperty("authKey", "authKey");
         props.setProperty("authDate", "authDate");
-        
-        try{
+        props.setProperty("maxBatchSize", "maxBatchSize");
+        props.setProperty("maxAgeMs", "maxAgeMs");
+
+        try {
             ValidatorUtil.validatePublisher(props);
-        } catch(IllegalArgumentException e) {
-            assertEquals(e.getMessage(), "maxBatchSize is needed");
+            fail();
+        } catch (IllegalArgumentException e) {
+            assertEquals("MessageSentThreadOccurrence is needed", e.getMessage());
         }
+
     }
-        
-        
-        @Test
-        public void testValidateForNonDME2WithMaxAgeMs() {
-            Properties props = new Properties();
-            props.setProperty("TransportType", ProtocolTypeConstants.AUTH_KEY.getValue());
-            props.setProperty("host", "ServiceName");
-            props.setProperty("topic", "topic");
-            props.setProperty("username", "username");
-            props.setProperty("contenttype", "contenttype");
-            props.setProperty("password", "password");
-            props.setProperty("authKey", "authKey");
-            props.setProperty("authDate", "authDate");
-            props.setProperty("maxBatchSize", "maxBatchSize");
-            
-            try{
-                ValidatorUtil.validatePublisher(props);
-            } catch(IllegalArgumentException e) {
-                assertEquals(e.getMessage(), "maxAgeMs is needed");
-            }
-            
-     
-        
+
+
+    @Test
+    public void testValidateSubscriberWithoutGroup() {
+        Properties props = new Properties();
+        props.setProperty("TransportType", ProtocolType.AUTH_KEY.getValue());
+        props.setProperty("host", "ServiceName");
+        props.setProperty("topic", "topic");
+        props.setProperty("username", "username");
+        props.setProperty("contenttype", "contenttype");
+        props.setProperty("password", "password");
+        props.setProperty("authKey", "authKey");
+        props.setProperty("authDate", "authDate");
+        props.setProperty("maxBatchSize", "maxBatchSize");
+        props.setProperty("maxAgeMs", "maxAgeMs");
+
+        try {
+            ValidatorUtil.validateSubscriber(props);
+            fail();
+        } catch (IllegalArgumentException e) {
+            assertEquals("group is needed", e.getMessage());
+        }
     }
-        
-        @Test
-        public void testValidateForNonDME2WithMessageSentThreadOccurance() {
-            Properties props = new Properties();
-            props.setProperty("TransportType", ProtocolTypeConstants.AUTH_KEY.getValue());
-            props.setProperty("host", "ServiceName");
-            props.setProperty("topic", "topic");
-            props.setProperty("username", "username");
-            props.setProperty("contenttype", "contenttype");
-            props.setProperty("password", "password");
-            props.setProperty("authKey", "authKey");
-            props.setProperty("authDate", "authDate");
-            props.setProperty("maxBatchSize", "maxBatchSize");
-            props.setProperty("maxAgeMs", "maxAgeMs");
-            
-            try{
-                ValidatorUtil.validatePublisher(props);
-            } catch(IllegalArgumentException e) {
-                assertEquals(e.getMessage(), "MessageSentThreadOccurance is needed");
-            }
-            
+
+    @Test
+    public void testValidateSubscriberWithoutCustomer() {
+        Properties props = new Properties();
+        props.setProperty("TransportType", ProtocolType.AUTH_KEY.getValue());
+        props.setProperty("host", "ServiceName");
+        props.setProperty("topic", "topic");
+        props.setProperty("username", "username");
+        props.setProperty("contenttype", "contenttype");
+        props.setProperty("password", "password");
+        props.setProperty("authKey", "authKey");
+        props.setProperty("authDate", "authDate");
+        props.setProperty("maxBatchSize", "maxBatchSize");
+        props.setProperty("maxAgeMs", "maxAgeMs");
+        props.setProperty("group", "group");
+
+        try {
+            ValidatorUtil.validateSubscriber(props);
+            fail();
+        } catch (IllegalArgumentException e) {
+            assertEquals("Consumer (id) is needed", e.getMessage());
         }
-            
-            
-            @Test
-            public void testValidateSubscriberWithoutGroup() {
-                Properties props = new Properties();
-                props.setProperty("TransportType", ProtocolTypeConstants.AUTH_KEY.getValue());
-                props.setProperty("host", "ServiceName");
-                props.setProperty("topic", "topic");
-                props.setProperty("username", "username");
-                props.setProperty("contenttype", "contenttype");
-                props.setProperty("password", "password");
-                props.setProperty("authKey", "authKey");
-                props.setProperty("authDate", "authDate");
-                props.setProperty("maxBatchSize", "maxBatchSize");
-                props.setProperty("maxAgeMs", "maxAgeMs");
-                
-                try{
-                    ValidatorUtil.validateSubscriber(props);
-                } catch(IllegalArgumentException e) {
-                    assertEquals(e.getMessage(), "group is needed");
-                }
-     }
-            
-            @Test
-            public void testValidateSubscriberWithoutCustomer() {
-                Properties props = new Properties();
-                props.setProperty("TransportType", ProtocolTypeConstants.AUTH_KEY.getValue());
-                props.setProperty("host", "ServiceName");
-                props.setProperty("topic", "topic");
-                props.setProperty("username", "username");
-                props.setProperty("contenttype", "contenttype");
-                props.setProperty("password", "password");
-                props.setProperty("authKey", "authKey");
-                props.setProperty("authDate", "authDate");
-                props.setProperty("maxBatchSize", "maxBatchSize");
-                props.setProperty("maxAgeMs", "maxAgeMs");
-                props.setProperty("group", "group");
-                
-                try{
-                    ValidatorUtil.validateSubscriber(props);
-                } catch(IllegalArgumentException e) {
-                    assertEquals(e.getMessage(), "Consumer (Id)  is needed");
-                }
-     }
-
-    
-    
-    
-    
+    }
+
+    @Test
+    public void testValidatePublisher() {
+        Properties props = new Properties();
+        props.setProperty("TransportType", ProtocolType.AUTH_KEY.getValue());
+        props.setProperty("host", "ServiceName");
+        props.setProperty("topic", "topic");
+        props.setProperty("username", "username");
+        props.setProperty("contenttype", "contenttype");
+        props.setProperty("password", "password");
+        props.setProperty("authKey", "authKey");
+        props.setProperty("authDate", "authDate");
+        props.setProperty("maxBatchSize", "maxBatchSize");
+        props.setProperty("maxAgeMs", "maxAgeMs");
+        props.setProperty("MessageSentThreadOccurrence", "10");
+
+        try {
+            ValidatorUtil.validatePublisher(props);
+        } catch (IllegalArgumentException e) {
+            fail();
+            return;
+        }
+
+        props.remove("MessageSentThreadOccurrence");
+        props.setProperty("MessageSentThreadOccurance", "10");
+        try {
+            ValidatorUtil.validatePublisher(props);
+        } catch (IllegalArgumentException e) {
+            fail();
+        }
+    }
+
+
+
 }