import org.drools.core.WorkingMemory;
 import org.junit.Before;
 import org.junit.Test;
+import org.junit.rules.ExpectedException;
 import org.kie.api.runtime.rule.FactHandle;
 import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
 
         // invalid
         event.setTarget("unknown-target");
-        assertThatThrownBy(() -> new ControlLoopEventManager2(params, event, workMem));
+        assertThatThrownBy(() -> new ControlLoopEventManager2(params, event, workMem))
+                        .isInstanceOf(ControlLoopException.class);
     }
 
     /**
         Map<String, String> orig = event.getAai();
 
         event.setAai(addAai(orig, ControlLoopEventManager2.VSERVER_IS_CLOSED_LOOP_DISABLED, "true"));
-        assertThatThrownBy(() -> new ControlLoopEventManager2(params, event, workMem));
+        assertThatThrownBy(() -> new ControlLoopEventManager2(params, event, workMem))
+                        .isInstanceOf(IllegalStateException.class);
 
         event.setAai(addAai(orig, ControlLoopEventManager2.GENERIC_VNF_IS_CLOSED_LOOP_DISABLED, "true"));
-        assertThatThrownBy(() -> new ControlLoopEventManager2(params, event, workMem));
+        assertThatThrownBy(() -> new ControlLoopEventManager2(params, event, workMem))
+                        .isInstanceOf(IllegalStateException.class);
 
         event.setAai(addAai(orig, ControlLoopEventManager2.PNF_IS_IN_MAINT, "true"));
-        assertThatThrownBy(() -> new ControlLoopEventManager2(params, event, workMem));
+        assertThatThrownBy(() -> new ControlLoopEventManager2(params, event, workMem))
+                        .isInstanceOf(IllegalStateException.class);
     }
 
     private Map<String, String> addAai(Map<String, String> original, String key, String value) {
         assertThatCode(() -> new ControlLoopEventManager2(params, event, workMem)).doesNotThrowAnyException();
 
         event.setAai(addAai(orig, ControlLoopEventManager2.VSERVER_PROV_STATUS, "inactive"));
-        assertThatThrownBy(() -> new ControlLoopEventManager2(params, event, workMem));
+        assertThatThrownBy(() -> new ControlLoopEventManager2(params, event, workMem))
+                        .isInstanceOf(IllegalStateException.class);
 
         event.setAai(addAai(orig, ControlLoopEventManager2.GENERIC_VNF_PROV_STATUS, "ACTIVE"));
         assertThatCode(() -> new ControlLoopEventManager2(params, event, workMem)).doesNotThrowAnyException();
-
+ 
         event.setAai(addAai(orig, ControlLoopEventManager2.GENERIC_VNF_PROV_STATUS, "inactive"));
-        assertThatThrownBy(() -> new ControlLoopEventManager2(params, event, workMem));
+        assertThatThrownBy(() -> new ControlLoopEventManager2(params, event, workMem))
+                        .isInstanceOf(IllegalStateException.class);
     }
 
     @Test
 
         for (String value : Arrays.asList("yes", "y", "true", "t", "yEs", "trUe")) {
             event.setAai(addAai(orig, ControlLoopEventManager2.VSERVER_IS_CLOSED_LOOP_DISABLED, value));
-            assertThatThrownBy(() -> new ControlLoopEventManager2(params, event, workMem));
+            assertThatThrownBy(() -> new ControlLoopEventManager2(params, event, workMem))
+                            .isInstanceOf(IllegalStateException.class);
         }
 
         event.setAai(addAai(orig, ControlLoopEventManager2.VSERVER_IS_CLOSED_LOOP_DISABLED, "false"));