Improving code-coverage for the Handle non transient policy deletion bug fix - master 62/138762/1
authorraviteja.karumuri <raviteja.karumuri@est.tech>
Thu, 15 Aug 2024 11:43:04 +0000 (12:43 +0100)
committerraviteja.karumuri <raviteja.karumuri@est.tech>
Thu, 15 Aug 2024 12:04:04 +0000 (13:04 +0100)
Issue-ID: CCSDK-4047
Change-Id: Ia9afe1e566d8d76eb56eb49f3184c94c6915e8df
Signed-off-by: Raviteja Karumuri <raviteja.karumuri@est.tech>
a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ServiceController.java
a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ApplicationTest.java

index 09dfe44..1b88578 100644 (file)
@@ -138,7 +138,7 @@ public class ServiceController implements ServiceRegistryAndSupervisionApi {
             Service service = removeService(serviceId);
             removePolicies(service, exchange);
             return Mono.just(new ResponseEntity<>(HttpStatus.NO_CONTENT));
-        } catch (ServiceException | NullPointerException e) {
+        } catch (ServiceException e) {
             logger.warn("Exception caught during service deletion while deleting service {}: {}", serviceId,
                     e.getMessage());
             return ErrorResponse.createMono(e, HttpStatus.NOT_FOUND);
index 69ee12b..0519c2d 100644 (file)
@@ -956,6 +956,7 @@ class ApplicationTest {
         assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.OK);
 
         // DELETE service
+        addPolicy("id1", "type1", serviceName);
         assertThat(services.size()).isEqualTo(1);
         url = "/services/" + serviceName;
         restClient().delete(url).block();
@@ -976,6 +977,32 @@ class ApplicationTest {
         testErrorCode(restClient().get("/services?service_id=XXX"), HttpStatus.NOT_FOUND);
     }
 
+    @Test
+    @DisplayName("test delete Service with no authorization")
+    void testDeleteServiceWithNoAuth() throws Exception {
+        // PUT service
+        String serviceName = "ac.dc";
+        putService(serviceName, 0, HttpStatus.CREATED);
+
+        // No Authorization to Delete
+        this.applicationConfig
+                .setAuthProviderUrl(baseUrl() + OpenPolicyAgentSimulatorController.ACCESS_CONTROL_URL_REJECT);
+        addPolicy("id1", "type1", serviceName);
+        assertThat(services.size()).isEqualTo(1);
+        String url = "/services/" + serviceName;
+        restClient().delete(url).block();
+        assertThat(services.size()).isZero();
+        assertThat(policies.size()).isEqualTo(1);
+        testErrorCode(restClient().get("/policies/id1"), HttpStatus.UNAUTHORIZED);
+    }
+
+    @Test
+    @DisplayName("test delete Service with no service")
+    void testDeleteServiceWithNoService() {
+        String url = "/services/" + "NoService";
+        testErrorCode(restClient().delete(url), HttpStatus.NOT_FOUND);
+    }
+
     @Test
     @DisplayName("test Service Supervision")
     void testServiceSupervision() throws Exception {