[TECHDEBT] Align CPS Core REST API Specification and Implementation 48/126848/6
authorJosephKeenan <joseph.keenan@est.tech>
Fri, 28 Jan 2022 10:02:24 +0000 (10:02 +0000)
committerToine Siebelink <toine.siebelink@est.tech>
Mon, 31 Jan 2022 09:03:32 +0000 (09:03 +0000)
Issue-ID: CPS-822
Signed-off-by: JosephKeenan <joseph.keenan@est.tech>
Change-Id: Idde7525628f7e1425602069e0d75506ac621113e

cps-application/src/test/java/org/onap/cps/architecture/LayeredArchitectureTest.java
cps-rest/docs/openapi/components.yml
cps-rest/docs/openapi/cpsAdmin.yml
cps-rest/docs/openapi/cpsData.yml
cps-rest/docs/openapi/cpsQuery.yml

index bc5ad18..817bd58 100644 (file)
@@ -42,6 +42,7 @@ public class LayeredArchitectureTest {
     private static final String SPI_REPOSITORY_PACKAGE = "org.onap.cps.spi.repository..";
     private static final String YANG_SCHEMA_PACKAGE = "org.onap.cps.yang..";
     private static final String NOTIFICATION_PACKAGE = "org.onap.cps.notification..";
+    private static final String CPS_UTILS_PACKAGE = "org.onap.cps.utils..";
 
     @ArchTest
     static final ArchRule restControllerShouldOnlyDependOnRestController =
@@ -49,11 +50,11 @@ public class LayeredArchitectureTest {
             .resideInAPackage(REST_CONTROLLER_PACKAGE);
 
     @ArchTest
-    static final ArchRule apiOrSpiServiceShouldOnlyBeDependedOnByControllerAndServices =
+    static final ArchRule apiOrSpiServiceShouldOnlyBeDependedOnByControllerAndServicesAndCommonUtilityPackages =
         freeze(classes().that().resideInAPackage(API_SERVICE_PACKAGE)
             .or().resideInAPackage(SPI_SERVICE_PACKAGE).should().onlyHaveDependentClassesThat()
             .resideInAnyPackage(REST_CONTROLLER_PACKAGE, API_SERVICE_PACKAGE, SPI_SERVICE_PACKAGE, NCMP_REST_PACKAGE,
-                NCMP_SERVICE_PACKAGE, YANG_SCHEMA_PACKAGE, NOTIFICATION_PACKAGE));
+                NCMP_SERVICE_PACKAGE, YANG_SCHEMA_PACKAGE, NOTIFICATION_PACKAGE, CPS_UTILS_PACKAGE));
 
     @ArchTest
     static final ArchRule repositoryShouldOnlyBeDependedOnByServicesAndRepository =
index ff2816a..5f31569 100644 (file)
@@ -1,5 +1,6 @@
 # ============LICENSE_START=======================================================
 # Copyright (c) 2021 Bell Canada.
+# Modifications Copyright (C) 2021-2022 Nordix Foundation
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -277,6 +278,16 @@ components:
           schema:
             type: string
             example: my-resource
+    InternalServerError:
+      description: Internal Server Error
+      content:
+        application/json:
+          schema:
+            $ref: "#/components/schemas/ErrorMessage"
+          example:
+            status: 500
+            message: Internal Server Error
+            details: Internal Server Error occurred
     NoContent:
       description: No Content
       content: {}
index 869cb6e..a25f81e 100644 (file)
@@ -1,5 +1,6 @@
 # ============LICENSE_START=======================================================
 # Copyright (c) 2021 Bell Canada.
+# Modifications Copyright (C) 2021-2022 Nordix Foundation
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -28,13 +29,14 @@ dataspaces:
     responses:
       '201':
         $ref: 'components.yml#/components/responses/Created'
-      '400':
-        $ref: 'components.yml#/components/responses/BadRequest'
       '401':
         $ref: 'components.yml#/components/responses/Unauthorized'
       '403':
         $ref: 'components.yml#/components/responses/Forbidden'
-
+      '409':
+        $ref: 'components.yml#/components/responses/Conflict'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
   delete:
     description: Delete a dataspace
     tags:
@@ -54,6 +56,8 @@ dataspaces:
         $ref: 'components.yml#/components/responses/Forbidden'
       '409':
         $ref: 'components.yml#/components/responses/Conflict'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
 
 schemaSet:
   post:
@@ -71,7 +75,6 @@ schemaSet:
         multipart/form-data:
           schema:
             $ref: 'components.yml#/components/schemas/MultipartFile'
-
     responses:
       '201':
         $ref: 'components.yml#/components/responses/Created'
@@ -81,6 +84,10 @@ schemaSet:
         $ref: 'components.yml#/components/responses/Unauthorized'
       '403':
         $ref: 'components.yml#/components/responses/Forbidden'
+      '409':
+        $ref: 'components.yml#/components/responses/Conflict'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
 
 schemaSetBySchemaSetName:
   get:
@@ -105,9 +112,8 @@ schemaSetBySchemaSetName:
         $ref: 'components.yml#/components/responses/Unauthorized'
       '403':
         $ref: 'components.yml#/components/responses/Forbidden'
-      '404':
-        $ref: 'components.yml#/components/responses/NotFound'
-
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
   delete:
     description: Delete a schema set given a schema set name and a dataspace
     tags:
