Add negative test cases to android AITT
authorPraveen Naik S <praveen.s@samsung.com>
Fri, 7 Oct 2022 09:27:20 +0000 (14:57 +0530)
committerYoungjae Shin <yj99.shin@samsung.com>
Wed, 9 Nov 2022 08:16:32 +0000 (17:16 +0900)
android/aitt/src/test/java/com/samsung/android/aitt/AittMessageUnitTest.java
android/aitt/src/test/java/com/samsung/android/aitt/AittUnitTest.java

index 1d1dc98ef36186917fb6e8cccc77eb56d585e96f..286149d7c0cf8637d3e1269c46c53cf503c05ddf 100644 (file)
@@ -17,6 +17,8 @@
 package com.samsung.android.aitt;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 
@@ -32,27 +34,27 @@ public class AittMessageUnitTest {
     private final String message = "Aitt Message";
 
     @Test
-    public void testAittMessageInitialize_P01() {
+    public void testAittMessageInitialize_P() {
         AittMessage aittMessage = new AittMessage();
         assertNotNull("Not null AittMessage Object", aittMessage);
     }
 
     @Test
-    public void testAittMessageInitializePayload_P02() {
+    public void testAittMessageInitializePayload_P() {
         byte[] payload = message.getBytes();
         AittMessage aittMessage = new AittMessage(payload);
         assertNotNull("Not null AittMessage Object", aittMessage);
     }
 
     @Test(expected = NullPointerException.class)
-    public void testAittMessageInitializeInvalidPayload_N01() throws NullPointerException {
+    public void testAittMessageInitializeInvalidPayload_N() throws NullPointerException {
         byte[] payload = null;
         AittMessage aittMessage = new AittMessage(payload);
         assertNull("Null AittMessage Object", aittMessage);
     }
 
     @Test
-    public void testTopic_P03() {
+    public void testTopic_P() {
         byte[] payload = message.getBytes();
         AittMessage aittMessage = new AittMessage(payload);
         aittMessage.setTopic(topic);
@@ -61,7 +63,15 @@ public class AittMessageUnitTest {
     }
 
     @Test
-    public void testCorrelation_P04() {
+    public void testInvalidTopic_N() {
+        byte[] payload = message.getBytes();
+        AittMessage aittMessage = new AittMessage(payload);
+        String newTopic = aittMessage.getTopic();
+        assertNull("Received topic is null", newTopic);
+    }
+
+    @Test
+    public void testCorrelation_P() {
         byte[] payload = message.getBytes();
         AittMessage aittMessage = new AittMessage(payload);
         aittMessage.setCorrelation(correlation);
@@ -70,7 +80,15 @@ public class AittMessageUnitTest {
     }
 
     @Test
-    public void testReplyTopic_P05() {
+    public void testInvalidCorrelation_N() {
+        byte[] payload = message.getBytes();
+        AittMessage aittMessage = new AittMessage(payload);
+        String newCorrelation = aittMessage.getCorrelation();
+        assertNull("Received Correlation is null", newCorrelation);
+    }
+
+    @Test
+    public void testReplyTopic_P() {
         byte[] payload = message.getBytes();
         AittMessage aittMessage = new AittMessage(payload);
         aittMessage.setReplyTopic(replyTopic);
@@ -79,7 +97,15 @@ public class AittMessageUnitTest {
     }
 
     @Test
-    public void testSequence_P06() {
+    public void testInvalidReplyTopic_N() {
+        byte[] payload = message.getBytes();
+        AittMessage aittMessage = new AittMessage(payload);
+        String newReplyTopic = aittMessage.getReplyTopic();
+        assertNull("Received replyTopic is null", newReplyTopic);
+    }
+
+    @Test
+    public void testSequence_P() {
         byte[] payload = message.getBytes();
         AittMessage aittMessage = new AittMessage(payload);
         aittMessage.setSequence(sequence);
@@ -89,7 +115,15 @@ public class AittMessageUnitTest {
     }
 
     @Test
-    public void testEndSequence_P07() {
+    public void testInvalidSequence_N() {
+        byte[] payload = message.getBytes();
+        AittMessage aittMessage = new AittMessage(payload);
+        int newSequence = aittMessage.getSequence();
+        assertEquals("Received sequence is null", 0, newSequence);
+    }
+
+    @Test
+    public void testEndSequence_P() {
         byte[] payload = message.getBytes();
         AittMessage aittMessage = new AittMessage(payload);
         aittMessage.setEndSequence(endSequence);
@@ -98,7 +132,15 @@ public class AittMessageUnitTest {
     }
 
     @Test
-    public void testPayload_P08() {
+    public void testInvalidEndSequence_N() {
+        byte[] payload = message.getBytes();
+        AittMessage aittMessage = new AittMessage(payload);
+        boolean bool = aittMessage.isEndSequence();
+        assertFalse("Received endSequence is false", bool);
+    }
+
+    @Test
+    public void testPayload_P() {
         AittMessage aittMessage = new AittMessage();
         byte[] payload = message.getBytes();
         aittMessage.setPayload(payload);
@@ -107,14 +149,19 @@ public class AittMessageUnitTest {
     }
 
     @Test(expected = NullPointerException.class)
-    public void TestInvalidPayload_N02() throws NullPointerException {
+    public void testInvalidPayload_N() throws NullPointerException {
         AittMessage aittMessage = new AittMessage();
         byte[] payload = null;
         aittMessage.setPayload(payload);
     }
 
+    @Test(expected = NullPointerException.class)
+    public void testNullPayload_N() throws NullPointerException{
+        AittMessage aittMessage = new AittMessage(null);
+    }
+
     @Test
-    public void testClearPayload_P09() {
+    public void testClearPayload_P() {
         byte[] payload = message.getBytes();
         AittMessage aittMessage = new AittMessage(payload);
         aittMessage.clearPayload();
index 43136286c65d5532c477537ca104d1b87bd0a1f5..0e38924bed5edc07c3873f544a54a0de05d11953 100644 (file)
@@ -295,6 +295,25 @@ public class AittUnitTest {
         }
     }
 
+    @Test
+    public void testPublishMqttInvalidTopic_N() {
+        try {
+            shadowJniInterface.setInitReturn(true);
+            Aitt aitt = new Aitt(appContext, aittId);
+            aitt.connect(brokerIp, port);
+            String _topic = "";
+            byte[] payload = message.getBytes();
+
+            assertThrows(IllegalArgumentException.class, () -> {
+                aitt.publish(_topic, payload);
+            });
+
+            aitt.disconnect();
+        } catch (Exception e) {
+            fail("Failed testPublishMqttInvalidTopic" + e);
+        }
+    }
+
     @Test
     public void testPublishWebRTC_P() {
         try {
@@ -314,7 +333,7 @@ public class AittUnitTest {
     }
 
     @Test
-    public void testPublishInvalidTopic_N() {
+    public void testPublishWebRTCInvalidTopic_N() {
         try {
             shadowJniInterface.setInitReturn(true);
             Aitt aitt = new Aitt(appContext, aittId);
@@ -323,12 +342,12 @@ public class AittUnitTest {
             byte[] payload = message.getBytes();
 
             assertThrows(IllegalArgumentException.class, () -> {
-                aitt.publish(_topic, payload);
+                aitt.publish(_topic, payload, Aitt.Protocol.WEBRTC, Aitt.QoS.AT_MOST_ONCE, false);
             });
 
             aitt.disconnect();
         } catch (Exception e) {
-            fail("Failed testPublishInvalidTopic" + e);
+            fail("Failed testPublishWebRTCInvalidTopic" + e);
         }
     }
 
@@ -350,6 +369,25 @@ public class AittUnitTest {
         }
     }
 
+    @Test
+    public void testPublishAnyProtocolInvalidTopic_N() {
+        try {
+            shadowJniInterface.setInitReturn(true);
+            Aitt aitt = new Aitt(appContext, aittId);
+            aitt.connect(brokerIp, port);
+            String _topic = "";
+            byte[] payload = message.getBytes();
+
+            assertThrows(IllegalArgumentException.class, () -> {
+                aitt.publish(_topic, payload, Aitt.Protocol.TCP, Aitt.QoS.AT_LEAST_ONCE, false);
+            });
+
+            aitt.disconnect();
+        } catch (Exception e) {
+            fail("Failed testPublishAnyProtocolInvalidTopic" + e);
+        }
+    }
+
     @Test
     public void testPublishProtocolSet_P() {
         try {
@@ -369,6 +407,28 @@ public class AittUnitTest {
         }
     }
 
+    @Test
+    public void testPublishProtocolSetInvalidTopic_N() {
+        try {
+            shadowJniInterface.setInitReturn(true);
+            Aitt aitt = new Aitt(appContext, aittId);
+
+            assertNotNull("Aitt Instance not null", aitt);
+            aitt.connect(brokerIp, port);
+            String _topic = "";
+            byte[] payload = message.getBytes();
+            EnumSet<Aitt.Protocol> protocols = EnumSet.of(Aitt.Protocol.MQTT, Aitt.Protocol.TCP);
+
+            assertThrows(IllegalArgumentException.class, () -> {
+                aitt.publish(_topic, payload, protocols, Aitt.QoS.AT_MOST_ONCE, false);
+            });
+
+            aitt.disconnect();
+        } catch (Exception e) {
+            fail("Failed testPublishProtocolSetInvalidTopic " + e);
+        }
+    }
+
     @Test
     public void testPublishInvalidProtocol_N() {
         try {
@@ -411,6 +471,48 @@ public class AittUnitTest {
         }
     }
 
+    @Test
+    public void testSubscribeMqttInvalidTopic_N() {
+        try {
+            shadowJniInterface.setInitReturn(true);
+            Aitt aitt = new Aitt(appContext, aittId);
+            aitt.connect(brokerIp, port);
+
+            String _topic = "";
+
+            assertThrows(IllegalArgumentException.class, () -> {
+                aitt.subscribe(_topic, new Aitt.SubscribeCallback() {
+                    @Override
+                    public void onMessageReceived(AittMessage message) {
+                    }
+                });
+            });
+
+            aitt.disconnect();
+        } catch (Exception e) {
+            fail("Failed testSubscribeMqttInvalidTopic " + e);
+        }
+    }
+
+    @Test
+    public void testSubscribeMqttInvalidCallback_N() {
+        try {
+            shadowJniInterface.setInitReturn(true);
+            Aitt aitt = new Aitt(appContext, aittId);
+
+            aitt.connect(brokerIp, port);
+
+            assertThrows(IllegalArgumentException.class, () -> {
+                aitt.subscribe(topic, null);
+            });
+
+            aitt.disconnect();
+        } catch (Exception e) {
+            fail("Failed testSubscribeMqttInvalidCallback " + e);
+        }
+    }
+
+
     @Test
     public void testSubscribeWebRTC_P() {
         try {
@@ -421,13 +523,12 @@ public class AittUnitTest {
             aitt.connect(brokerIp, port);
 
             aitt.subscribe(topic, new Aitt.SubscribeCallback() {
-                        @Override
-                        public void onMessageReceived(AittMessage message) {
-                            String _topic = message.getTopic();
-                            byte[] payload = message.getPayload();
-                        }
-                    },
-                    Aitt.Protocol.WEBRTC, Aitt.QoS.AT_MOST_ONCE);
+                @Override
+                public void onMessageReceived(AittMessage message) {
+                    String _topic = message.getTopic();
+                    byte[] payload = message.getPayload();
+                }
+            }, Aitt.Protocol.WEBRTC, Aitt.QoS.AT_MOST_ONCE);
 
             aitt.disconnect();
         } catch (Exception e) {
@@ -436,7 +537,7 @@ public class AittUnitTest {
     }
 
     @Test
-    public void testSubscribeInvalidTopic_N() {
+    public void testSubscribeWebRTCInvalidTopic_N() {
         try {
             shadowJniInterface.setInitReturn(true);
             Aitt aitt = new Aitt(appContext, aittId);
@@ -449,32 +550,30 @@ public class AittUnitTest {
                     @Override
                     public void onMessageReceived(AittMessage message) {
                     }
-                });
+                }, Aitt.Protocol.WEBRTC, Aitt.QoS.AT_MOST_ONCE);
             });
 
             aitt.disconnect();
         } catch (Exception e) {
-            fail("Failed testSubscribeInvalidTopic " + e);
+            fail("Failed testSubscribeWebRTCInvalidTopic " + e);
         }
     }
 
     @Test
-    public void testSubscribeInvalidCallback_N() {
+    public void testSubscribeWebRTCInvalidCallback_N() {
         try {
             shadowJniInterface.setInitReturn(true);
             Aitt aitt = new Aitt(appContext, aittId);
 
             aitt.connect(brokerIp, port);
 
-            String _topic = "topic";
-
             assertThrows(IllegalArgumentException.class, () -> {
-                aitt.subscribe(_topic, null);
+                aitt.subscribe(topic, null, Aitt.Protocol.WEBRTC, Aitt.QoS.AT_MOST_ONCE);
             });
 
             aitt.disconnect();
         } catch (Exception e) {
-            fail("Failed testSubscribeInvalidCallback " + e);
+            fail("Failed testSubscribeWebRTCInvalidCallback " + e);
         }
     }
 
@@ -488,13 +587,12 @@ public class AittUnitTest {
             aitt.connect(brokerIp, port);
 
             aitt.subscribe(topic, new Aitt.SubscribeCallback() {
-                        @Override
-                        public void onMessageReceived(AittMessage message) {
-                            String _topic = message.getTopic();
-                            byte[] payload = message.getPayload();
-                        }
-                    },
-                    Aitt.Protocol.TCP, Aitt.QoS.AT_MOST_ONCE);
+                @Override
+                public void onMessageReceived(AittMessage message) {
+                    String _topic = message.getTopic();
+                    byte[] payload = message.getPayload();
+                }
+            }, Aitt.Protocol.TCP, Aitt.QoS.AT_MOST_ONCE);
 
             aitt.disconnect();
         } catch (Exception e) {
@@ -502,6 +600,47 @@ public class AittUnitTest {
         }
     }
 
+    @Test
+    public void testSubscribeAnyProtocolInvalidTopic_N() {
+        try {
+            shadowJniInterface.setInitReturn(true);
+            Aitt aitt = new Aitt(appContext, aittId);
+            aitt.connect(brokerIp, port);
+
+            String _topic = "";
+
+            assertThrows(IllegalArgumentException.class, () -> {
+                aitt.subscribe(_topic, new Aitt.SubscribeCallback() {
+                    @Override
+                    public void onMessageReceived(AittMessage message) {
+                    }
+                }, Aitt.Protocol.TCP, Aitt.QoS.AT_MOST_ONCE);
+            });
+
+            aitt.disconnect();
+        } catch (Exception e) {
+            fail("Failed testSubscribeAnyProtocolInvalidTopic " + e);
+        }
+    }
+
+    @Test
+    public void testSubscribeAnyProtocolInvalidCallback_N() {
+        try {
+            shadowJniInterface.setInitReturn(true);
+            Aitt aitt = new Aitt(appContext, aittId);
+
+            aitt.connect(brokerIp, port);
+
+            assertThrows(IllegalArgumentException.class, () -> {
+                aitt.subscribe(topic, null, Aitt.Protocol.TCP, Aitt.QoS.AT_MOST_ONCE);
+            });
+
+            aitt.disconnect();
+        } catch (Exception e) {
+            fail("Failed testSubscribeAnyProtocolInvalidCallback " + e);
+        }
+    }
+
     @Test
     public void testSubscribeInvalidProtocol_N() {
         try {
@@ -513,18 +652,17 @@ public class AittUnitTest {
 
             assertThrows(IllegalArgumentException.class, () -> {
                 aitt.subscribe(topic, new Aitt.SubscribeCallback() {
-                            @Override
-                            public void onMessageReceived(AittMessage message) {
-                                String _topic = message.getTopic();
-                                byte[] payload = message.getPayload();
-                            }
-                        },
-                        protocols, Aitt.QoS.AT_MOST_ONCE);
+                    @Override
+                    public void onMessageReceived(AittMessage message) {
+                        String _topic = message.getTopic();
+                        byte[] payload = message.getPayload();
+                    }
+                }, protocols, Aitt.QoS.AT_MOST_ONCE);
             });
 
             aitt.disconnect();
         } catch (Exception e) {
-            fail("Failed testSubscribeAnyProtocol " + e);
+            fail("Failed testSubscribeInvalidProtocol " + e);
         }
     }
 
@@ -539,13 +677,12 @@ public class AittUnitTest {
 
             EnumSet<Aitt.Protocol> protocols = EnumSet.of(Aitt.Protocol.MQTT, Aitt.Protocol.TCP);
             aitt.subscribe(topic, new Aitt.SubscribeCallback() {
-                        @Override
-                        public void onMessageReceived(AittMessage message) {
-                            String _topic = message.getTopic();
-                            byte[] payload = message.getPayload();
-                        }
-                    },
-                    protocols, Aitt.QoS.EXACTLY_ONCE);
+                @Override
+                public void onMessageReceived(AittMessage message) {
+                    String _topic = message.getTopic();
+                    byte[] payload = message.getPayload();
+                }
+            }, protocols, Aitt.QoS.EXACTLY_ONCE);
 
             aitt.disconnect();
         } catch (Exception e) {
@@ -553,6 +690,47 @@ public class AittUnitTest {
         }
     }
 
+    @Test
+    public void testSubscribeProtocolSetInvalidTopic_N() {
+        try {
+            shadowJniInterface.setInitReturn(true);
+            Aitt aitt = new Aitt(appContext, aittId);
+            aitt.connect(brokerIp, port);
+
+            String _topic = "";
+            EnumSet<Aitt.Protocol> protocols = EnumSet.of(Aitt.Protocol.MQTT, Aitt.Protocol.TCP);
+            assertThrows(IllegalArgumentException.class, () -> {
+                aitt.subscribe(_topic, new Aitt.SubscribeCallback() {
+                    @Override
+                    public void onMessageReceived(AittMessage message) {
+                    }
+                }, protocols, Aitt.QoS.EXACTLY_ONCE);
+            });
+
+            aitt.disconnect();
+        } catch (Exception e) {
+            fail("Failed testSubscribeProtocolSetInvalidTopic " + e);
+        }
+    }
+
+    @Test
+    public void testSubscribeProtocolSetInvalidCallback_N() {
+        try {
+            shadowJniInterface.setInitReturn(true);
+            Aitt aitt = new Aitt(appContext, aittId);
+
+            aitt.connect(brokerIp, port);
+            EnumSet<Aitt.Protocol> protocols = EnumSet.of(Aitt.Protocol.MQTT, Aitt.Protocol.TCP);
+            assertThrows(IllegalArgumentException.class, () -> {
+                aitt.subscribe(topic, null, protocols, Aitt.QoS.AT_MOST_ONCE);
+            });
+
+            aitt.disconnect();
+        } catch (Exception e) {
+            fail("Failed testSubscribeProtocolSetInvalidCallback " + e);
+        }
+    }
+
     @Test
     public void testUnsubscribe_P() {
         try {
@@ -709,7 +887,7 @@ public class AittUnitTest {
     }
 
     @Test
-    public void testDiscoveryMessageCallbackEmptyPayload_P() {
+    public void testDiscoveryMessageCallbackEmptyPayload_N() {
         try {
             shadowJniInterface.setInitReturn(true);
             Aitt aitt = new Aitt(appContext, aittId);