Few Sonar Fixes 43/116343/7
authorputhuparambil.aditya <aditya.puthuparambil@bell.ca>
Mon, 14 Dec 2020 15:46:30 +0000 (15:46 +0000)
committerputhuparambil.aditya <aditya.puthuparambil@bell.ca>
Wed, 16 Dec 2020 11:49:42 +0000 (11:49 +0000)
Add spock-spring testing

Issue-ID: CPS-89
Signed-off-by: puthuparambil.aditya <aditya.puthuparambil@bell.ca>
Change-Id: I1e12fb56916e2123fc1d29bdf1524accbb9eeffd

cps-dependencies/pom.xml
cps-parent/pom.xml
cps-rest/pom.xml
cps-rest/src/main/java/org/onap/cps/rest/exceptions/CpsRestExceptionHandler.java
cps-rest/src/test/groovy/org/onap/cps/rest/exceptions/CpsRestExceptionHandlerSpec.groovy
cps-ri/src/main/java/org/onap/cps/spi/repository/FragmentRepository.java
cps-service/src/main/java/org/onap/cps/spi/CpsModulePersistenceService.java
cps-service/src/main/java/org/onap/cps/spi/exceptions/CpsException.java
cps-service/src/main/java/org/onap/cps/spi/model/DataNode.java

index 821422c..5c94387 100755 (executable)
@@ -22,6 +22,7 @@
         <snapshotNexusPath>/content/repositories/snapshots/</snapshotNexusPath>
         <modelmapper.version>2.3.8</modelmapper.version>
         <spock-core.version>2.0-M2-groovy-3.0</spock-core.version>
+        <spock-spring.version>1.3-groovy-2.5</spock-spring.version>
         <springboot.version>2.3.3.RELEASE</springboot.version>
         <springfox.version>3.0.0</springfox.version>
         <swagger.version>2.1.4</swagger.version>
                 <artifactId>spock-core</artifactId>
                 <version>${spock-core.version}</version>
             </dependency>
+            <dependency>
+                <groupId>org.spockframework</groupId>
+                <artifactId>spock-spring</artifactId>
+                <version>${spock-spring.version}</version>
+            </dependency>
             <dependency>
                 <groupId>cglib</groupId>
                 <artifactId>cglib-nodep</artifactId>
index 89f9629..9c1760c 100644 (file)
@@ -20,7 +20,7 @@
         <base.image>openjdk:11-jre-slim</base.image>
         <java.version>11</java.version>
         <jib-maven-plugin.version>2.6.0</jib-maven-plugin.version>
-        <minimum-coverage>0.20</minimum-coverage>
+        <minimum-coverage>0.35</minimum-coverage>
         <nexusproxy>https://nexus.onap.org</nexusproxy>
         <oparent.version>3.1.0</oparent.version>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-surefire-plugin</artifactId>
                 <configuration>
+                    <!--suppress UnresolvedMavenProperty -->
                     <argLine>${surefireArgLine}</argLine>
                     <useFile>false</useFile>
                     <includes>
                             <goal>check</goal>
                         </goals>
                         <configuration>
