Improving code-coverage for the Handle non transient policy deletion bug fix - montreal 67/138767/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 14:29:43 +0000 (15:29 +0100)
Issue-ID: CCSDK-4049
Change-Id: Ia47d9ea46bc87d491fe9976a52b81764910aef5b
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 58b87c6..4d5a9ba 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 2ff4416..daa3a1d 100644 (file)
@@ -964,6 +964,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();
@@ -984,6 +985,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 {