@@ -128,6 +134,8 @@ schemaSetBySchemaSetName:
         $ref: 'components.yml#/components/responses/Forbidden'
       '409':
         $ref: 'components.yml#/components/responses/Conflict'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
 
 anchorsByDataspace:
   get:
@@ -153,9 +161,8 @@ anchorsByDataspace:
         $ref: 'components.yml#/components/responses/Unauthorized'
       '403':
         $ref: 'components.yml#/components/responses/Forbidden'
-      '404':
-        $ref: 'components.yml#/components/responses/NotFound'
-
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
   post:
     description: Create a new anchor in the given dataspace
     tags:
@@ -175,6 +182,10 @@ anchorsByDataspace:
         $ref: 'components.yml#/components/responses/Unauthorized'
       '403':
         $ref: 'components.yml#/components/responses/Forbidden'
+      '409':
+        $ref: 'components.yml#/components/responses/Conflict'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
 
 anchorByDataspaceAndAnchorName:
   get:
@@ -199,9 +210,8 @@ anchorByDataspaceAndAnchorName:
         $ref: 'components.yml#/components/responses/Unauthorized'
       '403':
         $ref: 'components.yml#/components/responses/Forbidden'
-      '404':
-        $ref: 'components.yml#/components/responses/NotFound'
-
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
   delete:
     description: Delete an anchor given an anchor name and a dataspace
     tags:
@@ -219,4 +229,6 @@ anchorByDataspaceAndAnchorName:
       '401':
         $ref: 'components.yml#/components/responses/Unauthorized'
       '403':
-        $ref: 'components.yml#/components/responses/Forbidden'
\ No newline at end of file
+        $ref: 'components.yml#/components/responses/Forbidden'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
\ No newline at end of file
index 15f8a1c..099512d 100644 (file)
@@ -1,5 +1,6 @@
 # ============LICENSE_START=======================================================
 # Copyright (c) 2021 Bell Canada.
+# Modifications Copyright (C) 2021-2022 Nordix Foundation
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -44,8 +45,8 @@ nodeByDataspaceAndAnchor:
         $ref: 'components.yml#/components/responses/Unauthorized'
       '403':
         $ref: 'components.yml#/components/responses/Forbidden'
-      '404':
-        $ref: 'components.yml#/components/responses/NotFound'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
     x-codegen-request-body-name: xpath
 
 listElementByDataspaceAndAnchor:
@@ -78,7 +79,8 @@ listElementByDataspaceAndAnchor:
         $ref: 'components.yml#/components/responses/Unauthorized'
       '403':
         $ref: 'components.yml#/components/responses/Forbidden'
-
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
   put:
     description: Replace list content under a given parent, anchor and dataspace
     tags:
@@ -108,7 +110,8 @@ listElementByDataspaceAndAnchor:
         $ref: 'components.yml#/components/responses/Unauthorized'
       '403':
         $ref: 'components.yml#/components/responses/Forbidden'
-
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
   delete:
     description: Delete one or all list element(s) for a given anchor and dataspace
     deprecated: true
@@ -130,6 +133,8 @@ listElementByDataspaceAndAnchor:
         $ref: 'components.yml#/components/responses/Unauthorized'
       '403':
         $ref: 'components.yml#/components/responses/Forbidden'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
 
 nodesByDataspaceAndAnchor:
   post:
@@ -161,7 +166,10 @@ nodesByDataspaceAndAnchor:
         $ref: 'components.yml#/components/responses/Unauthorized'
       '403':
         $ref: 'components.yml#/components/responses/Forbidden'
-
+      '409':
+        $ref: 'components.yml#/components/responses/Conflict'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
   patch:
     description: Update a data node leaves for a given dataspace and anchor and a parent node xpath
     tags:
@@ -191,7 +199,8 @@ nodesByDataspaceAndAnchor:
         $ref: 'components.yml#/components/responses/Unauthorized'
       '403':
         $ref: 'components.yml#/components/responses/Forbidden'
-
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
   delete:
     description: Delete a datanode for a given dataspace and anchor given a node xpath.
     tags:
@@ -212,8 +221,8 @@ nodesByDataspaceAndAnchor:
         $ref: 'components.yml#/components/responses/Unauthorized'
       '403':
         $ref: 'components.yml#/components/responses/Forbidden'
-
-
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
   put:
     description: Replace a node with descendants for a given dataspace, anchor and a parent node xpath
     tags:
@@ -243,3 +252,5 @@ nodesByDataspaceAndAnchor:
         $ref: 'components.yml#/components/responses/Unauthorized'
       '403':
         $ref: 'components.yml#/components/responses/Forbidden'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
index 4f938aa..06c9ca2 100644 (file)
@@ -1,5 +1,6 @@
 #  ============LICENSE_START=======================================================
 #  Copyright (C) 2021 Nordix Foundation
+#  Copyright (C) 2021-2022 Nordix Foundation
 #  ================================================================================
 #  Licensed under the Apache License, Version 2.0 (the "License");
 #  you may not use this file except in compliance with the License.
@@ -44,6 +45,6 @@ nodesByDataspaceAndAnchorAndCpsPath:
         $ref: 'components.yml#/components/responses/Unauthorized'
       '403':
         $ref: 'components.yml#/components/responses/Forbidden'
-      '404':
-        $ref: 'components.yml#/components/responses/NotFound'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
     x-codegen-request-body-name: xpath