+                            <excludes>
+                                <exclude>org/onap/cps/rest/model/*</exclude>
+                            </excludes>
                             <dataFile>${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile>
                             <rules>
                                 <rule>
index 3a82ca3..f2f643a 100755 (executable)
             <groupId>org.modelmapper</groupId>\r
             <artifactId>modelmapper</artifactId>\r
         </dependency>\r
-        <dependency>\r
-            <groupId>org.springframework.boot</groupId>\r
-            <artifactId>spring-boot-starter-test</artifactId>\r
-            <scope>test</scope>\r
-            <exclusions>\r
-                <exclusion>\r
-                    <groupId>org.junit.vintage</groupId>\r
-                    <artifactId>junit-vintage-engine</artifactId>\r
-                </exclusion>\r
-            </exclusions>\r
-        </dependency>\r
         <!-- T E S T   D E P E N D E N C I E S -->\r
         <dependency>\r
             <groupId>org.codehaus.groovy</groupId>\r
             <artifactId>spock-core</artifactId>\r
             <scope>test</scope>\r
         </dependency>\r
+        <dependency>\r
+            <groupId>org.spockframework</groupId>\r
+            <artifactId>spock-spring</artifactId>\r
+            <scope>test</scope>\r
+        </dependency>\r
         <dependency>\r
             <groupId>cglib</groupId>\r
             <artifactId>cglib-nodep</artifactId>\r
             <scope>test</scope>\r
         </dependency>\r
+        <dependency>\r
+            <groupId>org.springframework.boot</groupId>\r
+            <artifactId>spring-boot-starter-test</artifactId>\r
+            <scope>test</scope>\r
+            <exclusions>\r
+                <exclusion>\r
+                    <groupId>org.junit.vintage</groupId>\r
+                    <artifactId>junit-vintage-engine</artifactId>\r
+                </exclusion>\r
+            </exclusions>\r
+        </dependency>\r
     </dependencies>\r
 \r
     <build>\r
index 00e72a1..54f3db4 100644 (file)
@@ -37,6 +37,9 @@ import org.springframework.web.bind.annotation.RestControllerAdvice;
 @RestControllerAdvice(assignableTypes = {CpsRestController.class})
 public class CpsRestExceptionHandler {
 
+    private CpsRestExceptionHandler() {
+    }
+
     /**
      * Default exception handler.
      *
index e427c60..7a777bf 100644 (file)
 package org.onap.cps.rest.exceptions
 
 import groovy.json.JsonSlurper
+import org.modelmapper.ModelMapper
 import org.onap.cps.api.CpsAdminService
 import org.onap.cps.spi.exceptions.AnchorAlreadyDefinedException
 import org.onap.cps.spi.exceptions.CpsException
 import org.onap.cps.spi.exceptions.DataValidationException
 import org.onap.cps.spi.exceptions.NotFoundInDataspaceException
 import org.onap.cps.spi.exceptions.ModelValidationException
-import org.onap.cps.rest.controller.CpsRestController
 import org.onap.cps.spi.exceptions.SchemaSetAlreadyDefinedException
+import org.spockframework.spring.SpringBean
+import org.springframework.beans.factory.annotation.Autowired
+import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest
+import org.springframework.test.web.servlet.MockMvc
 import spock.lang.Shared
 import spock.lang.Specification
 import spock.lang.Unroll
@@ -36,10 +40,19 @@ import static org.springframework.http.HttpStatus.BAD_REQUEST
 import static org.springframework.http.HttpStatus.INTERNAL_SERVER_ERROR
 import static org.springframework.http.HttpStatus.NOT_FOUND
 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get
-import static org.springframework.test.web.servlet.setup.MockMvcBuilders.standaloneSetup
 
+@WebMvcTest
 class CpsRestExceptionHandlerSpec extends Specification {
 
+    @SpringBean
+    CpsAdminService mockCpsAdminService = Mock()
+
+    @SpringBean
+    ModelMapper modelMapper = Mock()
+
+    @Autowired
+    MockMvc mvc
+
     @Shared
     def errorMessage = 'some error message'
     @Shared
@@ -49,14 +62,6 @@ class CpsRestExceptionHandlerSpec extends Specification {
     @Shared
     def existingObjectName = 'MyAdminObject'
 
-    def cpsRestController = new CpsRestController()
-    def mockCpsAdminService = Mock(CpsAdminService.class)
-    def objectUnderTest = new CpsRestExceptionHandler()
-    def mockMvc = standaloneSetup(cpsRestController).setControllerAdvice(objectUnderTest).build()
-
-    def setup() {
-        cpsRestController.cpsAdminService = mockCpsAdminService
-    }
 
     def 'Get request with runtime exception returns HTTP Status Internal Server Error'() {
 
@@ -134,15 +139,15 @@ class CpsRestExceptionHandlerSpec extends Specification {
     }
 
     def performTestRequest() {
-        return mockMvc.perform(get('/v1/dataspaces/dataspace-name/anchors')).andReturn().response
+        return mvc.perform(get('/v1/dataspaces/dataspace-name/anchors')).andReturn().response
     }
 
-    void assertTestResponse(response, expectedStatus, expectedErrorMessage, expectedErrorDetails) {
+    void assertTestResponse(response, expectedStatus,
+                            expectedErrorMessage, expectedErrorDetails) {
         assert response.status == expectedStatus.value()
         def content = new JsonSlurper().parseText(response.contentAsString)
         assert content['status'] == expectedStatus.toString()
         assert content['message'] == expectedErrorMessage
         assert expectedErrorDetails == null || content['details'] == expectedErrorDetails
     }
-
 }
index 7ae7c13..b1a8992 100755 (executable)
@@ -25,8 +25,6 @@ import java.util.Collection;
 import org.onap.cps.spi.entities.Dataspace;\r
 import org.onap.cps.spi.entities.Fragment;\r
 import org.springframework.data.jpa.repository.JpaRepository;\r
-import org.springframework.data.jpa.repository.Query;\r
-import org.springframework.data.repository.query.Param;\r
 import org.springframework.stereotype.Repository;\r
 \r
 @Repository\r
index 9749d8b..7feae36 100644 (file)
@@ -31,13 +31,14 @@ public interface CpsModulePersistenceService {
      * TODO
      * clean up method to conform with spi proposal - https://jira.onap.org/browse/CPS-103
      * Store the module from a yang model in the database.
+     * @deprecated
      *
      * @param namespace     module namespace
      * @param moduleContent module content
      * @param revision      module revision
      * @param dataspaceName the name of the dataspace the module is associated with
      */
-    @Deprecated
+    @Deprecated(forRemoval = true)
     void storeModule(final String namespace, final String moduleContent, final String revision,
                      final String dataspaceName);
 
index 406ade6..96a0678 100644 (file)
@@ -28,26 +28,8 @@ public class CpsException extends RuntimeException {
 
     private static final long serialVersionUID = 1592619410918497467L;
 
-    @Getter String details;
-
-    /**
-     * Constructor.
-     *
-     * @param cause the cause of the exception
-     */
-    public CpsException(final Throwable cause) {
-        super(cause.getMessage(), cause);
-    }
-
-    /**
-     * Constructor.
-     *
-     * @param message the error message
-     * @param cause   the cause of the exception
-     */
-    public CpsException(final String message, final Throwable cause) {
-        super(message, cause);
-    }
+    @Getter
+    final String details;
 
     /**
      * Constructor.
index 5ed45ad..8bd4047 100644 (file)
@@ -24,9 +24,6 @@ import java.util.Collection;
 import java.util.Map;
 import lombok.Builder;
 import lombok.Data;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
 
 @Data
 @Builder