Add first test of System.exit
authorkjaniak <kornel.janiak@nokia.com>
Tue, 18 Feb 2020 12:25:43 +0000 (13:25 +0100)
committerkjaniak <kornel.janiak@nokia.com>
Tue, 18 Feb 2020 13:48:30 +0000 (14:48 +0100)
Issue-ID: AAF-996
Signed-off-by: kjaniak <kornel.janiak@nokia.com>
Change-Id: Id0ee4d6a08e7050ef080f0e1fadea8c07459571c

certServiceClient/pom.xml
certServiceClient/src/main/java/org/onap/aaf/certservice/client/CertServiceClient.java [moved from certServiceClient/src/test/java/org/onap/aaf/certservice/client/CertServiceClientAppTest.java with 73% similarity]
certServiceClient/src/main/java/org/onap/aaf/certservice/client/CertServiceClientApp.java
certServiceClient/src/test/java/org/onap/aaf/certservice/client/CertServiceClientTest.java [new file with mode: 0644]
pom.xml

index 2f3aa62..84c33c7 100644 (file)
     </build>
 
     <dependencies>
-
+        <dependency>
+            <groupId>org.mockito</groupId>
+            <artifactId>mockito-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.mockito</groupId>
+            <artifactId>mockito-junit-jupiter</artifactId>
+        </dependency>
         <dependency>
             <groupId>org.junit.jupiter</groupId>
             <artifactId>junit-jupiter-engine</artifactId>
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
-
 package org.onap.aaf.certservice.client;
 
-import org.junit.jupiter.api.Test;
-
-class CertServiceClientAppTest {
-
-    //  Sonar check for this test disabled due to lack of assertion in test.
-    //  Intention of this test is to check if app runs without exiting Java.
-    @Test
-    public void mainShouldSucceed() {   //NOSONAR
-        String[] params = {""};
-        CertServiceClientApp.main(params);
+public class CertServiceClient {
+    public void run(String[] args) {
+        exit(0);
     }
 
-}
\ No newline at end of file
+    protected void exit(int statusCode){
+        System.exit(statusCode);
+    }
+}
index 8b200be..b0490e8 100644 (file)
@@ -22,6 +22,8 @@ package org.onap.aaf.certservice.client;
 
 public class CertServiceClientApp {
     public static void main(String[] args) {
-
+        CertServiceClient certServiceClient = new CertServiceClient();
+        certServiceClient.run(args);
     }
+
 }
\ No newline at end of file
diff --git a/certServiceClient/src/test/java/org/onap/aaf/certservice/client/CertServiceClientTest.java b/certServiceClient/src/test/java/org/onap/aaf/certservice/client/CertServiceClientTest.java
new file mode 100644 (file)
index 0000000..12c2db0
--- /dev/null
@@ -0,0 +1,48 @@
+/*============LICENSE_START=======================================================
+ * aaf-certservice-client
+ * ================================================================================
+ * Copyright (C) 2020 Nokia. All rights reserved.
+ * ================================================================================
+ * 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.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.aaf.certservice.client;
+
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.Spy;
+import org.mockito.junit.jupiter.MockitoExtension;
+
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.verify;
+
+@ExtendWith(MockitoExtension.class)
+class CertServiceClientTest {
+    @Spy
+    CertServiceClient certServiceClient = new CertServiceClient();
+
+    //  Sonar check for this test disabled due to lack of assertion in test.
+    //  Intention of this test is to check if app runs without exiting Java.
+    @Test
+    public void shouldExitWithZero_onApplicationSuccessfulFinish() {   //NOSONAR
+        //  given
+        String[] params = {""};
+        doNothing().when(certServiceClient).exit(0);
+        //  when
+        certServiceClient.run(params);
+        //  then
+        verify(certServiceClient).exit(0);
+    }
+
+}
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 38dfc9f..5366313 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -53,6 +53,7 @@
         <gson.version>2.8.6</gson.version>
         <docker-maven-plugin.version>0.33.0</docker-maven-plugin.version>
         <junit.version>5.5.2</junit.version>
+        <mockito-junit-jupiter.version>2.17.0</mockito-junit-jupiter.version>
 
         <!-- Docker -->
         <skipDockerPush>true</skipDockerPush>
                 <version>${mockito-core.version}</version>
                 <scope>test</scope>
             </dependency>
+            <dependency>
+                <groupId>org.mockito</groupId>
+                <artifactId>mockito-junit-jupiter</artifactId>
+                <version>${mockito-junit-jupiter.version}</version>
+                <scope>test</scope>
+            </dependency>
+
         </dependencies>
     </dependencyManagement>