diff options
Diffstat (limited to 'controlloop/common')
66 files changed, 1406 insertions, 1592 deletions
diff --git a/controlloop/common/controller-usecases/pom.xml b/controlloop/common/controller-usecases/pom.xml index cbff5b626..7cb1fe1e6 100644 --- a/controlloop/common/controller-usecases/pom.xml +++ b/controlloop/common/controller-usecases/pom.xml @@ -20,13 +20,14 @@ ============LICENSE_END========================================================= --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.onap.policy.drools-applications.controlloop.common</groupId> <artifactId>drools-applications-common</artifactId> - <version>2.0.0-SNAPSHOT</version> + <version>2.0.1-SNAPSHOT</version> </parent> <artifactId>controller-usecases</artifactId> @@ -40,6 +41,7 @@ <plugin> <groupId>org.kie</groupId> <artifactId>kie-maven-plugin</artifactId> + <version>${version.drools}</version> <extensions>true</extensions> </plugin> </plugins> @@ -195,6 +197,15 @@ <artifactId>h2</artifactId> <scope>test</scope> </dependency> + <dependency> + <groupId>org.hibernate.orm</groupId> + <artifactId>hibernate-core</artifactId> + </dependency> + <dependency> + <groupId>org.drools</groupId> + <artifactId>drools-model-compiler</artifactId> + <version>${version.drools}</version> + </dependency> </dependencies> <profiles> @@ -231,7 +242,7 @@ </goals> </pluginExecutionFilter> <action> - <ignore /> + <ignore/> </action> </pluginExecution> </pluginExecutions> diff --git a/controlloop/common/controller-usecases/src/main/java/org/onap/policy/drools/apps/controller/usecases/UsecasesEventManager.java b/controlloop/common/controller-usecases/src/main/java/org/onap/policy/drools/apps/controller/usecases/UsecasesEventManager.java index 4d2dfa303..8d09b1c40 100644 --- a/controlloop/common/controller-usecases/src/main/java/org/onap/policy/drools/apps/controller/usecases/UsecasesEventManager.java +++ b/controlloop/common/controller-usecases/src/main/java/org/onap/policy/drools/apps/controller/usecases/UsecasesEventManager.java @@ -252,8 +252,7 @@ public class UsecasesEventManager extends ClEventManagerWithEvent<Step2> impleme throw new ControlLoopException("The Target type is null"); } switch (event.getTargetType()) { - case VM: - case VNF: + case VM, VNF: validateAaiVmVnfData(eventAai); return; case PNF: diff --git a/controlloop/common/controller-usecases/src/main/resources/usecases.drl b/controlloop/common/controller-usecases/src/main/resources/usecases.drl index 0e1f7de66..c10b8d0c9 100644 --- a/controlloop/common/controller-usecases/src/main/resources/usecases.drl +++ b/controlloop/common/controller-usecases/src/main/resources/usecases.drl @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020-2022 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -60,7 +61,7 @@ rule "CREATE.EVENT.SERVICES" not (EventManagerServices()) then - Logger logger = LoggerFactory.getLogger(drools.getRule().getPackage()); + Logger logger = LoggerFactory.getLogger(drools.getRule().getPackageName()); logger.info("{}", drools.getRule().getName()); try { @@ -81,7 +82,7 @@ rule "INSERT.PARAMS" $params : ControlLoopParams() then - Logger logger = LoggerFactory.getLogger(drools.getRule().getPackage()); + Logger logger = LoggerFactory.getLogger(drools.getRule().getPackageName()); logger.info("{}: {} : TOSCA-POLICY=[{}]", $params.getClosedLoopControlName(), $params.getPolicyName() + "." + drools.getRule().getName(), $params.getToscaPolicy()); end @@ -96,7 +97,7 @@ rule "NEW.TOSCA.POLICY" $policy : ToscaPolicy() then - Logger logger = LoggerFactory.getLogger(drools.getRule().getPackage()); + Logger logger = LoggerFactory.getLogger(drools.getRule().getPackageName()); logger.info("{}: [{}|{}|{}|{}]: CONTENT: {}", drools.getRule().getName(), $policy.getType(), $policy.getTypeVersion(), $policy.getName(), $policy.getVersion(), $policy); @@ -116,7 +117,7 @@ rule "REMOVE.PARAMS" not ( ToscaPolicy( getName() == $policyName, getVersion() == $policyVersion ) ) then - Logger logger = LoggerFactory.getLogger(drools.getRule().getPackage()); + Logger logger = LoggerFactory.getLogger(drools.getRule().getPackageName()); logger.info("{}: [{}|{}|{}]", drools.getRule().getName(), $params.getPolicyScope(), $params.getPolicyName(), $params.getPolicyVersion()); @@ -138,7 +139,7 @@ rule "EVENT" getEvent() == $event ) ) then - Logger logger = LoggerFactory.getLogger(drools.getRule().getPackage()); + Logger logger = LoggerFactory.getLogger(drools.getRule().getPackageName()); logger.info("{}: {}.{}: event={}", $clName, $params.getPolicyName(), drools.getRule().getName(), $event); @@ -231,7 +232,7 @@ rule "EVENT.MANAGER.NEW.EVENT" getEvent() == $event ) then - Logger logger = LoggerFactory.getLogger(drools.getRule().getPackage()); + Logger logger = LoggerFactory.getLogger(drools.getRule().getPackageName()); logger.info("{}: {}.{}: event={} manager={}", $manager.getClosedLoopControlName(), $manager.getPolicyName(), drools.getRule().getName(), $event, $manager); @@ -286,7 +287,7 @@ rule "EVENT.MANAGER.LOAD.NEXT.POLICY" getSteps().isEmpty() ) then - Logger logger = LoggerFactory.getLogger(drools.getRule().getPackage()); + Logger logger = LoggerFactory.getLogger(drools.getRule().getPackageName()); logger.info("{}: {}.{}: manager={}", $manager.getClosedLoopControlName(), $manager.getPolicyName(), drools.getRule().getName(), $manager); @@ -324,7 +325,7 @@ rule "EVENT.MANAGER.PREPROCESS" !$step.isPreprocessed() ) then - Logger logger = LoggerFactory.getLogger(drools.getRule().getPackage()); + Logger logger = LoggerFactory.getLogger(drools.getRule().getPackageName()); logger.info("{}: {}.{}: {} manager={}", $manager.getClosedLoopControlName(), $manager.getPolicyName(), drools.getRule().getName(), $step, $manager); @@ -368,7 +369,7 @@ rule "EVENT.MANAGER.ACCEPT" $step.acceptsEvent() ) then - Logger logger = LoggerFactory.getLogger(drools.getRule().getPackage()); + Logger logger = LoggerFactory.getLogger(drools.getRule().getPackageName()); logger.info("{}: {}.{}: manager={}", $manager.getClosedLoopControlName(), $manager.getPolicyName(), drools.getRule().getName(), $step, $manager); @@ -408,7 +409,7 @@ rule "EVENT.MANAGER.EXECUTE.STEP" $step.isPreprocessed() ) then - Logger logger = LoggerFactory.getLogger(drools.getRule().getPackage()); + Logger logger = LoggerFactory.getLogger(drools.getRule().getPackageName()); logger.info("{}: {}.{}: {} manager={}", $manager.getClosedLoopControlName(), $manager.getPolicyName(), drools.getRule().getName(), $step, $manager); @@ -470,7 +471,7 @@ rule "EVENT.MANAGER.GENERATE.SDNR.NOTIFICATION" $outcome.isFor("SDNR", $step.getOperationName()) ) then - Logger logger = LoggerFactory.getLogger(drools.getRule().getPackage()); + Logger logger = LoggerFactory.getLogger(drools.getRule().getPackageName()); logger.info("{}: {}.{}: {} manager={}", $manager.getClosedLoopControlName(), $manager.getPolicyName(), drools.getRule().getName(), $step, $manager); @@ -506,7 +507,7 @@ rule "EVENT.MANAGER.PROCESS.GUARD.OUTCOME" $outcome.isFor($step.getActorName(), $step.getOperationName()) ) then - Logger logger = LoggerFactory.getLogger(drools.getRule().getPackage()); + Logger logger = LoggerFactory.getLogger(drools.getRule().getPackageName()); logger.info("{}: {}.{}: {} manager={}", $manager.getClosedLoopControlName(), $manager.getPolicyName(), drools.getRule().getName(), $step, $manager); @@ -562,7 +563,7 @@ rule "EVENT.MANAGER.PROCESS.POLICY.STARTED" $outcome.isFor($step.getActorName(), $step.getOperationName()) ) then - Logger logger = LoggerFactory.getLogger(drools.getRule().getPackage()); + Logger logger = LoggerFactory.getLogger(drools.getRule().getPackageName()); logger.info("{}: {}.{}: {} manager={}", $manager.getClosedLoopControlName(), $manager.getPolicyName(), drools.getRule().getName(), $step, $manager); @@ -614,7 +615,7 @@ rule "EVENT.MANAGER.PROCESS.PREPROCESSOR.STARTED" $outcome.isFor($step.getActorName(), $step.getOperationName()) ) then - Logger logger = LoggerFactory.getLogger(drools.getRule().getPackage()); + Logger logger = LoggerFactory.getLogger(drools.getRule().getPackageName()); logger.info("{}: {}.{}: {} manager={}", $manager.getClosedLoopControlName(), $manager.getPolicyName(), drools.getRule().getName(), $step, $manager); @@ -654,7 +655,7 @@ rule "EVENT.MANAGER.PROCESS.POLICY.SUCCESS" $outcome.isFor($step.getActorName(), $step.getOperationName()) ) then - Logger logger = LoggerFactory.getLogger(drools.getRule().getPackage()); + Logger logger = LoggerFactory.getLogger(drools.getRule().getPackageName()); logger.info("{}: {}.{}: {} manager={}", $manager.getClosedLoopControlName(), $manager.getPolicyName(), drools.getRule().getName(), $step, $manager); @@ -715,7 +716,7 @@ rule "EVENT.MANAGER.PROCESS.FINAL.FAILURE.ACCEPTED" $step : getSteps().peek() ) then - Logger logger = LoggerFactory.getLogger(drools.getRule().getPackage()); + Logger logger = LoggerFactory.getLogger(drools.getRule().getPackageName()); logger.info("{}: {}.{}: {} manager={}", $manager.getClosedLoopControlName(), $manager.getPolicyName(), drools.getRule().getName(), $step, $manager); @@ -740,7 +741,7 @@ rule "EVENT.MANAGER.PROCESS.FINAL.FAILURE.ACCEPTED" notification.setPolicyName($manager.getPolicyName()); notification.setPolicyVersion($manager.getPolicyVersion()); notification.setHistory($manager.getPartialHistory().stream().map(OperationOutcome2::getClOperation) - .collect(Collectors.toList())); + .toList()); // trigger move to the next policy - clear all steps $manager.getSteps().clear(); @@ -780,7 +781,7 @@ rule "EVENT.MANAGER.PROCESS.FINAL.FAILURE.REJECTED" $step : getSteps().peek() ) then - Logger logger = LoggerFactory.getLogger(drools.getRule().getPackage()); + Logger logger = LoggerFactory.getLogger(drools.getRule().getPackageName()); logger.info("{}: {}.{}: {} manager={}", $manager.getClosedLoopControlName(), $manager.getPolicyName(), drools.getRule().getName(), $step, $manager); @@ -799,7 +800,7 @@ rule "EVENT.MANAGER.PROCESS.FINAL.FAILURE.REJECTED" notification.setPolicyName($manager.getPolicyName()); notification.setPolicyVersion($manager.getPolicyVersion()); notification.setHistory($manager.getPartialHistory().stream().map(OperationOutcome2::getClOperation) - .collect(Collectors.toList())); + .toList()); $manager.deliver("POLICY-CL-MGT", notification, "notification", drools.getRule().getName()); @@ -834,7 +835,7 @@ rule "EVENT.MANAGER.PROCESS.POLICY.FAILURE" $outcome.isFor($step.getActorName(), $step.getOperationName()) ) then - Logger logger = LoggerFactory.getLogger(drools.getRule().getPackage()); + Logger logger = LoggerFactory.getLogger(drools.getRule().getPackageName()); logger.info("{}: {}.{}: {} manager={}", $manager.getClosedLoopControlName(), $manager.getPolicyName(), drools.getRule().getName(), $step, $manager); @@ -883,7 +884,7 @@ rule "EVENT.MANAGER.DISCARD.OUTCOME" $step : getSteps().peek() ) then - Logger logger = LoggerFactory.getLogger(drools.getRule().getPackage()); + Logger logger = LoggerFactory.getLogger(drools.getRule().getPackageName()); logger.info("{}: {}.{}: {} {} manager={}", $manager.getClosedLoopControlName(), $manager.getPolicyName(), drools.getRule().getName(), $step, $outcome.getResult(), $manager); @@ -931,7 +932,7 @@ rule "EVENT.MANAGER.ABORT" $step : getSteps().peek() ) then - Logger logger = LoggerFactory.getLogger(drools.getRule().getPackage()); + Logger logger = LoggerFactory.getLogger(drools.getRule().getPackageName()); logger.info("{}: {}.{}: {} manager={}", $manager.getClosedLoopControlName(), $manager.getPolicyName(), drools.getRule().getName(), $step, $manager); @@ -990,7 +991,7 @@ rule "EVENT.MANAGER.FINAL" !isActive() || getState() == State.DONE ) then - Logger logger = LoggerFactory.getLogger(drools.getRule().getPackage()); + Logger logger = LoggerFactory.getLogger(drools.getRule().getPackageName()); logger.info("{}: {}.{}: manager={}", $manager.getClosedLoopControlName(), $manager.getPolicyName(), drools.getRule().getName(), $manager); @@ -1003,7 +1004,7 @@ rule "EVENT.MANAGER.FINAL" notification.setPolicyName($manager.getPolicyName()); notification.setPolicyVersion($manager.getPolicyVersion()); notification.setHistory($manager.getFullHistory().stream().map(OperationOutcome2::getClOperation) - .collect(Collectors.toList())); + .toList()); OperationFinalResult finalResult = $manager.getFinalResult(); if (finalResult == null) { @@ -1054,7 +1055,7 @@ rule "EVENT.CLEANUP" $event : VirtualControlLoopEvent( $clName: closedLoopControlName ) then - Logger logger = LoggerFactory.getLogger(drools.getRule().getPackage()); + Logger logger = LoggerFactory.getLogger(drools.getRule().getPackageName()); logger.info("{}: {}", $clName, drools.getRule().getName()); logger.debug("{}: {}: orphan event={}", $clName, drools.getRule().getName(), $event); diff --git a/controlloop/common/controller-usecases/src/test/java/org/onap/policy/controlloop/UsecasesTest.java b/controlloop/common/controller-usecases/src/test/java/org/onap/policy/controlloop/UsecasesTest.java index 5077f8fb8..625a1a0f1 100644 --- a/controlloop/common/controller-usecases/src/test/java/org/onap/policy/controlloop/UsecasesTest.java +++ b/controlloop/common/controller-usecases/src/test/java/org/onap/policy/controlloop/UsecasesTest.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020-2022 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,11 +21,11 @@ package org.onap.policy.controlloop; -import org.junit.After; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.extension.ExtendWith; import org.onap.policy.controlloop.common.rules.test.DroolsRuleTest; import org.onap.policy.controlloop.common.rules.test.Listener; import org.onap.policy.controlloop.common.rules.test.NamedRunner; @@ -39,17 +40,16 @@ import org.onap.policy.simulators.Util; * <p/> * Note: this runs ALL tests (i.e., any whose names start with "test"). */ -@RunWith(NamedRunner.class) +@ExtendWith(NamedRunner.class) @TestNames(prefixes = {"test"}) - -public class UsecasesTest extends DroolsRuleTest { +class UsecasesTest extends DroolsRuleTest { protected static final String CONTROLLER_NAME = "usecases"; /** * Sets up statics. */ - @BeforeClass + @BeforeAll public static void setUpBeforeClass() { initStatics(CONTROLLER_NAME); @@ -64,7 +64,7 @@ public class UsecasesTest extends DroolsRuleTest { /** * Cleans up statics. */ - @AfterClass + @AfterAll public static void tearDownAfterClass() { finishStatics(); } @@ -72,7 +72,7 @@ public class UsecasesTest extends DroolsRuleTest { /** * Sets up. */ - @Before + @BeforeEach public void setUp() { init(); } @@ -80,7 +80,7 @@ public class UsecasesTest extends DroolsRuleTest { /** * Tears down. */ - @After + @AfterEach public void tearDown() { finish(); } diff --git a/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/GetTargetEntityOperation2Test.java b/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/GetTargetEntityOperation2Test.java index efb7e74d3..d4dbbe271 100644 --- a/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/GetTargetEntityOperation2Test.java +++ b/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/GetTargetEntityOperation2Test.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,20 +24,18 @@ package org.onap.policy.drools.apps.controller.usecases; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import java.util.List; import java.util.Map; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.onap.aai.domain.yang.GenericVnf; import org.onap.policy.controlloop.VirtualControlLoopEvent; import org.onap.policy.controlloop.actorserviceprovider.OperationProperties; @@ -44,8 +43,7 @@ import org.onap.policy.controlloop.actorserviceprovider.TargetType; import org.onap.policy.controlloop.actorserviceprovider.parameters.ControlLoopOperationParams; import org.onap.policy.controlloop.eventmanager.StepContext; -@RunWith(MockitoJUnitRunner.class) -public class GetTargetEntityOperation2Test { +class GetTargetEntityOperation2Test { private static final String GENERIC_VNF_ID = "generic-vnf.vnf-id"; private static final String VSERVER_NAME = "vserver.vserver-name"; private static final String GENERIC_VNF_NAME = "generic-vnf.vnf-name"; @@ -54,10 +52,8 @@ public class GetTargetEntityOperation2Test { private static final String MY_ACTOR = "my-actor"; private static final String MY_OPERATION = "my-operation"; - @Mock - private StepContext stepContext; - @Mock - private ControlLoopOperationParams params; + private final StepContext stepContext = mock(StepContext.class); + private final ControlLoopOperationParams params = mock(ControlLoopOperationParams.class); private VirtualControlLoopEvent event; private GenericVnf vnf; @@ -66,7 +62,7 @@ public class GetTargetEntityOperation2Test { /** * Sets up. */ - @Before + @BeforeEach public void setUp() { event = new VirtualControlLoopEvent(); event.setTarget("pnf.pnf-name"); @@ -83,7 +79,7 @@ public class GetTargetEntityOperation2Test { } @Test - public void testGetPropertyNames() { + void testGetPropertyNames() { // already have the data - no properties needed assertThat(oper.getPropertyNames()).isEmpty(); @@ -97,7 +93,7 @@ public class GetTargetEntityOperation2Test { } @Test - public void testStart() { + void testStart() { assertThatThrownBy(() -> oper.start()).isInstanceOf(UnsupportedOperationException.class) .hasMessage("cannot start get-target-entity operation"); } @@ -106,7 +102,7 @@ public class GetTargetEntityOperation2Test { * Tests detmTarget() when the target has already been determined. */ @Test - public void testDetmTargetRepeat() { + void testDetmTargetRepeat() { remakeWithoutData(); assertFalse(oper.getPropertyNames().isEmpty()); @@ -122,7 +118,7 @@ public class GetTargetEntityOperation2Test { * Tests detmTarget() when the target type is {@code null}. */ @Test - public void testDetmTargetNullType() { + void testDetmTargetNullType() { remakeWithoutData(); when(params.getTargetType()).thenReturn(null); @@ -134,7 +130,7 @@ public class GetTargetEntityOperation2Test { * Tests detmTarget() when the target type is VM and enrichment data is provided. */ @Test - public void testDetmTargetVm() { + void testDetmTargetVm() { when(params.getTargetType()).thenReturn(TargetType.VM); enrichTarget(VSERVER_NAME); assertThat(oper.getPropertyNames()).isEmpty(); @@ -145,7 +141,7 @@ public class GetTargetEntityOperation2Test { * Tests detmTarget() when the target type is VNF and enrichment data is provided. */ @Test - public void testDetmTargetVnf() { + void testDetmTargetVnf() { when(params.getTargetType()).thenReturn(TargetType.VNF); enrichTarget(VSERVER_NAME); assertThat(oper.getPropertyNames()).isEmpty(); @@ -157,7 +153,7 @@ public class GetTargetEntityOperation2Test { * provided. */ @Test - public void testDetmTargetVfModule() { + void testDetmTargetVfModule() { when(params.getTargetType()).thenReturn(TargetType.VFMODULE); enrichTarget(VSERVER_NAME); assertThat(oper.getPropertyNames()).isEmpty(); @@ -168,7 +164,7 @@ public class GetTargetEntityOperation2Test { * Tests detmTarget() when the target type is unknown. */ @Test - public void testDetmTargetUnknownType() { + void testDetmTargetUnknownType() { when(params.getTargetType()).thenReturn(TargetType.VFC); enrichTarget(VSERVER_NAME); assertThatIllegalArgumentException().isThrownBy(() -> oper.getPropertyNames()) @@ -176,7 +172,7 @@ public class GetTargetEntityOperation2Test { } @Test - public void testDetmPnfTargetPnf() { + void testDetmPnfTargetPnf() { assertThat(oper.getPropertyNames()).isEmpty(); verifyTarget(MY_PNF); } @@ -185,7 +181,7 @@ public class GetTargetEntityOperation2Test { * Tests detmPnfTarget() when the target name is incorrect. */ @Test - public void testDetmPnfTargetInvalidName() { + void testDetmPnfTargetInvalidName() { event.setTarget("unknown-pnf"); assertThatIllegalArgumentException().isThrownBy(() -> oper.getPropertyNames()) .withMessage("Target does not match target type"); @@ -195,7 +191,7 @@ public class GetTargetEntityOperation2Test { * Tests detmPnfTarget() when the enrichment data is missing. */ @Test - public void testDetmPnfTargetPnfNoEnrichment() { + void testDetmPnfTargetPnfNoEnrichment() { event.setAai(Map.of()); assertThatIllegalArgumentException().isThrownBy(() -> oper.getPropertyNames()) .withMessage("AAI section is missing pnf.pnf-name"); @@ -205,7 +201,7 @@ public class GetTargetEntityOperation2Test { * Tests detmVfModuleTarget() when the target is null. */ @Test - public void testDetmVfModuleTargetNullTarget() { + void testDetmVfModuleTargetNullTarget() { when(params.getTargetType()).thenReturn(TargetType.VM); event.setTarget(null); assertThatIllegalArgumentException().isThrownBy(() -> oper.getPropertyNames()).withMessage("Target is null"); @@ -215,7 +211,7 @@ public class GetTargetEntityOperation2Test { * Tests detmVfModuleTarget() when the target is the vserver name. */ @Test - public void testDetmVfModuleTargetVserverName() { + void testDetmVfModuleTargetVserverName() { when(params.getTargetType()).thenReturn(TargetType.VM); enrichTarget(VSERVER_NAME); assertThat(oper.getPropertyNames()).isEmpty(); @@ -226,7 +222,7 @@ public class GetTargetEntityOperation2Test { * Tests detmVfModuleTarget() when the target is the VNF ID. */ @Test - public void testDetmVfModuleTargetVnfId() { + void testDetmVfModuleTargetVnfId() { when(params.getTargetType()).thenReturn(TargetType.VM); enrichTarget(GENERIC_VNF_ID); assertThat(oper.getPropertyNames()).isEmpty(); @@ -238,7 +234,7 @@ public class GetTargetEntityOperation2Test { * data is actually stored in the VNF ID field. */ @Test - public void testDetmVfModuleTargetVnfName() { + void testDetmVfModuleTargetVnfName() { when(params.getTargetType()).thenReturn(TargetType.VM); enrichTarget(GENERIC_VNF_ID); @@ -253,7 +249,7 @@ public class GetTargetEntityOperation2Test { * Tests detmVfModuleTarget() when the target is unknown. */ @Test - public void testDetmVfModuleTargetUnknown() { + void testDetmVfModuleTargetUnknown() { when(params.getTargetType()).thenReturn(TargetType.VM); enrichTarget(VSERVER_NAME); event.setTarget("unknown-vnf"); @@ -265,7 +261,7 @@ public class GetTargetEntityOperation2Test { * Tests detmVfModuleTarget() when the enrichment data is missing. */ @Test - public void testDetmVfModuleTargetMissingEnrichment() { + void testDetmVfModuleTargetMissingEnrichment() { when(params.getTargetType()).thenReturn(TargetType.VM); event.setTarget(VSERVER_NAME); assertThatIllegalArgumentException().isThrownBy(() -> oper.getPropertyNames()) @@ -276,7 +272,7 @@ public class GetTargetEntityOperation2Test { * Tests detmVnfName() when enrichment data is available. */ @Test - public void testDetmVnfNameHaveData() { + void testDetmVnfNameHaveData() { when(params.getTargetType()).thenReturn(TargetType.VM); event.setTarget(GENERIC_VNF_NAME); event.setAai(Map.of(GENERIC_VNF_ID, MY_VNF)); @@ -288,14 +284,14 @@ public class GetTargetEntityOperation2Test { * Tests detmVnfName() when enrichment data is missing. */ @Test - public void testDetmVnfNameNoData() { + void testDetmVnfNameNoData() { when(params.getTargetType()).thenReturn(TargetType.VM); event.setTarget(GENERIC_VNF_NAME); assertThat(oper.getPropertyNames()).isEqualTo(List.of(UsecasesConstants.AAI_DEFAULT_GENERIC_VNF)); } @Test - public void testSetProperty() { + void testSetProperty() { event.setTarget(GENERIC_VNF_NAME); // not a property of interest - should be ignored @@ -308,7 +304,7 @@ public class GetTargetEntityOperation2Test { } @Test - public void testGetActorName_testGetName() { + void testGetActorName_testGetName() { assertEquals(MY_ACTOR, oper.getActorName()); assertEquals(MY_OPERATION, oper.getName()); } diff --git a/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/LockOperation2Test.java b/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/LockOperation2Test.java index 3208d4c53..f0348ac9a 100644 --- a/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/LockOperation2Test.java +++ b/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/LockOperation2Test.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,20 +23,18 @@ package org.onap.policy.drools.apps.controller.usecases; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatIllegalStateException; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertSame; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertSame; import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import java.util.List; import java.util.Map; import java.util.concurrent.CompletableFuture; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.onap.aai.domain.yang.GenericVnf; import org.onap.policy.controlloop.VirtualControlLoopEvent; import org.onap.policy.controlloop.actorserviceprovider.OperationOutcome; @@ -43,17 +42,14 @@ import org.onap.policy.controlloop.actorserviceprovider.OperationProperties; import org.onap.policy.controlloop.actorserviceprovider.parameters.ControlLoopOperationParams; import org.onap.policy.controlloop.eventmanager.StepContext; -@RunWith(MockitoJUnitRunner.class) -public class LockOperation2Test { +class LockOperation2Test { private static final String MY_PNF = "my-pnf"; private static final String MY_VNF = "my-vnf"; private static final String MY_ACTOR = "my-actor"; private static final String MY_OPERATION = "my-operation"; - @Mock - private StepContext stepContext; - @Mock - private ControlLoopOperationParams params; + private final StepContext stepContext = mock(StepContext.class); + private final ControlLoopOperationParams params = mock(ControlLoopOperationParams.class); private VirtualControlLoopEvent event; private CompletableFuture<OperationOutcome> future; @@ -63,7 +59,7 @@ public class LockOperation2Test { /** * Sets up. */ - @Before + @BeforeEach public void setUp() { event = new VirtualControlLoopEvent(); event.setTarget("pnf.pnf-name"); @@ -83,12 +79,12 @@ public class LockOperation2Test { } @Test - public void testGetPropertyNames() { + void testGetPropertyNames() { assertThat(oper.getPropertyNames()).isEqualTo(List.of(OperationProperties.AAI_TARGET_ENTITY)); } @Test - public void testStart() { + void testStart() { // missing data assertThatIllegalStateException().isThrownBy(() -> oper.start()) .withMessage("target lock entity has not been determined yet"); @@ -98,7 +94,7 @@ public class LockOperation2Test { } @Test - public void testSetProperty() { + void testSetProperty() { oper.setProperty("unknown-property", "some data"); assertNull(oper.getTargetEntity()); @@ -107,7 +103,7 @@ public class LockOperation2Test { } @Test - public void testGetActorName_testGetName() { + void testGetActorName_testGetName() { assertEquals(MY_ACTOR, oper.getActorName()); assertEquals(MY_OPERATION, oper.getName()); } diff --git a/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/UsecasesEventManagerTest.java b/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/UsecasesEventManagerTest.java index 07d168a05..3b6463819 100644 --- a/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/UsecasesEventManagerTest.java +++ b/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/UsecasesEventManagerTest.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020-2021, 2023 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,19 +24,19 @@ package org.onap.policy.drools.apps.controller.usecases; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatCode; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertSame; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import java.time.Instant; import java.util.ArrayList; import java.util.Arrays; -import java.util.Deque; import java.util.List; import java.util.Map; import java.util.TreeMap; @@ -43,18 +44,14 @@ import java.util.UUID; import java.util.concurrent.ExecutorService; import org.drools.core.WorkingMemory; import org.drools.core.common.InternalFactHandle; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.onap.policy.common.utils.coder.Coder; import org.onap.policy.common.utils.coder.CoderException; import org.onap.policy.common.utils.coder.StandardYamlCoder; import org.onap.policy.common.utils.resources.ResourceUtils; import org.onap.policy.controlloop.ControlLoopEventStatus; import org.onap.policy.controlloop.ControlLoopException; -import org.onap.policy.controlloop.ControlLoopResponse; import org.onap.policy.controlloop.ControlLoopTargetType; import org.onap.policy.controlloop.VirtualControlLoopEvent; import org.onap.policy.controlloop.actorserviceprovider.Operation; @@ -85,8 +82,7 @@ import org.onap.policy.sdnr.PciBody; import org.onap.policy.sdnr.PciMessage; import org.onap.policy.sdnr.PciResponse; -@RunWith(MockitoJUnitRunner.class) -public class UsecasesEventManagerTest { +class UsecasesEventManagerTest { private static final UUID REQ_ID = UUID.randomUUID(); private static final String CL_NAME = "my-closed-loop-name"; private static final String POLICY_NAME = "my-policy-name"; @@ -100,28 +96,17 @@ public class UsecasesEventManagerTest { private static final Coder yamlCoder = new StandardYamlCoder(); private static final String OUTCOME_MSG = "my outcome message"; - @Mock - private PolicyEngine engineMgr; - @Mock - private WorkingMemory workMem; - @Mock - private InternalFactHandle factHandle; - @Mock - private Operator policyOperator; - @Mock - private Operation policyOperation; - @Mock - private Actor policyActor; - @Mock - private EventManagerServices services; - @Mock - private OperationHistoryDataManager dataMgr; - @Mock - private ExecutorService executor; - @Mock - private Step2 stepa; - @Mock - private Step2 stepb; + private final PolicyEngine engineMgr = mock(PolicyEngine.class); + private final WorkingMemory workMem = mock(WorkingMemory.class); + private final InternalFactHandle factHandle = mock(InternalFactHandle.class); + private final Operator policyOperator = mock(Operator.class); + private final Operation policyOperation = mock(Operation.class); + private final Actor policyActor = mock(Actor.class); + private final EventManagerServices services = mock(EventManagerServices.class); + private final OperationHistoryDataManager dataMgr = mock(OperationHistoryDataManager.class); + private final ExecutorService executor = mock(ExecutorService.class); + private Step2 stepa = mock(Step2.class); + private final Step2 stepb = mock(Step2.class); private List<LockImpl> locks; private ToscaPolicy tosca; @@ -132,7 +117,7 @@ public class UsecasesEventManagerTest { /** * Sets up. */ - @Before + @BeforeEach public void setUp() throws ControlLoopException, CoderException { when(services.getDataManager()).thenReturn(dataMgr); @@ -160,11 +145,11 @@ public class UsecasesEventManagerTest { } @Test - public void testConstructor() { + void testConstructor() { assertEquals(POLICY_NAME, mgr.getPolicyName()); assertSame(event, mgr.getEvent()); - Map<String, String> orig = event.getAai(); + var orig = event.getAai(); event.setAai(addAai(orig, UsecasesConstants.VSERVER_IS_CLOSED_LOOP_DISABLED, "true")); assertThatThrownBy(() -> new UsecasesEventManager(services, params, event, workMem)) @@ -211,7 +196,7 @@ public class UsecasesEventManagerTest { } @Test - public void testLoadPreprocessorSteps() { + void testLoadPreprocessorSteps() { stepa = new Step2(mgr, ControlLoopOperationParams.builder().build(), event) { @Override public List<String> getPropertyNames() { @@ -229,7 +214,7 @@ public class UsecasesEventManagerTest { mgr.loadPreprocessorSteps(); - Deque<Step2> steps = mgr.getSteps(); + var steps = mgr.getSteps(); Step2 lockStep = steps.poll(); assertNotNull(lockStep); @@ -245,11 +230,11 @@ public class UsecasesEventManagerTest { * Tests loadPreprocessorSteps() when no additional steps are needed. */ @Test - public void testLoadPreprocessorStepsNothingToLoad() { + void testLoadPreprocessorStepsNothingToLoad() { when(stepa.isPolicyStep()).thenReturn(false); when(stepa.getPropertyNames()).thenReturn(List.of("unknown-property")); - Deque<Step2> steps = mgr.getSteps(); + var steps = mgr.getSteps(); steps.add(stepa); steps.add(stepb); @@ -265,13 +250,13 @@ public class UsecasesEventManagerTest { * Tests loadPreprocessorSteps() when an A&AI custom query is needed. */ @Test - public void testLoadPreprocessorStepsCq() { + void testLoadPreprocessorStepsCq() { loadStepsWithProperties(OperationProperties.AAI_DEFAULT_CLOUD_REGION, OperationProperties.AAI_DEFAULT_TENANT); setTargetEntity(); mgr.loadPreprocessorSteps(); - Deque<Step2> steps = mgr.getSteps(); + var steps = mgr.getSteps(); assertThat(steps.poll()).isInstanceOf(AaiCqStep2.class); assertSame(stepa, steps.poll()); @@ -283,14 +268,14 @@ public class UsecasesEventManagerTest { * Tests loadPreprocessorSteps() when an A&AI PNF query is needed. */ @Test - public void testLoadPreprocessorStepsPnf() { + void testLoadPreprocessorStepsPnf() { // doubling up the property to check both branches loadStepsWithProperties(OperationProperties.AAI_PNF, OperationProperties.AAI_PNF); setTargetEntity(); mgr.loadPreprocessorSteps(); - Deque<Step2> steps = mgr.getSteps(); + var steps = mgr.getSteps(); assertThat(steps.poll()).isInstanceOf(AaiGetPnfStep2.class); assertSame(stepa, steps.poll()); @@ -302,7 +287,7 @@ public class UsecasesEventManagerTest { * Tests loadPreprocessorSteps() when an A&AI Tenant query is needed. */ @Test - public void testLoadPreprocessorStepsTenant() { + void testLoadPreprocessorStepsTenant() { // doubling up the property to check both branches event.getAai().put(Step2.VSERVER_VSERVER_NAME, "my-vserver"); loadStepsWithProperties(OperationProperties.AAI_VSERVER_LINK, OperationProperties.AAI_VSERVER_LINK); @@ -310,7 +295,7 @@ public class UsecasesEventManagerTest { setTargetEntity(); mgr.loadPreprocessorSteps(); - Deque<Step2> steps = mgr.getSteps(); + var steps = mgr.getSteps(); assertThat(steps.poll()).isInstanceOf(AaiGetTenantStep2.class); assertSame(stepa, steps.poll()); @@ -322,7 +307,7 @@ public class UsecasesEventManagerTest { * Tests loadPreprocessorSteps() when the target entity is unset. */ @Test - public void testLoadPreprocessorStepsNeedTargetEntity() { + void testLoadPreprocessorStepsNeedTargetEntity() { stepa = new Step2(mgr, ControlLoopOperationParams.builder() .targetType(TargetType.toTargetType(event.getTargetType())).targetEntityIds(Map.of()).build(), event) { @@ -342,7 +327,7 @@ public class UsecasesEventManagerTest { } }; - Deque<Step2> steps = mgr.getSteps(); + var steps = mgr.getSteps(); steps.add(stepa); steps.add(stepb); @@ -363,8 +348,8 @@ public class UsecasesEventManagerTest { } @Test - public void testIsAbort() { - OperationOutcome outcome = makeCompletedOutcome(); + void testIsAbort() { + var outcome = makeCompletedOutcome(); outcome.setResult(OperationResult.FAILURE); // closed loop timeout @@ -381,9 +366,9 @@ public class UsecasesEventManagerTest { } @Test - public void testStoreInDataBase() throws ControlLoopException { + void testStoreInDataBase() throws ControlLoopException { mgr.start(); - OperationOutcome outcome = makeOutcome(); + var outcome = makeOutcome(); mgr.addToHistory(outcome); mgr.storeInDataBase(mgr.getPartialHistory().peekLast()); @@ -393,8 +378,8 @@ public class UsecasesEventManagerTest { } @Test - public void testMakeControlLoopResponse() { - final OperationOutcome outcome = new OperationOutcome(); + void testMakeControlLoopResponse() { + final var outcome = new OperationOutcome(); // no message - should return null checkResp(outcome, null); @@ -406,13 +391,13 @@ public class UsecasesEventManagerTest { /* * now work with a PciMessage */ - PciMessage msg = new PciMessage(); + var msg = new PciMessage(); outcome.setResponse(msg); - PciBody body = new PciBody(); + var body = new PciBody(); msg.setBody(body); - PciResponse output = new PciResponse(); + var output = new PciResponse(); body.setOutput(output); output.setPayload("my-payload"); @@ -437,7 +422,7 @@ public class UsecasesEventManagerTest { } @Test - public void testCheckEventSyntax() { + void testCheckEventSyntax() { /* * only need to check one success and one failure from the super class method */ @@ -459,7 +444,7 @@ public class UsecasesEventManagerTest { } @Test - public void testValidateStatus() { + void testValidateStatus() { /* * only need to check one success and one failure from the super class method */ @@ -472,7 +457,7 @@ public class UsecasesEventManagerTest { } @Test - public void testValidateAaiData() { + void testValidateAaiData() { event.setTargetType("unknown-target-type"); assertThatCode(() -> mgr.checkEventSyntax(event)).isInstanceOf(ControlLoopException.class) .hasMessage("The target type is not supported"); @@ -511,7 +496,7 @@ public class UsecasesEventManagerTest { } @Test - public void testValidateAaiVmVnfData() { + void testValidateAaiVmVnfData() { event.setTargetType(ControlLoopTargetType.VM); event.setAai(Map.of(UsecasesConstants.GENERIC_VNF_VNF_ID, MY_TARGET)); assertThatCode(() -> mgr.checkEventSyntax(event)).doesNotThrowAnyException(); @@ -528,7 +513,7 @@ public class UsecasesEventManagerTest { } @Test - public void testValidateAaiPnfData() { + void testValidateAaiPnfData() { event.setTargetType(ControlLoopTargetType.PNF); event.setAai(Map.of(UsecasesConstants.PNF_NAME, MY_TARGET)); assertThatCode(() -> mgr.checkEventSyntax(event)).doesNotThrowAnyException(); @@ -539,8 +524,8 @@ public class UsecasesEventManagerTest { } @Test - public void testIsClosedLoopDisabled() { - Map<String, String> orig = event.getAai(); + void testIsClosedLoopDisabled() { + var orig = event.getAai(); event.setAai(addAai(orig, UsecasesConstants.VSERVER_IS_CLOSED_LOOP_DISABLED, "true")); assertThatThrownBy(() -> new UsecasesEventManager(services, params, event, workMem)) @@ -556,8 +541,8 @@ public class UsecasesEventManagerTest { } @Test - public void testIsProvStatusInactive() { - Map<String, String> orig = event.getAai(); + void testIsProvStatusInactive() { + var orig = event.getAai(); event.setAai(addAai(orig, UsecasesConstants.VSERVER_PROV_STATUS, "ACTIVE")); assertThatCode(() -> new UsecasesEventManager(services, params, event, workMem)).doesNotThrowAnyException(); @@ -575,10 +560,10 @@ public class UsecasesEventManagerTest { } @Test - public void testIsAaiTrue() { - Map<String, String> orig = event.getAai(); + void testIsAaiTrue() { + var orig = event.getAai(); - for (String value : Arrays.asList("yes", "y", "true", "t", "yEs", "trUe")) { + for (var value : Arrays.asList("yes", "y", "true", "t", "yEs", "trUe")) { event.setAai(addAai(orig, UsecasesConstants.VSERVER_IS_CLOSED_LOOP_DISABLED, value)); assertThatThrownBy(() -> new UsecasesEventManager(services, params, event, workMem)) .isInstanceOf(IllegalStateException.class); @@ -600,8 +585,7 @@ public class UsecasesEventManagerTest { } private void loadPolicy(String fileName) throws CoderException { - ToscaServiceTemplate template = - yamlCoder.decode(ResourceUtils.getResourceAsString(fileName), ToscaServiceTemplate.class); + var template = yamlCoder.decode(ResourceUtils.getResourceAsString(fileName), ToscaServiceTemplate.class); tosca = template.getToscaTopologyTemplate().getPolicies().get(0).values().iterator().next(); params.setToscaPolicy(tosca); @@ -631,14 +615,14 @@ public class UsecasesEventManagerTest { } private OperationOutcome makeCompletedOutcome() { - OperationOutcome outcome = makeOutcome(); + var outcome = makeOutcome(); outcome.setEnd(outcome.getStart()); return outcome; } private OperationOutcome makeOutcome() { - OperationOutcome outcome = new OperationOutcome(); + var outcome = new OperationOutcome(); outcome.setActor(SIMPLE_ACTOR); outcome.setOperation(SIMPLE_OPERATION); outcome.setMessage(OUTCOME_MSG); @@ -650,7 +634,7 @@ public class UsecasesEventManagerTest { } private void checkResp(OperationOutcome outcome, String expectedPayload) { - ControlLoopResponse resp = mgr.makeControlLoopResponse(outcome); + var resp = mgr.makeControlLoopResponse(outcome); assertNotNull(resp); assertEquals(REQ_ID, resp.getRequestId()); assertEquals(expectedPayload, resp.getPayload()); @@ -680,7 +664,7 @@ public class UsecasesEventManagerTest { @Override protected void makeLock(String targetEntity, String requestId, int holdSec, LockCallback callback) { - LockImpl lock = new LockImpl(LockState.ACTIVE, targetEntity, requestId, holdSec, callback); + var lock = new LockImpl(LockState.ACTIVE, targetEntity, requestId, holdSec, callback); locks.add(lock); callback.lockAvailable(lock); } diff --git a/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/AaiCqStep2Test.java b/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/AaiCqStep2Test.java index 3c629591d..1f2d771cb 100644 --- a/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/AaiCqStep2Test.java +++ b/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/AaiCqStep2Test.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,22 +21,20 @@ package org.onap.policy.drools.apps.controller.usecases.step; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertSame; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import java.util.UUID; import java.util.concurrent.CompletableFuture; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.onap.policy.aai.AaiCqResponse; import org.onap.policy.controlloop.VirtualControlLoopEvent; import org.onap.policy.controlloop.actor.aai.AaiActor; @@ -48,24 +47,16 @@ import org.onap.policy.controlloop.actorserviceprovider.parameters.ControlLoopOp import org.onap.policy.controlloop.actorserviceprovider.spi.Actor; import org.onap.policy.controlloop.eventmanager.StepContext; -@RunWith(MockitoJUnitRunner.class) -public class AaiCqStep2Test { +class AaiCqStep2Test { private static final UUID REQ_ID = UUID.randomUUID(); - @Mock - private Operator policyOperator; - @Mock - private Operation policyOperation; - @Mock - private Actor policyActor; - @Mock - private ActorService actors; - @Mock - private ControlLoopOperationParams params; - @Mock - private StepContext stepContext; - @Mock - private VirtualControlLoopEvent event; + private final Operator policyOperator = mock(Operator.class); + private final Operation policyOperation = mock(Operation.class); + private final Actor policyActor = mock(Actor.class); + private final ActorService actors = mock(ActorService.class); + private final ControlLoopOperationParams params = mock(ControlLoopOperationParams.class); + private final StepContext stepContext = mock(StepContext.class); + private final VirtualControlLoopEvent event = mock(VirtualControlLoopEvent.class); private CompletableFuture<OperationOutcome> future; private Step2 master; @@ -74,7 +65,7 @@ public class AaiCqStep2Test { /** * Sets up. */ - @Before + @BeforeEach public void setUp() { future = new CompletableFuture<>(); @@ -92,7 +83,7 @@ public class AaiCqStep2Test { } @Test - public void testConstructor() { + void testConstructor() { assertEquals(AaiActor.NAME, step.getActorName()); assertEquals(AaiCustomQueryOperation.NAME, step.getOperationName()); assertSame(stepContext, step.stepContext); @@ -100,7 +91,7 @@ public class AaiCqStep2Test { } @Test - public void testStart() { + void testStart() { step.init(); assertTrue(step.start(100)); verify(policyOperation).start(); @@ -110,7 +101,7 @@ public class AaiCqStep2Test { * Tests start() when the data has already been retrieved. */ @Test - public void testStartAlreadyHaveData() { + void testStartAlreadyHaveData() { when(stepContext.contains(AaiCqResponse.CONTEXT_KEY)).thenReturn(true); step.init(); @@ -119,9 +110,9 @@ public class AaiCqStep2Test { } @Test - public void testSuccess() { - AaiCqResponse data = new AaiCqResponse("{}"); - OperationOutcome outcome = new OperationOutcome(); + void testSuccess() { + var data = new AaiCqResponse("{}"); + var outcome = new OperationOutcome(); outcome.setResponse(data); step.success(outcome); diff --git a/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/AaiGetPnfStep2Test.java b/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/AaiGetPnfStep2Test.java index 897650fb3..8f2559933 100644 --- a/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/AaiGetPnfStep2Test.java +++ b/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/AaiGetPnfStep2Test.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,22 +21,20 @@ package org.onap.policy.drools.apps.controller.usecases.step; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertSame; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import java.util.UUID; import java.util.concurrent.CompletableFuture; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.onap.policy.common.utils.coder.StandardCoderObject; import org.onap.policy.controlloop.VirtualControlLoopEvent; import org.onap.policy.controlloop.actor.aai.AaiActor; @@ -49,25 +48,17 @@ import org.onap.policy.controlloop.actorserviceprovider.parameters.ControlLoopOp import org.onap.policy.controlloop.actorserviceprovider.spi.Actor; import org.onap.policy.controlloop.eventmanager.StepContext; -@RunWith(MockitoJUnitRunner.class) -public class AaiGetPnfStep2Test { +class AaiGetPnfStep2Test { private static final String MY_TARGET = "my-target"; private static final UUID REQ_ID = UUID.randomUUID(); - @Mock - private Operator policyOperator; - @Mock - private Operation policyOperation; - @Mock - private Actor policyActor; - @Mock - private ActorService actors; - @Mock - private ControlLoopOperationParams params; - @Mock - private StepContext stepContext; - @Mock - private VirtualControlLoopEvent event; + private final Operator policyOperator = mock(Operator.class); + private final Operation policyOperation = mock(Operation.class); + private final Actor policyActor = mock(Actor.class); + private final ActorService actors = mock(ActorService.class); + private final ControlLoopOperationParams params = mock(ControlLoopOperationParams.class); + private final StepContext stepContext = mock(StepContext.class); + private final VirtualControlLoopEvent event = mock(VirtualControlLoopEvent.class); private CompletableFuture<OperationOutcome> future; private Step2 master; @@ -76,7 +67,7 @@ public class AaiGetPnfStep2Test { /** * Sets up. */ - @Before + @BeforeEach public void setUp() { future = new CompletableFuture<>(); @@ -95,7 +86,7 @@ public class AaiGetPnfStep2Test { } @Test - public void testConstructor() { + void testConstructor() { assertEquals(AaiActor.NAME, step.getActorName()); assertEquals(AaiGetPnfOperation.NAME, step.getOperationName()); assertSame(stepContext, step.stepContext); @@ -103,7 +94,7 @@ public class AaiGetPnfStep2Test { } @Test - public void testStart() { + void testStart() { step.init(); assertTrue(step.start(100)); verify(policyOperation).start(); @@ -113,7 +104,7 @@ public class AaiGetPnfStep2Test { * Tests start() when the data has already been retrieved. */ @Test - public void testStartAlreadyHaveData() { + void testStartAlreadyHaveData() { when(stepContext.contains(AaiGetPnfOperation.getKey(MY_TARGET))).thenReturn(true); step.init(); @@ -122,9 +113,9 @@ public class AaiGetPnfStep2Test { } @Test - public void testSuccess() { - StandardCoderObject data = new StandardCoderObject(); - OperationOutcome outcome = new OperationOutcome(); + void testSuccess() { + var data = new StandardCoderObject(); + var outcome = new OperationOutcome(); outcome.setResponse(data); step.success(outcome); diff --git a/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/AaiGetTenantStep2Test.java b/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/AaiGetTenantStep2Test.java index bccfbb3be..9d95b0b68 100644 --- a/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/AaiGetTenantStep2Test.java +++ b/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/AaiGetTenantStep2Test.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,11 +23,12 @@ package org.onap.policy.drools.apps.controller.usecases.step; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertSame; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -34,11 +36,8 @@ import static org.mockito.Mockito.when; import java.util.Map; import java.util.UUID; import java.util.concurrent.CompletableFuture; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.onap.policy.common.utils.coder.StandardCoderObject; import org.onap.policy.controlloop.VirtualControlLoopEvent; import org.onap.policy.controlloop.actor.aai.AaiActor; @@ -52,25 +51,17 @@ import org.onap.policy.controlloop.actorserviceprovider.parameters.ControlLoopOp import org.onap.policy.controlloop.actorserviceprovider.spi.Actor; import org.onap.policy.controlloop.eventmanager.StepContext; -@RunWith(MockitoJUnitRunner.class) -public class AaiGetTenantStep2Test { +class AaiGetTenantStep2Test { private static final String MY_VSERVER = "my-vserver"; private static final UUID REQ_ID = UUID.randomUUID(); - @Mock - private Operator policyOperator; - @Mock - private Operation policyOperation; - @Mock - private Actor policyActor; - @Mock - private ActorService actors; - @Mock - private ControlLoopOperationParams params; - @Mock - private StepContext stepContext; - @Mock - private VirtualControlLoopEvent event; + private final Operator policyOperator = mock(Operator.class); + private final Operation policyOperation = mock(Operation.class); + private final Actor policyActor = mock(Actor.class); + private final ActorService actors = mock(ActorService.class); + private final ControlLoopOperationParams params = mock(ControlLoopOperationParams.class); + private final StepContext stepContext = mock(StepContext.class); + private final VirtualControlLoopEvent event = mock(VirtualControlLoopEvent.class); private CompletableFuture<OperationOutcome> future; private Step2 master; @@ -79,7 +70,7 @@ public class AaiGetTenantStep2Test { /** * Sets up. */ - @Before + @BeforeEach public void setUp() { future = new CompletableFuture<>(); @@ -99,7 +90,7 @@ public class AaiGetTenantStep2Test { } @Test - public void testConstructor() { + void testConstructor() { assertEquals(AaiActor.NAME, step.getActorName()); assertEquals(AaiGetTenantOperation.NAME, step.getOperationName()); assertSame(stepContext, step.stepContext); @@ -117,12 +108,12 @@ public class AaiGetTenantStep2Test { } @Test - public void testGetPropertyNames() { + void testGetPropertyNames() { assertThat(step.getPropertyNames()).isEmpty(); } @Test - public void testSetProperties() { + void testSetProperties() { step.init(); step.setProperties(); @@ -131,7 +122,7 @@ public class AaiGetTenantStep2Test { } @Test - public void testStart() { + void testStart() { step.init(); assertTrue(step.start(100)); verify(policyOperation).start(); @@ -141,7 +132,7 @@ public class AaiGetTenantStep2Test { * Tests start() when the data has already been retrieved. */ @Test - public void testStartAlreadyHaveData() { + void testStartAlreadyHaveData() { when(stepContext.contains(AaiGetTenantOperation.getKey(MY_VSERVER))).thenReturn(true); step.init(); @@ -150,9 +141,9 @@ public class AaiGetTenantStep2Test { } @Test - public void testSuccess() { - StandardCoderObject data = new StandardCoderObject(); - OperationOutcome outcome = new OperationOutcome(); + void testSuccess() { + var data = new StandardCoderObject(); + var outcome = new OperationOutcome(); outcome.setResponse(data); step.success(outcome); diff --git a/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/GetTargetEntityStep2Test.java b/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/GetTargetEntityStep2Test.java index ff9a38a81..a975e0bb3 100644 --- a/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/GetTargetEntityStep2Test.java +++ b/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/GetTargetEntityStep2Test.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,32 +22,25 @@ package org.onap.policy.drools.apps.controller.usecases.step; import static org.assertj.core.api.Assertions.assertThatIllegalStateException; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertSame; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.onap.policy.controlloop.VirtualControlLoopEvent; -import org.onap.policy.controlloop.actorserviceprovider.Operation; import org.onap.policy.controlloop.actorserviceprovider.parameters.ControlLoopOperationParams; import org.onap.policy.controlloop.eventmanager.StepContext; import org.onap.policy.drools.apps.controller.usecases.GetTargetEntityOperation2; import org.onap.policy.drools.apps.controller.usecases.UsecasesConstants; -@RunWith(MockitoJUnitRunner.class) -public class GetTargetEntityStep2Test { - @Mock - private ControlLoopOperationParams params; - @Mock - private StepContext stepContext; - @Mock - private VirtualControlLoopEvent event; +class GetTargetEntityStep2Test { + private final ControlLoopOperationParams params = mock(ControlLoopOperationParams.class); + private final StepContext stepContext = mock(StepContext.class); + private final VirtualControlLoopEvent event = mock(VirtualControlLoopEvent.class); private Step2 master; private GetTargetEntityStep2 step; @@ -54,7 +48,7 @@ public class GetTargetEntityStep2Test { /** * Sets up. */ - @Before + @BeforeEach public void setUp() { when(params.toBuilder()).thenReturn(ControlLoopOperationParams.builder()); @@ -63,7 +57,7 @@ public class GetTargetEntityStep2Test { } @Test - public void testConstructor() { + void testConstructor() { assertEquals(UsecasesConstants.GET_TARGET_ENTITY_ACTOR, step.getActorName()); assertEquals(UsecasesConstants.GET_TARGET_ENTITY_OPERATION, step.getOperationName()); assertSame(stepContext, step.stepContext); @@ -71,13 +65,13 @@ public class GetTargetEntityStep2Test { } @Test - public void testBuildOperation() { - Operation oper = step.buildOperation(); + void testBuildOperation() { + var oper = step.buildOperation(); assertTrue(oper instanceof GetTargetEntityOperation2); } @Test - public void testStart() { + void testStart() { assertThatIllegalStateException().isThrownBy(() -> step.start(200)) .withMessage("step has not been initialized"); diff --git a/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/GuardStep2Test.java b/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/GuardStep2Test.java index ffd88d54d..4d158def3 100644 --- a/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/GuardStep2Test.java +++ b/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/GuardStep2Test.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,20 +23,18 @@ package org.onap.policy.drools.apps.controller.usecases.step; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatIllegalStateException; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertSame; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.UUID; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.onap.aai.domain.yang.CloudRegion; import org.onap.aai.domain.yang.GenericVnf; import org.onap.aai.domain.yang.RelatedToProperty; @@ -55,8 +54,7 @@ import org.onap.policy.controlloop.actorserviceprovider.parameters.ControlLoopOp import org.onap.policy.controlloop.eventmanager.StepContext; import org.onap.policy.drools.apps.controller.usecases.UsecasesConstants; -@RunWith(MockitoJUnitRunner.class) -public class GuardStep2Test { +class GuardStep2Test { private static final String SOME_OTHER_VALUE = "some-other-value"; private static final String SOME_OTHER_KEY = "some-other-key"; private static final String CL_NAME = "my-closed-loop"; @@ -72,22 +70,16 @@ public class GuardStep2Test { private static final UUID REQ_ID = UUID.randomUUID(); private static final int VF_COUNT = 10; - @Mock - private StepContext stepContext; - @Mock - private VirtualControlLoopEvent event; - @Mock - private Operation policyOper; - @Mock - private AaiCqResponse customQuery; - @Mock - private GenericVnf genericVnf; - @Mock - private CloudRegion cloudRegion; - @Mock Vserver theVserver; - - TargetType target; - Map<String, String> aai = new HashMap<>(); + private final StepContext stepContext = mock(StepContext.class); + private final VirtualControlLoopEvent event = mock(VirtualControlLoopEvent.class); + private final Operation policyOper = mock(Operation.class); + private final AaiCqResponse customQuery = mock(AaiCqResponse.class); + private final GenericVnf genericVnf = mock(GenericVnf.class); + private final CloudRegion cloudRegion = mock(CloudRegion.class); + private final Vserver theVserver = mock(Vserver.class); + + private TargetType target; + private Map<String, String> aai = new HashMap<>(); private ControlLoopOperationParams params; private Step2 master; @@ -96,7 +88,7 @@ public class GuardStep2Test { /** * Sets up. */ - @Before + @BeforeEach public void setUp() { aai.put("vserver.vserver-name", MY_SERVERNAME); when(event.getAai()).thenReturn(aai); @@ -105,19 +97,19 @@ public class GuardStep2Test { when(genericVnf.getVnfType()).thenReturn(MY_TYPE); when(genericVnf.getNfNamingCode()).thenReturn(MY_CODE); - RelationshipList relList = new RelationshipList(); + var relList = new RelationshipList(); when(genericVnf.getRelationshipList()).thenReturn(relList); relList.getRelationship().add(new Relationship()); - Relationship relationship = new Relationship(); + var relationship = new Relationship(); relList.getRelationship().add(relationship); relationship.setRelatedTo("vserver"); relationship.getRelatedToProperty().add(new RelatedToProperty()); // property key mismatch - RelatedToProperty relProp = new RelatedToProperty(); + var relProp = new RelatedToProperty(); relationship.getRelatedToProperty().add(relProp); relProp.setPropertyKey(SOME_OTHER_KEY); relProp.setPropertyValue(MY_NAME); @@ -135,7 +127,7 @@ public class GuardStep2Test { relProp.setPropertyValue(MY_SERVERNAME); // data key mismatch - RelationshipData relData = new RelationshipData(); + var relData = new RelationshipData(); relationship.getRelationshipData().add(relData); relData.setRelationshipKey(SOME_OTHER_KEY); relData.setRelationshipValue(SOME_OTHER_VALUE); @@ -181,7 +173,7 @@ public class GuardStep2Test { } @Test - public void testConstructor() { + void testConstructor() { assertEquals(XacmlActor.NAME, step.getActorName()); assertEquals(GuardOperation.NAME, step.getOperationName()); assertSame(stepContext, step.stepContext); @@ -191,7 +183,7 @@ public class GuardStep2Test { master = new Step2(stepContext, params, event); assertThatIllegalStateException().isThrownBy(() -> new GuardStep2(master, CL_NAME)); - ControlLoopOperationParams params2 = step.getParams(); + var params2 = step.getParams(); // @formatter:off assertThat(params2.getPayload()).isEqualTo(Map.of( @@ -203,13 +195,13 @@ public class GuardStep2Test { } @Test - public void testAcceptsEvent() { + void testAcceptsEvent() { // it should always accept events assertTrue(step.acceptsEvent()); } @Test - public void testGetPropertyNames() { + void testGetPropertyNames() { // unmatching property names when(policyOper.getPropertyNames()).thenReturn(List.of("propA", "propB")); assertThat(step.getPropertyNames()) @@ -225,13 +217,13 @@ public class GuardStep2Test { } @Test - public void testLoadTargetEntity() { + void testLoadTargetEntity() { step.loadTargetEntity(OperationProperties.AAI_TARGET_ENTITY); assertThat(step.getParams().getPayload()).containsEntry(GuardStep2.PAYLOAD_KEY_TARGET_ENTITY, MY_TARGET); } @Test - public void testLoadDefaultGenericVnf() { + void testLoadDefaultGenericVnf() { step.loadDefaultGenericVnf(OperationProperties.AAI_VNF); assertThat(step.getParams().getPayload()) .containsEntry(GuardStep2.PAYLOAD_KEY_VNF_ID, MY_TARGET) @@ -242,7 +234,7 @@ public class GuardStep2Test { } @Test - public void testLoadCloudRegion() { + void testLoadCloudRegion() { step.loadCloudRegion(OperationProperties.AAI_DEFAULT_CLOUD_REGION); assertThat(step.getParams().getPayload()).containsEntry(GuardStep2.PAYLOAD_KEY_CLOUD_REGION_ID, MY_REGION); } @@ -251,7 +243,7 @@ public class GuardStep2Test { * Tests loadVfCount() when the policy operation is NOT "VF Module Create". */ @Test - public void testLoadVfCountNotVfModuleCreate() { + void testLoadVfCountNotVfModuleCreate() { // should decrement the count step.loadVfCount(""); assertThat(step.getParams().getPayload()).containsEntry(GuardStep2.PAYLOAD_KEY_VF_COUNT, VF_COUNT - 1); @@ -261,7 +253,7 @@ public class GuardStep2Test { * Tests loadVfCount() when the policy operation is "VF Module Create". */ @Test - public void testLoadVfCountVfModuleCreate() { + void testLoadVfCountVfModuleCreate() { when(policyOper.getName()).thenReturn(VfModuleCreate.NAME); // should increment the count diff --git a/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/LockStep2Test.java b/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/LockStep2Test.java index fd7efe7bf..29401081e 100644 --- a/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/LockStep2Test.java +++ b/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/LockStep2Test.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,20 +21,18 @@ package org.onap.policy.drools.apps.controller.usecases.step; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertSame; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import java.util.concurrent.CompletableFuture; import java.util.function.Consumer; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.onap.policy.controlloop.VirtualControlLoopEvent; import org.onap.policy.controlloop.actorserviceprovider.Operation; import org.onap.policy.controlloop.actorserviceprovider.OperationOutcome; @@ -42,18 +41,13 @@ import org.onap.policy.controlloop.actorserviceprovider.parameters.ControlLoopOp import org.onap.policy.controlloop.eventmanager.ActorConstants; import org.onap.policy.controlloop.eventmanager.StepContext; -@RunWith(MockitoJUnitRunner.class) -public class LockStep2Test { +class LockStep2Test { private static final String MY_TARGET = "my-target"; - @Mock - private StepContext stepContext; - @Mock - private Operation policyOper; - @Mock - private VirtualControlLoopEvent event; - @Mock - private Consumer<OperationOutcome> callback; + private final StepContext stepContext = mock(StepContext.class); + private final Operation policyOper = mock(Operation.class); + private final VirtualControlLoopEvent event = mock(VirtualControlLoopEvent.class); + private final Consumer<OperationOutcome> callback = mock(); private ControlLoopOperationParams params; private CompletableFuture<OperationOutcome> future; @@ -63,7 +57,7 @@ public class LockStep2Test { /** * Sets up. */ - @Before + @BeforeEach public void setUp() { future = new CompletableFuture<>(); @@ -86,7 +80,7 @@ public class LockStep2Test { } @Test - public void testConstructor() { + void testConstructor() { assertEquals(ActorConstants.LOCK_ACTOR, step.getActorName()); assertEquals(ActorConstants.LOCK_OPERATION, step.getOperationName()); assertSame(stepContext, step.stepContext); @@ -94,20 +88,20 @@ public class LockStep2Test { } @Test - public void testAcceptsEvent() { + void testAcceptsEvent() { // it should always accept events assertTrue(step.acceptsEvent()); } @Test - public void testStart() { + void testStart() { // start the operation step.init(); step.setProperties(); assertTrue(step.start(100)); // complete the operation's future - OperationOutcome outcome = step.makeOutcome(); + var outcome = step.makeOutcome(); outcome.setTarget(MY_TARGET); future.complete(outcome); @@ -120,7 +114,7 @@ public class LockStep2Test { * Tests start when the operation throws an exception. */ @Test - public void testStartNoFuture() { + void testStartNoFuture() { // start the operation step.init(); diff --git a/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/Step2Test.java b/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/Step2Test.java index d80484a2e..7a557c2af 100644 --- a/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/Step2Test.java +++ b/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/Step2Test.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,10 +24,10 @@ package org.onap.policy.drools.apps.controller.usecases.step; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatCode; import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertSame; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.mock; @@ -43,11 +44,8 @@ import java.util.UUID; import java.util.concurrent.BlockingQueue; import java.util.concurrent.ForkJoinPool; import java.util.concurrent.LinkedBlockingQueue; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.onap.aai.domain.yang.CloudRegion; import org.onap.aai.domain.yang.GenericVnf; import org.onap.aai.domain.yang.ModelVer; @@ -70,8 +68,7 @@ import org.onap.policy.controlloop.actorserviceprovider.spi.Actor; import org.onap.policy.controlloop.eventmanager.StepContext; import org.onap.policy.drools.apps.controller.usecases.UsecasesConstants; -@RunWith(MockitoJUnitRunner.class) -public class Step2Test { +class Step2Test { private static final UUID REQ_ID = UUID.randomUUID(); private static final String POLICY_ACTOR = "my-actor"; private static final String POLICY_OPERATION = "my-operation"; @@ -81,18 +78,12 @@ public class Step2Test { private static final String NO_SLASH = "noslash"; private static final String ONE_SLASH = "/one"; - @Mock - private Operator policyOperator; - @Mock - private Operation policyOperation; - @Mock - private Actor policyActor; - @Mock - private ActorService actors; - @Mock - private StepContext stepContext; - @Mock - private AaiCqResponse aaicq; + private final Operator policyOperator = mock(Operator.class); + private final Operation policyOperation = mock(Operation.class); + private final Actor policyActor = mock(Actor.class); + private final ActorService actors = mock(ActorService.class); + private final StepContext stepContext = mock(StepContext.class); + private final AaiCqResponse aaicq = mock(AaiCqResponse.class); private Map<String, String> payload; private VirtualControlLoopEvent event; @@ -104,7 +95,7 @@ public class Step2Test { /** * Sets up. */ - @Before + @BeforeEach public void setUp() { // configure policy operation when(actors.getActor(POLICY_ACTOR)).thenReturn(policyActor); @@ -136,14 +127,14 @@ public class Step2Test { } @Test - public void testConstructor() { + void testConstructor() { assertSame(stepContext, step.stepContext); assertSame(event, step.event); assertSame(actors, step.getParams().getActorService()); } @Test - public void testConstructorStep2() { + void testConstructorStep2() { step = new Step2(step, "actorB", "operationB"); assertSame(stepContext, step.stepContext); assertSame(event, step.event); @@ -154,7 +145,7 @@ public class Step2Test { } @Test - public void testAcceptsEvent() { + void testAcceptsEvent() { // it's a policy step, thus it accepts events assertTrue(step.acceptsEvent()); @@ -165,12 +156,12 @@ public class Step2Test { } @Test - public void testSuccess() { + void testSuccess() { assertThatCode(() -> step.success(null)).doesNotThrowAnyException(); } @Test - public void testGetPropertyNames() { + void testGetPropertyNames() { // empty property list assertThat(step.getPropertyNames()).isEmpty(); @@ -180,11 +171,11 @@ public class Step2Test { } @Test - public void testSetProperties() { - CloudRegion cloudRegion = new CloudRegion(); + void testSetProperties() { + var cloudRegion = new CloudRegion(); when(aaicq.getDefaultCloudRegion()).thenReturn(cloudRegion); - Tenant tenant = new Tenant(); + var tenant = new Tenant(); when(aaicq.getDefaultTenant()).thenReturn(tenant); when(policyOperation.getPropertyNames()).thenReturn( @@ -202,7 +193,7 @@ public class Step2Test { * Tests setProperties() when the property is unknown. */ @Test - public void testSetPropertiesUnknown() { + void testSetPropertiesUnknown() { when(policyOperation.getPropertyNames()).thenReturn(List.of("unknown-property")); assertThatIllegalArgumentException().isThrownBy(() -> step.setProperties()) @@ -210,8 +201,8 @@ public class Step2Test { } @Test - public void testLoadCloudRegion_testGetCloudRegion() { - CloudRegion data = new CloudRegion(); + void testLoadCloudRegion_testGetCloudRegion() { + var data = new CloudRegion(); when(aaicq.getDefaultCloudRegion()).thenReturn(data); when(policyOperation.getPropertyNames()).thenReturn(List.of(OperationProperties.AAI_DEFAULT_CLOUD_REGION)); @@ -224,8 +215,8 @@ public class Step2Test { } @Test - public void testLoadTenant_testGetTenant() { - Tenant data = new Tenant(); + void testLoadTenant_testGetTenant() { + var data = new Tenant(); when(aaicq.getDefaultTenant()).thenReturn(data); when(policyOperation.getPropertyNames()).thenReturn(List.of(OperationProperties.AAI_DEFAULT_TENANT)); @@ -238,8 +229,8 @@ public class Step2Test { } @Test - public void testLoadPnf_testGetPnf() { - StandardCoderObject data = new StandardCoderObject(); + void testLoadPnf_testGetPnf() { + var data = new StandardCoderObject(); when(stepContext.getProperty(OperationProperties.AAI_TARGET_ENTITY)).thenReturn(MY_TARGET); when(stepContext.getProperty(AaiGetPnfOperation.getKey(MY_TARGET))).thenReturn(data); when(policyOperation.getPropertyNames()).thenReturn(List.of(OperationProperties.AAI_PNF)); @@ -253,9 +244,9 @@ public class Step2Test { } @Test - public void testLoadResourceVnf_testGetResourceVnf() { + void testLoadResourceVnf_testGetResourceVnf() { params.getTargetEntityIds().put(Step2.TARGET_RESOURCE_ID, "my-resource"); - GenericVnf data = new GenericVnf(); + var data = new GenericVnf(); when(aaicq.getGenericVnfByModelInvariantId("my-resource")).thenReturn(data); when(policyOperation.getPropertyNames()).thenReturn(List.of(OperationProperties.AAI_RESOURCE_VNF)); @@ -280,8 +271,8 @@ public class Step2Test { } @Test - public void testLoadService_testGetService() { - ServiceInstance data = new ServiceInstance(); + void testLoadService_testGetService() { + var data = new ServiceInstance(); when(aaicq.getServiceInstance()).thenReturn(data); when(policyOperation.getPropertyNames()).thenReturn(List.of(OperationProperties.AAI_SERVICE)); @@ -294,12 +285,12 @@ public class Step2Test { } @Test - public void testLoadServiceModel_testGetServiceModel() { - ServiceInstance service = new ServiceInstance(); + void testLoadServiceModel_testGetServiceModel() { + var service = new ServiceInstance(); service.setModelVersionId("my-service-version"); when(aaicq.getServiceInstance()).thenReturn(service); - ModelVer data = new ModelVer(); + var data = new ModelVer(); when(aaicq.getModelVerByVersionId("my-service-version")).thenReturn(data); when(policyOperation.getPropertyNames()).thenReturn(List.of(OperationProperties.AAI_SERVICE_MODEL)); @@ -320,8 +311,8 @@ public class Step2Test { } @Test - public void testGetVserver() { - Vserver vserver = new Vserver(); + void testGetVserver() { + var vserver = new Vserver(); when(aaicq.getVserver()).thenReturn(vserver); assertSame(vserver, step.getVServer()); @@ -332,7 +323,7 @@ public class Step2Test { } @Test - public void testGetTargetEntity() { + void testGetTargetEntity() { when(stepContext.getProperty(OperationProperties.AAI_TARGET_ENTITY)).thenReturn(MY_TARGET); assertEquals(MY_TARGET, step.getTargetEntity()); @@ -343,9 +334,9 @@ public class Step2Test { } @Test - public void testLoadVnf_testGetVnf() { + void testLoadVnf_testGetVnf() { params.getTargetEntityIds().put(Step2.TARGET_MODEL_INVARIANT_ID, "my-model-invariant"); - GenericVnf data = new GenericVnf(); + var data = new GenericVnf(); when(aaicq.getGenericVnfByVfModuleModelInvariantId("my-model-invariant")).thenReturn(data); when(policyOperation.getPropertyNames()).thenReturn(List.of(OperationProperties.AAI_VNF)); @@ -370,13 +361,13 @@ public class Step2Test { } @Test - public void testLoadVnfModel_testGetVnfModel() { + void testLoadVnfModel_testGetVnfModel() { params.getTargetEntityIds().put(Step2.TARGET_MODEL_INVARIANT_ID, "my-model-invariant"); - GenericVnf vnf = new GenericVnf(); + var vnf = new GenericVnf(); when(aaicq.getGenericVnfByVfModuleModelInvariantId("my-model-invariant")).thenReturn(vnf); vnf.setModelVersionId("my-vnf-model-version-id"); - ModelVer data = new ModelVer(); + var data = new ModelVer(); when(aaicq.getModelVerByVersionId("my-vnf-model-version-id")).thenReturn(data); when(policyOperation.getPropertyNames()).thenReturn(List.of(OperationProperties.AAI_VNF_MODEL)); @@ -393,10 +384,10 @@ public class Step2Test { } @Test - public void testLoadVserverLink_testGetVserverLink() { + void testLoadVserverLink_testGetVserverLink() { event.setAai(Map.of(Step2.VSERVER_VSERVER_NAME, "vserverB")); - StandardCoderObject tenant = mock(StandardCoderObject.class); + var tenant = mock(StandardCoderObject.class); when(stepContext.getProperty(AaiGetTenantOperation.getKey("vserverB"))).thenReturn(tenant); when(tenant.getString("result-data", 0, "resource-link")).thenReturn("/aai/v7/some/link/bbb"); @@ -428,7 +419,7 @@ public class Step2Test { } @Test - public void testLoadVfCount_testGetVfCount() { + void testLoadVfCount_testGetVfCount() { params.getTargetEntityIds().put(Step2.TARGET_MODEL_CUSTOMIZATION_ID, "vf-count-customization"); params.getTargetEntityIds().put(Step2.TARGET_MODEL_INVARIANT_ID, "vf-count-invariant"); params.getTargetEntityIds().put(Step2.TARGET_MODEL_VERSION_ID, "vf-count-version"); @@ -468,7 +459,7 @@ public class Step2Test { } @Test - public void testLoadEnrichment_testGetEnrichment() { + void testLoadEnrichment_testGetEnrichment() { event.setAai(Map.of("bandwidth", "bandwidth-value")); when(policyOperation.getPropertyNames()).thenReturn(List.of(OperationProperties.ENRICHMENT_BANDWIDTH)); @@ -481,7 +472,7 @@ public class Step2Test { } @Test - public void testLoadAdditionalEventParams_testGetAdditionalEventParams() { + void testLoadAdditionalEventParams_testGetAdditionalEventParams() { Map<String, String> data = Map.of("addA", "add-valueA", "addB", "add-valueB"); event.setAdditionalEventParams(data); when(policyOperation.getPropertyNames()).thenReturn(List.of(OperationProperties.EVENT_ADDITIONAL_PARAMS)); @@ -491,7 +482,7 @@ public class Step2Test { } @Test - public void testLoadEventPayload_testGetEventPayload() { + void testLoadEventPayload_testGetEventPayload() { event.setPayload("some-event-payload"); when(policyOperation.getPropertyNames()).thenReturn(List.of(OperationProperties.EVENT_PAYLOAD)); @@ -500,7 +491,7 @@ public class Step2Test { } @Test - public void testLoadOptCdsGrpcAaiProperties() { + void testLoadOptCdsGrpcAaiProperties() { when(policyOperation.getPropertyNames()).thenReturn(List.of(OperationProperties.OPT_CDS_GRPC_AAI_PROPERTIES)); step.setProperties(); @@ -508,8 +499,8 @@ public class Step2Test { } @Test - public void testLoadDefaultGenericVnf_testGetDefaultGenericVnf() { - GenericVnf data = new GenericVnf(); + void testLoadDefaultGenericVnf_testGetDefaultGenericVnf() { + var data = new GenericVnf(); when(aaicq.getDefaultGenericVnf()).thenReturn(data); when(policyOperation.getPropertyNames()).thenReturn(List.of(UsecasesConstants.AAI_DEFAULT_GENERIC_VNF)); @@ -522,7 +513,7 @@ public class Step2Test { } @Test - public void testGetCustomQueryData() { + void testGetCustomQueryData() { assertSame(aaicq, step.getCustomQueryData()); when(stepContext.getProperty(AaiCqResponse.CONTEXT_KEY)).thenReturn(null); @@ -532,7 +523,7 @@ public class Step2Test { } @Test - public void testVerifyNotNull() { + void testVerifyNotNull() { assertThatCode(() -> step.verifyNotNull("verifyA", "verify-value-A")).doesNotThrowAnyException(); assertThatIllegalArgumentException().isThrownBy(() -> step.verifyNotNull("verifyB", null)) @@ -540,7 +531,7 @@ public class Step2Test { } @Test - public void testStripPrefix() { + void testStripPrefix() { assertEquals(NO_SLASH, Step2.stripPrefix(NO_SLASH, 0)); assertEquals(NO_SLASH, Step2.stripPrefix(NO_SLASH, 1)); assertEquals(NO_SLASH, Step2.stripPrefix(NO_SLASH, 2)); @@ -555,5 +546,4 @@ public class Step2Test { assertEquals("/and/more", Step2.stripPrefix("prefix/three/slashes/and/more", 3)); } - } diff --git a/controlloop/common/coordination/pom.xml b/controlloop/common/coordination/pom.xml index 622d01416..b390c973a 100644 --- a/controlloop/common/coordination/pom.xml +++ b/controlloop/common/coordination/pom.xml @@ -4,6 +4,7 @@ ================================================================================ Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved. Modifications Copyright (C) 2020 Bell Canada. + Modifications Copyright (C) 2023 Nordix Foundation. ================================================================================ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -18,23 +19,24 @@ limitations under the License. ============LICENSE_END========================================================= --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.onap.policy.drools-applications.controlloop.common</groupId> - <artifactId>drools-applications-common</artifactId> - <version>2.0.0-SNAPSHOT</version> - </parent> + <parent> + <groupId>org.onap.policy.drools-applications.controlloop.common</groupId> + <artifactId>drools-applications-common</artifactId> + <version>2.0.1-SNAPSHOT</version> + </parent> - <artifactId>coordination</artifactId> + <artifactId>coordination</artifactId> - <dependencies> - <dependency> - <groupId>org.onap.policy.drools-pdp</groupId> - <artifactId>policy-management</artifactId> - <version>${version.policy.drools-pdp}</version> - <scope>provided</scope> - </dependency> - </dependencies> + <dependencies> + <dependency> + <groupId>org.onap.policy.drools-pdp</groupId> + <artifactId>policy-management</artifactId> + <version>${version.policy.drools-pdp}</version> + <scope>provided</scope> + </dependency> + </dependencies> </project> diff --git a/controlloop/common/coordination/src/main/java/org/onap/policy/coordination/Util.java b/controlloop/common/coordination/src/main/java/org/onap/policy/coordination/Util.java index af8cc2529..7aba3cce3 100644 --- a/controlloop/common/coordination/src/main/java/org/onap/policy/coordination/Util.java +++ b/controlloop/common/coordination/src/main/java/org/onap/policy/coordination/Util.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -32,8 +33,10 @@ import java.util.stream.Stream; import org.apache.commons.io.IOUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.yaml.snakeyaml.LoaderOptions; import org.yaml.snakeyaml.Yaml; import org.yaml.snakeyaml.constructor.Constructor; +import org.yaml.snakeyaml.inspector.TagInspector; public final class Util { @@ -51,12 +54,16 @@ public final class Util { * @return the CoordinationDirective */ public static CoordinationDirective loadCoordinationDirectiveFromFile(String directiveFilename) { - try (var is = new FileInputStream(new File(directiveFilename))) { + try (var is = new FileInputStream(directiveFilename)) { + var loaderoptions = new LoaderOptions(); + TagInspector taginspector = tag -> tag.getClassName().equals(CoordinationDirective.class.getName()); + loaderoptions.setTagInspector(taginspector); + var contents = IOUtils.toString(is, StandardCharsets.UTF_8); // // Read the yaml into our Java Object // - var yaml = new Yaml(new Constructor(CoordinationDirective.class)); + var yaml = new Yaml(new Constructor(CoordinationDirective.class, loaderoptions)); Object obj = yaml.load(contents); logger.debug(contents); diff --git a/controlloop/common/coordination/src/test/java/org/onap/policy/coordination/CoordinationDirectiveTest.java b/controlloop/common/coordination/src/test/java/org/onap/policy/coordination/CoordinationDirectiveTest.java index 47d11dd62..96846ecb4 100644 --- a/controlloop/common/coordination/src/test/java/org/onap/policy/coordination/CoordinationDirectiveTest.java +++ b/controlloop/common/coordination/src/test/java/org/onap/policy/coordination/CoordinationDirectiveTest.java @@ -3,6 +3,7 @@ * controlloop * ================================================================================ * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,16 +22,16 @@ package org.onap.policy.coordination; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; import java.util.Arrays; -import org.junit.Test; +import org.junit.jupiter.api.Test; -public class CoordinationDirectiveTest { +class CoordinationDirectiveTest { @Test - public void test() { + void test() { CoordinationDirective cd1 = new CoordinationDirective(); diff --git a/controlloop/common/coordination/src/test/java/org/onap/policy/coordination/UtilTest.java b/controlloop/common/coordination/src/test/java/org/onap/policy/coordination/UtilTest.java index 21998a7b4..d1b99ab27 100644 --- a/controlloop/common/coordination/src/test/java/org/onap/policy/coordination/UtilTest.java +++ b/controlloop/common/coordination/src/test/java/org/onap/policy/coordination/UtilTest.java @@ -3,6 +3,7 @@ * controlloop * ================================================================================ * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,19 +22,19 @@ package org.onap.policy.coordination; import static org.assertj.core.api.Assertions.assertThatNullPointerException; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; -import org.junit.Test; +import org.junit.jupiter.api.Test; -public class UtilTest { +class UtilTest { @Test - public void test() { + void test() { - String filename = "src/test/resources/test_coordination_directive.yaml"; - CoordinationDirective cd1 = Util.loadCoordinationDirectiveFromFile(filename); + var filename = "src/test/resources/test_coordination_directive.yaml"; + var cd1 = Util.loadCoordinationDirectiveFromFile(filename); assertNotNull(cd1); @@ -46,7 +47,7 @@ public class UtilTest { assertEquals("cf", cd1.getCoordinationFunction()); filename = "src/test/resources/non_existent_coordination_directive.yaml"; - CoordinationDirective cd2 = Util.loadCoordinationDirectiveFromFile(filename); + var cd2 = Util.loadCoordinationDirectiveFromFile(filename); assertNull(cd2); diff --git a/controlloop/common/eventmanager/pom.xml b/controlloop/common/eventmanager/pom.xml index 78338f8c1..fc3da2ae6 100644 --- a/controlloop/common/eventmanager/pom.xml +++ b/controlloop/common/eventmanager/pom.xml @@ -27,15 +27,20 @@ <parent> <groupId>org.onap.policy.drools-applications.controlloop.common</groupId> <artifactId>drools-applications-common</artifactId> - <version>2.0.0-SNAPSHOT</version> + <version>2.0.1-SNAPSHOT</version> </parent> <artifactId>eventmanager</artifactId> <dependencies> <dependency> + <groupId>org.hibernate.orm</groupId> + <artifactId>hibernate-core</artifactId> + </dependency> + + <dependency> <groupId>org.hibernate</groupId> - <artifactId>hibernate-entitymanager</artifactId> + <artifactId>hibernate-core-jakarta</artifactId> </dependency> <dependency> <groupId>commons-io</groupId> @@ -176,9 +181,9 @@ <scope>provided</scope> </dependency> <dependency> - <groupId>org.onap.policy.models</groupId> - <artifactId>policy-models-decisions</artifactId> - <version>${policy.models.version}</version> + <groupId>org.onap.policy.models</groupId> + <artifactId>policy-models-decisions</artifactId> + <version>${policy.models.version}</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> diff --git a/controlloop/common/eventmanager/src/main/java/org/onap/policy/controlloop/ophistory/OperationHistoryDataManagerImpl.java b/controlloop/common/eventmanager/src/main/java/org/onap/policy/controlloop/ophistory/OperationHistoryDataManagerImpl.java index c36ca786d..36d0ba59c 100644 --- a/controlloop/common/eventmanager/src/main/java/org/onap/policy/controlloop/ophistory/OperationHistoryDataManagerImpl.java +++ b/controlloop/common/eventmanager/src/main/java/org/onap/policy/controlloop/ophistory/OperationHistoryDataManagerImpl.java @@ -21,15 +21,15 @@ package org.onap.policy.controlloop.ophistory; +import jakarta.persistence.EntityManager; +import jakarta.persistence.EntityManagerFactory; +import jakarta.persistence.Persistence; import java.util.Date; import java.util.List; import java.util.Properties; import java.util.concurrent.BlockingQueue; import java.util.concurrent.LinkedBlockingQueue; import java.util.function.Consumer; -import javax.persistence.EntityManager; -import javax.persistence.EntityManagerFactory; -import javax.persistence.Persistence; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; @@ -312,10 +312,10 @@ public class OperationHistoryDataManagerImpl implements OperationHistoryDataMana */ private Properties toProperties(OperationHistoryDataManagerParams params) { var props = new Properties(); - props.put("javax.persistence.jdbc.driver", params.getDriver()); - props.put("javax.persistence.jdbc.url", params.getUrl()); - props.put("javax.persistence.jdbc.user", params.getUserName()); - props.put("javax.persistence.jdbc.password", params.getPassword()); + props.put("jakarta.persistence.jdbc.driver", params.getDriver()); + props.put("jakarta.persistence.jdbc.url", params.getUrl()); + props.put("jakarta.persistence.jdbc.user", params.getUserName()); + props.put("jakarta.persistence.jdbc.password", params.getPassword()); props.put("hibernate.dialect", params.getDbHibernateDialect()); return props; diff --git a/controlloop/common/eventmanager/src/main/resources/META-INF/persistence.xml b/controlloop/common/eventmanager/src/main/resources/META-INF/persistence.xml index 115ec51ae..e55fda222 100644 --- a/controlloop/common/eventmanager/src/main/resources/META-INF/persistence.xml +++ b/controlloop/common/eventmanager/src/main/resources/META-INF/persistence.xml @@ -19,13 +19,17 @@ limitations under the License. ============LICENSE_END========================================================= --> -<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"> +<persistence xmlns="https://jakarta.ee/xml/ns/persistence" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="https://jakarta.ee/xml/ns/persistence https://jakarta.ee/xml/ns/persistence/persistence_3_0.xsd" + version="3.0"> <persistence-unit name="OperationsHistoryPU" transaction-type="RESOURCE_LOCAL"> + <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider> <class>org.onap.policy.guard.OperationsHistory</class> <properties> - <property name="javax.persistence.schema-generation.database.action" value="create" /> + <property name="jakarta.persistence.schema-generation.database.action" value="create" /> <property name="hibernate.dialect" value="org.hibernate.dialect.MariaDBDialect" /> <property name="hibernate.show_sql" value="false" /> </properties> diff --git a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/ControlLoopExceptionTest.java b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/ControlLoopExceptionTest.java index 198af71b2..758084701 100644 --- a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/ControlLoopExceptionTest.java +++ b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/ControlLoopExceptionTest.java @@ -3,7 +3,8 @@ * eventmanager * ================================================================================ * Copyright (C) 2018 Ericsson. All rights reserved. - * Modifications Copyright (C) 2019-20201 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,13 +22,13 @@ package org.onap.policy.controlloop; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.onap.policy.common.utils.test.ExceptionsTester; -public class ControlLoopExceptionTest { +class ControlLoopExceptionTest { @Test - public void testControlLoopException() { + void testControlLoopException() { new ExceptionsTester().test(ControlLoopException.class); } } diff --git a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/drl/legacy/ControlLoopParamsTest.java b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/drl/legacy/ControlLoopParamsTest.java index f636e08f6..a09ea8512 100644 --- a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/drl/legacy/ControlLoopParamsTest.java +++ b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/drl/legacy/ControlLoopParamsTest.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,29 +21,28 @@ package org.onap.policy.controlloop.drl.legacy; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; -import com.openpojo.reflection.PojoClass; import com.openpojo.reflection.impl.PojoClassFactory; -import com.openpojo.validation.Validator; import com.openpojo.validation.ValidatorBuilder; import com.openpojo.validation.test.impl.GetterTester; import com.openpojo.validation.test.impl.SetterTester; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; -public class ControlLoopParamsTest { + +class ControlLoopParamsTest { private static final String CONTROL_LOOP_NAME = "c"; private static final String POLICY_NAME = "m"; private static final String POLICY_SCOPE = "s"; private static final String POLICY_VERSION = "v"; - private ControlLoopParams clp = new ControlLoopParams(); + private final ControlLoopParams clp = new ControlLoopParams(); /** * Prepare tests. */ - @Before + @BeforeEach public void setUp() { clp.setClosedLoopControlName(CONTROL_LOOP_NAME); clp.setPolicyName(POLICY_NAME); @@ -51,60 +51,60 @@ public class ControlLoopParamsTest { } @Test - public void testPojo() { - PojoClass controlLoopParams = PojoClassFactory.getPojoClass(ControlLoopParams.class); - Validator validator = ValidatorBuilder.create() + void testPojo() { + var controlLoopParams = PojoClassFactory.getPojoClass(ControlLoopParams.class); + var validator = ValidatorBuilder.create() .with(new SetterTester(), new GetterTester()).build(); validator.validate(controlLoopParams); } @Test - public void getClosedLoopControlName() { + void getClosedLoopControlName() { assertEquals(CONTROL_LOOP_NAME, clp.getClosedLoopControlName()); } @Test - public void getPolicyName() { + void getPolicyName() { assertEquals(POLICY_NAME, clp.getPolicyName()); } @Test - public void getPolicyScope() { + void getPolicyScope() { assertEquals(POLICY_SCOPE, clp.getPolicyScope()); } @Test - public void getPolicyVersion() { + void getPolicyVersion() { assertEquals(POLICY_VERSION, clp.getPolicyVersion()); } @Test - public void setClosedLoopControlName() { + void setClosedLoopControlName() { clp.setClosedLoopControlName(CONTROL_LOOP_NAME.toUpperCase()); assertEquals(CONTROL_LOOP_NAME.toUpperCase(), clp.getClosedLoopControlName()); } @Test - public void setPolicyName() { + void setPolicyName() { clp.setPolicyName(POLICY_NAME.toUpperCase()); assertEquals(POLICY_NAME.toUpperCase(), clp.getPolicyName()); } @Test - public void setPolicyScope() { + void setPolicyScope() { clp.setPolicyScope(POLICY_SCOPE.toUpperCase()); assertEquals(POLICY_SCOPE.toUpperCase(), clp.getPolicyScope()); } @Test - public void setPolicyVersion() { + void setPolicyVersion() { clp.setPolicyVersion(POLICY_VERSION.toUpperCase()); assertEquals(POLICY_VERSION.toUpperCase(), clp.getPolicyVersion()); } @Test - public void testTwo() { - ControlLoopParams other = new ControlLoopParams(); + void testTwo() { + var other = new ControlLoopParams(); other.setClosedLoopControlName(CONTROL_LOOP_NAME); other.setPolicyName(POLICY_NAME); other.setPolicyScope(POLICY_SCOPE); diff --git a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/ClEventManagerWithEventTest.java b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/ClEventManagerWithEventTest.java index ad01fee78..3b16f465b 100644 --- a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/ClEventManagerWithEventTest.java +++ b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/ClEventManagerWithEventTest.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2021, 2023 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,11 +24,12 @@ package org.onap.policy.controlloop.eventmanager; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatCode; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertSame; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertSame; import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -41,18 +43,14 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.atomic.AtomicReference; import org.drools.core.WorkingMemory; import org.drools.core.common.InternalFactHandle; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.onap.policy.common.utils.coder.Coder; import org.onap.policy.common.utils.coder.CoderException; import org.onap.policy.common.utils.coder.StandardYamlCoder; import org.onap.policy.common.utils.resources.ResourceUtils; import org.onap.policy.controlloop.ControlLoopEventStatus; import org.onap.policy.controlloop.ControlLoopException; -import org.onap.policy.controlloop.ControlLoopResponse; import org.onap.policy.controlloop.ControlLoopTargetType; import org.onap.policy.controlloop.VirtualControlLoopEvent; import org.onap.policy.controlloop.VirtualControlLoopNotification; @@ -73,8 +71,7 @@ import org.onap.policy.drools.system.PolicyEngine; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate; -@RunWith(MockitoJUnitRunner.class) -public class ClEventManagerWithEventTest { +class ClEventManagerWithEventTest { private static final UUID REQ_ID = UUID.randomUUID(); private static final String CL_NAME = "my-closed-loop-name"; private static final String POLICY_NAME = "my-policy-name"; @@ -91,30 +88,18 @@ public class ClEventManagerWithEventTest { private static final Coder yamlCoder = new StandardYamlCoder(); private static final String OUTCOME_MSG = "my outcome message"; - @Mock - private PolicyEngine engineMgr; - @Mock - private WorkingMemory workMem; - @Mock - private InternalFactHandle factHandle; - @Mock - private Operator policyOperator; - @Mock - private Operation policyOperation; - @Mock - private Actor policyActor; - @Mock - private EventManagerServices services; - @Mock - private ActorService actors; - @Mock - private OperationHistoryDataManager dataMgr; - @Mock - private ExecutorService executor; - @Mock - private MyStep stepa; - @Mock - private MyStep stepb; + private final PolicyEngine engineMgr = mock(PolicyEngine.class); + private final WorkingMemory workMem = mock(WorkingMemory.class); + private final InternalFactHandle factHandle = mock(InternalFactHandle.class); + private final Operator policyOperator = mock(Operator.class); + private final Operation policyOperation = mock(Operation.class); + private final Actor policyActor = mock(Actor.class); + private final EventManagerServices services = mock(EventManagerServices.class); + private final ActorService actors = mock(ActorService.class); + private final OperationHistoryDataManager dataMgr = mock(OperationHistoryDataManager.class); + private final ExecutorService executor = mock(ExecutorService.class); + private final MyStep stepa = mock(MyStep.class); + private final MyStep stepb = mock(MyStep.class); private List<LockImpl> locks; private ToscaPolicy tosca; @@ -125,7 +110,7 @@ public class ClEventManagerWithEventTest { /** * Sets up. */ - @Before + @BeforeEach public void setUp() throws ControlLoopException, CoderException { when(services.getActorService()).thenReturn(actors); when(services.getDataManager()).thenReturn(dataMgr); @@ -154,7 +139,7 @@ public class ClEventManagerWithEventTest { } @Test - public void testConstructor() { + void testConstructor() { assertEquals(POLICY_NAME, mgr.getPolicyName()); assertSame(event, mgr.getEvent()); @@ -168,7 +153,7 @@ public class ClEventManagerWithEventTest { } @Test - public void testPopulateNotification() throws Exception { + void testPopulateNotification() throws Exception { loadPolicy(EVENT_MGR_MULTI_YAML); mgr = new MyManager(services, params, event, workMem); @@ -228,7 +213,7 @@ public class ClEventManagerWithEventTest { } @Test - public void testStoreInDataBase() throws ControlLoopException { + void testStoreInDataBase() throws ControlLoopException { mgr.start(); OperationOutcome outcome = makeOutcome(); mgr.addToHistory(outcome); @@ -240,10 +225,10 @@ public class ClEventManagerWithEventTest { } @Test - public void testMakeControlLoopResponse() { - final OperationOutcome outcome = new OperationOutcome(); + void testMakeControlLoopResponse() { + final var outcome = new OperationOutcome(); - ControlLoopResponse resp = mgr.makeControlLoopResponse(outcome); + var resp = mgr.makeControlLoopResponse(outcome); assertNotNull(resp); assertEquals("DCAE", resp.getTarget()); assertEquals(event.getClosedLoopControlName(), resp.getClosedLoopControlName()); @@ -254,8 +239,8 @@ public class ClEventManagerWithEventTest { } @Test - public void testOnNewEvent() { - VirtualControlLoopEvent event2 = new VirtualControlLoopEvent(event); + void testOnNewEvent() { + var event2 = new VirtualControlLoopEvent(event); assertEquals(NewEventStatus.FIRST_ONSET, mgr.onNewEvent(event2)); event2.setPayload("other payload"); @@ -274,7 +259,7 @@ public class ClEventManagerWithEventTest { } @Test - public void testCheckEventSyntax() { + void testCheckEventSyntax() { // initially, it's valid assertThatCode(() -> mgr.checkEventSyntax(event)).doesNotThrowAnyException(); @@ -296,7 +281,7 @@ public class ClEventManagerWithEventTest { } @Test - public void testValidateStatus() { + void testValidateStatus() { event.setClosedLoopEventStatus(ControlLoopEventStatus.ONSET); assertThatCode(() -> mgr.checkEventSyntax(event)).doesNotThrowAnyException(); @@ -309,7 +294,7 @@ public class ClEventManagerWithEventTest { } private void loadPolicy(String fileName) throws CoderException { - ToscaServiceTemplate template = + var template = yamlCoder.decode(ResourceUtils.getResourceAsString(fileName), ToscaServiceTemplate.class); tosca = template.getToscaTopologyTemplate().getPolicies().get(0).values().iterator().next(); @@ -317,14 +302,14 @@ public class ClEventManagerWithEventTest { } private OperationOutcome makeCompletedOutcome() { - OperationOutcome outcome = makeOutcome(); + var outcome = makeOutcome(); outcome.setEnd(outcome.getStart()); return outcome; } private OperationOutcome makeOutcome() { - OperationOutcome outcome = new OperationOutcome(); + var outcome = new OperationOutcome(); outcome.setActor(SIMPLE_ACTOR); outcome.setOperation(SIMPLE_OPERATION); outcome.setMessage(OUTCOME_MSG); diff --git a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/ClEventManagerWithOutcomeTest.java b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/ClEventManagerWithOutcomeTest.java index 7534635d1..17e81044d 100644 --- a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/ClEventManagerWithOutcomeTest.java +++ b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/ClEventManagerWithOutcomeTest.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2021, 2023 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,13 +23,14 @@ package org.onap.policy.controlloop.eventmanager; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertSame; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import java.time.Instant; @@ -39,18 +41,13 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.atomic.AtomicReference; import org.drools.core.WorkingMemory; import org.drools.core.common.InternalFactHandle; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.onap.policy.common.utils.coder.Coder; import org.onap.policy.common.utils.coder.CoderException; import org.onap.policy.common.utils.coder.StandardYamlCoder; import org.onap.policy.common.utils.resources.ResourceUtils; import org.onap.policy.controlloop.ControlLoopException; -import org.onap.policy.controlloop.ControlLoopResponse; -import org.onap.policy.controlloop.VirtualControlLoopNotification; import org.onap.policy.controlloop.actorserviceprovider.Operation; import org.onap.policy.controlloop.actorserviceprovider.OperationOutcome; import org.onap.policy.controlloop.actorserviceprovider.OperationResult; @@ -65,8 +62,7 @@ import org.onap.policy.drools.system.PolicyEngine; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate; -@RunWith(MockitoJUnitRunner.class) -public class ClEventManagerWithOutcomeTest { +class ClEventManagerWithOutcomeTest { private static final UUID REQ_ID = UUID.randomUUID(); private static final String CL_NAME = "my-closed-loop-name"; private static final String POLICY_NAME = "my-policy-name"; @@ -82,26 +78,16 @@ public class ClEventManagerWithOutcomeTest { private static final Coder yamlCoder = new StandardYamlCoder(); private static final String OUTCOME_MSG = "my outcome message"; - @Mock - private PolicyEngine engineMgr; - @Mock - private WorkingMemory workMem; - @Mock - private InternalFactHandle factHandle; - @Mock - private Operator policyOperator; - @Mock - private Operation policyOperation; - @Mock - private Actor policyActor; - @Mock - private EventManagerServices services; - @Mock - private ExecutorService executor; - @Mock - private MyStep stepa; - @Mock - private MyStep stepb; + private final PolicyEngine engineMgr = mock(PolicyEngine.class); + private final WorkingMemory workMem = mock(WorkingMemory.class); + private final InternalFactHandle factHandle = mock(InternalFactHandle.class); + private final Operator policyOperator = mock(Operator.class); + private final Operation policyOperation = mock(Operation.class); + private final Actor policyActor = mock(Actor.class); + private final EventManagerServices services = mock(EventManagerServices.class); + private final ExecutorService executor = mock(ExecutorService.class); + private final MyStep stepa = mock(MyStep.class); + private final MyStep stepb = mock(MyStep.class); private List<LockImpl> locks; private ToscaPolicy tosca; @@ -111,7 +97,7 @@ public class ClEventManagerWithOutcomeTest { /** * Sets up. */ - @Before + @BeforeEach public void setUp() throws ControlLoopException, CoderException { when(workMem.getFactHandle(any())).thenReturn(factHandle); @@ -129,7 +115,7 @@ public class ClEventManagerWithOutcomeTest { } @Test - public void testConstructor() { + void testConstructor() { assertEquals(POLICY_NAME, mgr.getPolicyName()); // invalid @@ -138,7 +124,7 @@ public class ClEventManagerWithOutcomeTest { } @Test - public void testLoadNextPolicy_testGetFullHistory_testGetPartialHistory() throws Exception { + void testLoadNextPolicy_testGetFullHistory_testGetPartialHistory() throws Exception { loadPolicy(EVENT_MGR_MULTI_YAML); mgr = new MyManager(services, params, REQ_ID, workMem); @@ -148,7 +134,7 @@ public class ClEventManagerWithOutcomeTest { assertNull(mgr.getFinalResult()); // add an outcome - OperationOutcome outcome = makeOutcome(); + var outcome = makeOutcome(); mgr.addToHistory(outcome); // indicate success and load next policy @@ -162,7 +148,7 @@ public class ClEventManagerWithOutcomeTest { } @Test - public void testExecuteStep() { + void testExecuteStep() { mgr.bumpAttempts(); // no steps to execute @@ -171,7 +157,7 @@ public class ClEventManagerWithOutcomeTest { } @Test - public void testBumpAttempts() { + void testBumpAttempts() { assertEquals(0, mgr.getAttempts()); mgr.bumpAttempts(); @@ -180,8 +166,8 @@ public class ClEventManagerWithOutcomeTest { } @Test - public void testIsAbort() { - OperationOutcome outcome = makeCompletedOutcome(); + void testIsAbort() { + var outcome = makeCompletedOutcome(); outcome.setResult(OperationResult.FAILURE); assertTrue(mgr.isAbort(outcome)); @@ -192,11 +178,11 @@ public class ClEventManagerWithOutcomeTest { } @Test - public void testAddToHistory() throws ControlLoopException { + void testAddToHistory() throws ControlLoopException { mgr.start(); // add a "start" outcome - OperationOutcome outcome = makeOutcome(); + var outcome = makeOutcome(); mgr.addToHistory(outcome); assertThat(mgr.getPartialHistory()).hasSize(1); @@ -244,7 +230,7 @@ public class ClEventManagerWithOutcomeTest { } @Test - public void testMakeNotification() throws Exception { + void testMakeNotification() throws Exception { loadPolicy(EVENT_MGR_MULTI_YAML); mgr = new MyManager(services, params, REQ_ID, workMem); @@ -258,7 +244,7 @@ public class ClEventManagerWithOutcomeTest { mgr.addToHistory(makeCompletedOutcome()); // check notification while running - VirtualControlLoopNotification notif = mgr.makeNotification(); + var notif = mgr.makeNotification(); assertThat(notif.getMessage()).contains(SIMPLE_ACTOR); assertThat(notif.getHistory()).hasSize(3); @@ -296,13 +282,13 @@ public class ClEventManagerWithOutcomeTest { } @Test - public void testGetOperationMessage() throws ControlLoopException { + void testGetOperationMessage() throws ControlLoopException { // no history yet assertNull(mgr.getOperationMessage()); // add an outcome mgr.start(); - OperationOutcome outcome = makeOutcome(); + var outcome = makeOutcome(); mgr.addToHistory(outcome); assertThat(mgr.getOperationMessage()).contains("actor=" + SIMPLE_ACTOR) @@ -310,32 +296,31 @@ public class ClEventManagerWithOutcomeTest { } @Test - public void testMakeControlLoopResponse() { - final OperationOutcome outcome = new OperationOutcome(); + void testMakeControlLoopResponse() { + final var outcome = new OperationOutcome(); outcome.setActor(SIMPLE_ACTOR); - ControlLoopResponse resp = mgr.makeControlLoopResponse(outcome); + var resp = mgr.makeControlLoopResponse(outcome); assertNotNull(resp); assertEquals(SIMPLE_ACTOR, resp.getFrom()); } private void loadPolicy(String fileName) throws CoderException { - ToscaServiceTemplate template = - yamlCoder.decode(ResourceUtils.getResourceAsString(fileName), ToscaServiceTemplate.class); + var template = yamlCoder.decode(ResourceUtils.getResourceAsString(fileName), ToscaServiceTemplate.class); tosca = template.getToscaTopologyTemplate().getPolicies().get(0).values().iterator().next(); params.setToscaPolicy(tosca); } private OperationOutcome makeCompletedOutcome() { - OperationOutcome outcome = makeOutcome(); + var outcome = makeOutcome(); outcome.setEnd(outcome.getStart()); return outcome; } private OperationOutcome makeOutcome() { - OperationOutcome outcome = new OperationOutcome(); + var outcome = new OperationOutcome(); outcome.setActor(SIMPLE_ACTOR); outcome.setOperation(SIMPLE_OPERATION); outcome.setMessage(OUTCOME_MSG); @@ -363,7 +348,7 @@ public class ClEventManagerWithOutcomeTest { @Override protected void makeLock(String targetEntity, String requestId, int holdSec, LockCallback callback) { - LockImpl lock = new LockImpl(LockState.ACTIVE, targetEntity, requestId, holdSec, callback); + var lock = new LockImpl(LockState.ACTIVE, targetEntity, requestId, holdSec, callback); locks.add(lock); callback.lockAvailable(lock); } diff --git a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/ClEventManagerWithStepsTest.java b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/ClEventManagerWithStepsTest.java index 76e8167f4..95d4046ce 100644 --- a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/ClEventManagerWithStepsTest.java +++ b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/ClEventManagerWithStepsTest.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2021, 2023 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,21 +25,21 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatCode; import static org.assertj.core.api.Assertions.assertThatIllegalStateException; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertSame; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyLong; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import java.time.Instant; import java.util.ArrayList; -import java.util.Deque; import java.util.List; import java.util.UUID; import java.util.concurrent.ExecutorService; @@ -46,11 +47,8 @@ import java.util.concurrent.ForkJoinPool; import java.util.concurrent.atomic.AtomicReference; import org.drools.core.WorkingMemory; import org.drools.core.common.InternalFactHandle; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.onap.policy.common.utils.coder.Coder; import org.onap.policy.common.utils.coder.CoderException; import org.onap.policy.common.utils.coder.StandardYamlCoder; @@ -73,8 +71,7 @@ import org.onap.policy.drools.system.PolicyEngine; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate; -@RunWith(MockitoJUnitRunner.class) -public class ClEventManagerWithStepsTest { +class ClEventManagerWithStepsTest { private static final UUID REQ_ID = UUID.randomUUID(); private static final String CL_NAME = "my-closed-loop-name"; private static final String POLICY_NAME = "my-policy-name"; @@ -91,28 +88,17 @@ public class ClEventManagerWithStepsTest { private static final String OUTCOME_MSG = "my outcome message"; private static final String MY_SINK = "my-topic-sink"; - @Mock - private PolicyEngine engineMgr; - @Mock - private WorkingMemory workMem; - @Mock - private InternalFactHandle factHandle; - @Mock - private Operator policyOperator; - @Mock - private Operation policyOperation; - @Mock - private Actor policyActor; - @Mock - private ExecutorService executor; - @Mock - private EventManagerServices services; - @Mock - private ActorService actors; - @Mock - private MyStep stepa; - @Mock - private MyStep stepb; + private final PolicyEngine engineMgr = mock(PolicyEngine.class); + private final WorkingMemory workMem = mock(WorkingMemory.class); + private final InternalFactHandle factHandle = mock(InternalFactHandle.class); + private final Operator policyOperator = mock(Operator.class); + private final Operation policyOperation = mock(Operation.class); + private final Actor policyActor = mock(Actor.class); + private final ExecutorService executor = mock(ExecutorService.class); + private final EventManagerServices services = mock(EventManagerServices.class); + private final ActorService actors = mock(ActorService.class); + private MyStep stepa = mock(MyStep.class); + private final MyStep stepb = mock(MyStep.class); private List<LockImpl> locks; private ToscaPolicy tosca; @@ -122,7 +108,7 @@ public class ClEventManagerWithStepsTest { /** * Sets up. */ - @Before + @BeforeEach public void setUp() throws ControlLoopException, CoderException { when(services.getActorService()).thenReturn(actors); @@ -142,7 +128,7 @@ public class ClEventManagerWithStepsTest { } @Test - public void testConstructor() { + void testConstructor() { assertEquals(POLICY_NAME, mgr.getPolicyName()); // invalid @@ -151,7 +137,7 @@ public class ClEventManagerWithStepsTest { } @Test - public void testDestroy_testGetSteps() { + void testDestroy_testGetSteps() { // add some steps to the queue mgr.getSteps().add(stepa); mgr.getSteps().add(stepb); @@ -167,8 +153,8 @@ public class ClEventManagerWithStepsTest { } @Test - public void testOnStart() throws ControlLoopException { - OperationOutcome outcome = makeOutcome(); + void testOnStart() throws ControlLoopException { + var outcome = makeOutcome(); mgr.start(); mgr.onStart(outcome); @@ -180,8 +166,8 @@ public class ClEventManagerWithStepsTest { } @Test - public void testOnComplete() throws ControlLoopException { - OperationOutcome outcome = makeCompletedOutcome(); + void testOnComplete() throws ControlLoopException { + var outcome = makeCompletedOutcome(); mgr.start(); mgr.onComplete(outcome); @@ -193,12 +179,12 @@ public class ClEventManagerWithStepsTest { } @Test - public void testToString() { + void testToString() { assertNotNull(mgr.toString()); } @Test - public void testStart() throws ControlLoopException { + void testStart() throws ControlLoopException { // start it mgr.start(); @@ -211,7 +197,7 @@ public class ClEventManagerWithStepsTest { * Tests start() when the manager is not in working memory. */ @Test - public void testStartNotInWorkingMemory() throws ControlLoopException { + void testStartNotInWorkingMemory() throws ControlLoopException { when(workMem.getFactHandle(any())).thenReturn(null); assertThatCode(() -> mgr.start()).isInstanceOf(IllegalStateException.class) @@ -222,10 +208,9 @@ public class ClEventManagerWithStepsTest { * Tests start() when the manager is not active. */ @Test - public void testStartInactive() throws Exception { + void testStartInactive() throws Exception { // make an inactive manager by deserializing it - RealManager mgr2 = Serializer.roundTrip(new RealManager(services, params, REQ_ID, workMem)); - mgr = mgr2; + mgr = Serializer.roundTrip(new RealManager(services, params, REQ_ID, workMem)); // cannot re-start assertThatCode(() -> mgr.start()).isInstanceOf(IllegalStateException.class) @@ -233,7 +218,7 @@ public class ClEventManagerWithStepsTest { } @Test - public void testAbort() { + void testAbort() { mgr.abort(ClEventManagerWithSteps.State.DONE, OperationFinalResult.FINAL_FAILURE_GUARD, "some message"); assertEquals(ClEventManagerWithSteps.State.DONE, mgr.getState()); @@ -266,18 +251,18 @@ public class ClEventManagerWithStepsTest { } @Test - public void testLoadPolicy() throws ControlLoopException { + void testLoadPolicy() throws ControlLoopException { // start() will invoke loadPolicy() mgr.start(); assertNull(mgr.getFinalResult()); - MyStep step = mgr.getSteps().peek(); + var step = mgr.getSteps().peek(); assertNotNull(step); assertEquals("First", step.getActorName()); assertEquals("OperationA", step.getOperationName()); - ControlLoopOperationParams params2 = step.getParams(); + var params2 = step.getParams(); assertSame(actors, params2.getActorService()); assertSame(REQ_ID, params2.getRequestId()); assertSame(ForkJoinPool.commonPool(), params2.getExecutor()); @@ -291,7 +276,7 @@ public class ClEventManagerWithStepsTest { } @Test - public void testLoadPreprocessorSteps() { + void testLoadPreprocessorSteps() { stepa = new MyStep(mgr, ControlLoopOperationParams.builder().build()) { @Override protected Operation buildOperation() { @@ -299,7 +284,7 @@ public class ClEventManagerWithStepsTest { } }; - Deque<MyStep> steps = mgr.getSteps(); + var steps = mgr.getSteps(); steps.add(stepa); steps.add(stepb); @@ -320,7 +305,7 @@ public class ClEventManagerWithStepsTest { * Tests loadPreprocessorSteps() when there are too many steps in the queue. */ @Test - public void testLoadPreprocessorStepsTooManySteps() { + void testLoadPreprocessorStepsTooManySteps() { stepa = new MyStep(mgr, ControlLoopOperationParams.builder().build()) { @Override protected Operation buildOperation() { @@ -328,7 +313,7 @@ public class ClEventManagerWithStepsTest { } }; - Deque<MyStep> steps = mgr.getSteps(); + var steps = mgr.getSteps(); // load up a bunch of steps for (int nsteps = 0; nsteps < ClEventManagerWithSteps.MAX_STEPS; ++nsteps) { @@ -353,7 +338,7 @@ public class ClEventManagerWithStepsTest { } @Test - public void testExecuteStep() { + void testExecuteStep() { // no steps to execute assertFalse(mgr.executeStep()); @@ -370,7 +355,7 @@ public class ClEventManagerWithStepsTest { } @Test - public void testNextStep() { + void testNextStep() { mgr.getSteps().add(stepa); mgr.nextStep(); @@ -379,7 +364,7 @@ public class ClEventManagerWithStepsTest { } @Test - public void testDeliver() { + void testDeliver() { mgr.deliver(MY_SINK, null, "null notification", "null rule"); verify(engineMgr, never()).deliver(any(), any()); @@ -392,22 +377,21 @@ public class ClEventManagerWithStepsTest { } private void loadPolicy(String fileName) throws CoderException { - ToscaServiceTemplate template = - yamlCoder.decode(ResourceUtils.getResourceAsString(fileName), ToscaServiceTemplate.class); + var template = yamlCoder.decode(ResourceUtils.getResourceAsString(fileName), ToscaServiceTemplate.class); tosca = template.getToscaTopologyTemplate().getPolicies().get(0).values().iterator().next(); params.setToscaPolicy(tosca); } private OperationOutcome makeCompletedOutcome() { - OperationOutcome outcome = makeOutcome(); + var outcome = makeOutcome(); outcome.setEnd(outcome.getStart()); return outcome; } private OperationOutcome makeOutcome() { - OperationOutcome outcome = new OperationOutcome(); + var outcome = new OperationOutcome(); outcome.setActor(SIMPLE_ACTOR); outcome.setOperation(SIMPLE_OPERATION); outcome.setMessage(OUTCOME_MSG); @@ -435,7 +419,7 @@ public class ClEventManagerWithStepsTest { @Override protected void makeLock(String targetEntity, String requestId, int holdSec, LockCallback callback) { - LockImpl lock = new LockImpl(LockState.ACTIVE, targetEntity, requestId, holdSec, callback); + var lock = new LockImpl(LockState.ACTIVE, targetEntity, requestId, holdSec, callback); locks.add(lock); callback.lockAvailable(lock); } diff --git a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/ControlLoopEventManagerTest.java b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/ControlLoopEventManagerTest.java index ece13611b..d83c3fe78 100644 --- a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/ControlLoopEventManagerTest.java +++ b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/ControlLoopEventManagerTest.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,11 +23,12 @@ package org.onap.policy.controlloop.eventmanager; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatCode; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertSame; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -34,14 +36,10 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.UUID; -import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutorService; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; -import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; import org.onap.policy.common.utils.coder.Coder; import org.onap.policy.common.utils.coder.CoderException; import org.onap.policy.common.utils.coder.StandardYamlCoder; @@ -59,8 +57,7 @@ import org.onap.policy.drools.core.lock.LockState; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate; -@RunWith(MockitoJUnitRunner.class) -public class ControlLoopEventManagerTest { +class ControlLoopEventManagerTest { private static final UUID REQ_ID = UUID.randomUUID(); private static final String EXPECTED_EXCEPTION = "expected exception"; private static final String CL_NAME = "my-closed-loop-name"; @@ -72,12 +69,9 @@ public class ControlLoopEventManagerTest { private static final Coder yamlCoder = new StandardYamlCoder(); private static final String MY_KEY = "def"; - @Mock - private ExecutorService executor; - @Mock - private EventManagerServices services; - @Mock - private OperationHistoryDataManager dataMgr; + private final ExecutorService executor = mock(ExecutorService.class); + private final EventManagerServices services = mock(EventManagerServices.class); + private final OperationHistoryDataManager dataMgr = mock(OperationHistoryDataManager.class); private long preCreateTimeMs; private List<LockImpl> locks; @@ -88,7 +82,7 @@ public class ControlLoopEventManagerTest { /** * Sets up. */ - @Before + @BeforeEach public void setUp() throws ControlLoopException, CoderException { when(services.getDataManager()).thenReturn(dataMgr); @@ -111,7 +105,7 @@ public class ControlLoopEventManagerTest { } @Test - public void testConstructor() { + void testConstructor() { assertEquals(POLICY_NAME, mgr.getPolicyName()); assertTrue(mgr.isActive()); @@ -124,7 +118,7 @@ public class ControlLoopEventManagerTest { } @Test - public void testGetCreateCount() throws ControlLoopException { + void testGetCreateCount() throws ControlLoopException { long original = ControlLoopEventManager.getCreateCount(); new MyManager(services, params, REQ_ID); @@ -135,26 +129,26 @@ public class ControlLoopEventManagerTest { } @Test - public void testIsActive() throws Exception { + void testIsActive() throws Exception { mgr = new ControlLoopEventManager(services, params, REQ_ID); assertTrue(mgr.isActive()); - ControlLoopEventManager mgr2 = Serializer.roundTrip(mgr); + var mgr2 = Serializer.roundTrip(mgr); assertFalse(mgr2.isActive()); } @Test - public void testDestroy() throws IOException { + void testDestroy() throws IOException { mgr.requestLock(LOCK1); mgr.requestLock(LOCK2); mgr.requestLock(LOCK1); // ensure destroy() doesn't throw an exception if the object is deserialized - ControlLoopEventManager mgr2 = Serializer.roundTrip(mgr); + var mgr2 = Serializer.roundTrip(mgr); assertThatCode(() -> mgr2.destroy()).doesNotThrowAnyException(); // locks should not have been freed - for (LockImpl lock : locks) { + for (var lock : locks) { assertFalse(lock.isUnavailable()); } @@ -162,24 +156,24 @@ public class ControlLoopEventManagerTest { runExecutor(); - for (LockImpl lock : locks) { + for (var lock : locks) { assertTrue(lock.isUnavailable()); } } @Test - public void testDetmControlLoopTimeoutMs() throws Exception { + void testDetmControlLoopTimeoutMs() throws Exception { long timeMs = 1200 * 1000L; long end = mgr.getEndTimeMs(); assertThat(end).isGreaterThanOrEqualTo(preCreateTimeMs + timeMs).isLessThan(preCreateTimeMs + timeMs + 5000); } @Test - public void testRequestLock() { - final CompletableFuture<OperationOutcome> future1 = mgr.requestLock(LOCK1); + void testRequestLock() { + final var future1 = mgr.requestLock(LOCK1); assertTrue(mgr.getOutcomes().isEmpty()); - final CompletableFuture<OperationOutcome> future2 = mgr.requestLock(LOCK2); + final var future2 = mgr.requestLock(LOCK2); assertTrue(mgr.getOutcomes().isEmpty()); assertSame(future1, mgr.requestLock(LOCK1)); @@ -198,18 +192,18 @@ public class ControlLoopEventManagerTest { } @Test - public void testReleaseLock() { + void testReleaseLock() { mgr.requestLock(LOCK1); mgr.requestLock(LOCK2); // release one lock - final CompletableFuture<OperationOutcome> future = mgr.releaseLock(LOCK1); + final var future = mgr.releaseLock(LOCK1); // asynchronous, thus should not have executed yet assertThat(future.isDone()).isFalse(); // asynchronous, thus everything should still be locked - for (LockImpl lock : locks) { + for (var lock : locks) { assertThat(lock.isUnavailable()).isFalse(); } @@ -229,8 +223,8 @@ public class ControlLoopEventManagerTest { * Tests releaseLock() when there is no lock. */ @Test - public void testReleaseLockNotLocked() { - final CompletableFuture<OperationOutcome> future = mgr.releaseLock(LOCK1); + void testReleaseLockNotLocked() { + final var future = mgr.releaseLock(LOCK1); // lock didn't exist, so the request should already be complete assertThat(future.isDone()).isTrue(); @@ -243,14 +237,14 @@ public class ControlLoopEventManagerTest { * Tests releaseLock() when lock.free() throws an exception. */ @Test - public void testReleaseLockException() throws ControlLoopException { + void testReleaseLockException() throws ControlLoopException { mgr = new MyManager(services, params, REQ_ID) { private static final long serialVersionUID = 1L; @Override protected void makeLock(String targetEntity, String requestId, int holdSec, LockCallback callback) { - LockImpl lock = new LockImpl(LockState.ACTIVE, targetEntity, requestId, holdSec, callback) { + var lock = new LockImpl(LockState.ACTIVE, targetEntity, requestId, holdSec, callback) { private static final long serialVersionUID = 1L; @Override @@ -267,7 +261,7 @@ public class ControlLoopEventManagerTest { mgr.requestLock(LOCK1); // release the lock - final CompletableFuture<OperationOutcome> future = mgr.releaseLock(LOCK1); + final var future = mgr.releaseLock(LOCK1); // asynchronous, thus should not have executed yet assertThat(future.isDone()).isFalse(); @@ -279,7 +273,7 @@ public class ControlLoopEventManagerTest { } private void verifyLock(OperationResult result, String lockOperation) { - OperationOutcome outcome = mgr.getOutcomes().poll(); + var outcome = mgr.getOutcomes().poll(); assertNotNull(outcome); assertEquals(ActorConstants.LOCK_ACTOR, outcome.getActor()); assertEquals(lockOperation, outcome.getOperation()); @@ -289,9 +283,9 @@ public class ControlLoopEventManagerTest { } @Test - public void testOnStart() { - OperationOutcome outcome1 = new OperationOutcome(); - OperationOutcome outcome2 = new OperationOutcome(); + void testOnStart() { + var outcome1 = new OperationOutcome(); + var outcome2 = new OperationOutcome(); mgr.onStart(outcome1); mgr.onStart(outcome2); @@ -302,9 +296,9 @@ public class ControlLoopEventManagerTest { } @Test - public void testOnComplete() { - OperationOutcome outcome1 = new OperationOutcome(); - OperationOutcome outcome2 = new OperationOutcome(); + void testOnComplete() { + var outcome1 = new OperationOutcome(); + var outcome2 = new OperationOutcome(); mgr.onComplete(outcome1); mgr.onComplete(outcome2); @@ -315,14 +309,14 @@ public class ControlLoopEventManagerTest { } @Test - public void testContains_testGetProperty_testSetProperty_testRemoveProperty() { + void testContains_testGetProperty_testSetProperty_testRemoveProperty() { mgr.setProperty("abc", "a string"); mgr.setProperty(MY_KEY, 100); assertTrue(mgr.contains(MY_KEY)); assertFalse(mgr.contains("ghi")); - String strValue = mgr.getProperty("abc"); + var strValue = mgr.getProperty("abc"); assertEquals("a string", strValue); int intValue = mgr.getProperty(MY_KEY); @@ -336,7 +330,7 @@ public class ControlLoopEventManagerTest { * Tests getDataManager() when not disabled. */ @Test - public void testGetDataManagerNotDisabled() throws ControlLoopException { + void testGetDataManagerNotDisabled() throws ControlLoopException { assertThat(mgr.getDataManager()).isSameAs(dataMgr); } @@ -344,7 +338,7 @@ public class ControlLoopEventManagerTest { * Tests getDataManager() when guard.disabled=true. */ @Test - public void testGetDataManagerDisabled() throws ControlLoopException { + void testGetDataManagerDisabled() throws ControlLoopException { mgr = new MyManager(services, params, REQ_ID) { private static final long serialVersionUID = 1L; @@ -358,20 +352,19 @@ public class ControlLoopEventManagerTest { } @Test - public void testToString() { + void testToString() { assertNotNull(mgr.toString()); } private void loadPolicy(String fileName) throws CoderException { - ToscaServiceTemplate template = - yamlCoder.decode(ResourceUtils.getResourceAsString(fileName), ToscaServiceTemplate.class); + var template = yamlCoder.decode(ResourceUtils.getResourceAsString(fileName), ToscaServiceTemplate.class); tosca = template.getToscaTopologyTemplate().getPolicies().get(0).values().iterator().next(); params.setToscaPolicy(tosca); } private void runExecutor() { - ArgumentCaptor<Runnable> runCaptor = ArgumentCaptor.forClass(Runnable.class); + var runCaptor = ArgumentCaptor.forClass(Runnable.class); verify(executor).execute(runCaptor.capture()); runCaptor.getValue().run(); @@ -396,7 +389,7 @@ public class ControlLoopEventManagerTest { @Override protected void makeLock(String targetEntity, String requestId, int holdSec, LockCallback callback) { - LockImpl lock = new LockImpl(LockState.ACTIVE, targetEntity, requestId, holdSec, callback); + var lock = new LockImpl(LockState.ACTIVE, targetEntity, requestId, holdSec, callback); locks.add(lock); callback.lockAvailable(lock); } diff --git a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/EventManagerServicesTest.java b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/EventManagerServicesTest.java index a2f01344f..4af45e56c 100644 --- a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/EventManagerServicesTest.java +++ b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/EventManagerServicesTest.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,24 +23,23 @@ package org.onap.policy.controlloop.eventmanager; import static org.assertj.core.api.Assertions.assertThatIllegalStateException; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -import java.util.Properties; -import org.junit.After; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; import org.onap.policy.common.endpoints.http.client.HttpClientFactoryInstance; import org.onap.policy.controlloop.actorserviceprovider.ActorService; import org.onap.policy.controlloop.ophistory.OperationHistoryDataManagerImpl; import org.onap.policy.controlloop.ophistory.OperationHistoryDataManagerStub; import org.onap.policy.drools.persistence.SystemPersistenceConstants; -public class EventManagerServicesTest { +class EventManagerServicesTest { private static final String FILEPFX = "eventService/"; private static final IllegalArgumentException EXPECTED_EXCEPTION = new IllegalArgumentException("expected exception"); @@ -49,29 +49,29 @@ public class EventManagerServicesTest { /** * Configures HTTP clients. */ - @BeforeClass + @BeforeAll public static void setUpBeforeClass() throws Exception { // start with a clean slate HttpClientFactoryInstance.getClientFactory().destroy(); SystemPersistenceConstants.getManager().setConfigurationDir("src/test/resources"); - Properties props = SystemPersistenceConstants.getManager().getProperties("eventService/event-svc-http-client"); + var props = SystemPersistenceConstants.getManager().getProperties("eventService/event-svc-http-client"); HttpClientFactoryInstance.getClientFactory().build(props); } - @AfterClass + @AfterAll public static void teatDownBeforeClass() { HttpClientFactoryInstance.getClientFactory().destroy(); } - @After + @AfterEach public void tearDown() { closeDb(); } @Test - public void testEventManagerServices_testGetActorService() { + void testEventManagerServices_testGetActorService() { // try with guard disabled - should use DB stub services = new EventManagerServices(FILEPFX + "event-svc-guard-disabled"); assertTrue(services.getDataManager() instanceof OperationHistoryDataManagerStub); @@ -84,13 +84,13 @@ public class EventManagerServicesTest { } @Test - public void testStartActorService() { + void testStartActorService() { // config file not found assertThatIllegalStateException().isThrownBy(() -> new EventManagerServices("missing-config-file")); } @Test - public void testIsGuardEnabled() { + void testIsGuardEnabled() { // cannot check guard services = new EventManagerServices(FILEPFX + "event-svc-no-guard-actor"); assertTrue(services.getDataManager() instanceof OperationHistoryDataManagerStub); @@ -99,7 +99,7 @@ public class EventManagerServicesTest { services = new EventManagerServices(FILEPFX + "event-svc-with-db") { @Override public ActorService getActorService() { - ActorService svc = mock(ActorService.class); + var svc = mock(ActorService.class); when(svc.getActor(any())).thenThrow(EXPECTED_EXCEPTION); return svc; } @@ -108,7 +108,7 @@ public class EventManagerServicesTest { } @Test - public void testMakeDataManager() { + void testMakeDataManager() { assertThatThrownBy(() -> new EventManagerServices(FILEPFX + "event-svc-invalid-db")) .isInstanceOf(IllegalArgumentException.class); } diff --git a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/LockDataTest.java b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/LockDataTest.java index 7b0213107..609de5705 100644 --- a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/LockDataTest.java +++ b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/LockDataTest.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,65 +22,56 @@ package org.onap.policy.controlloop.eventmanager; import static org.assertj.core.api.Assertions.assertThatCode; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNotSame; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNotSame; +import static org.junit.jupiter.api.Assertions.assertSame; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doThrow; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; -import java.time.Instant; import java.util.UUID; -import java.util.concurrent.CompletableFuture; import java.util.function.Consumer; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.onap.policy.controlloop.ControlLoopOperation; import org.onap.policy.controlloop.actorserviceprovider.OperationOutcome; import org.onap.policy.controlloop.actorserviceprovider.OperationResult; import org.onap.policy.drools.core.lock.Lock; -@RunWith(MockitoJUnitRunner.class) -public class LockDataTest { +class LockDataTest { private static final String ENTITY = "my-entity"; private static final UUID REQ_ID = UUID.randomUUID(); - @Mock - private Lock lock; - @Mock - private Consumer<OperationOutcome> callback1; - @Mock - private Consumer<OperationOutcome> callback2; - @Mock - private Consumer<OperationOutcome> callback3; + private final Lock lock = mock(Lock.class); + private final Consumer<OperationOutcome> callback1 = mock(); + private final Consumer<OperationOutcome> callback2 = mock(); + private final Consumer<OperationOutcome> callback3 = mock(); private LockData data; /** * Sets up. */ - @Before + @BeforeEach public void setUp() { data = new LockData(ENTITY, REQ_ID); } @Test - public void testGetFuture() { - CompletableFuture<OperationOutcome> future = data.getFuture(); + void testGetFuture() { + var future = data.getFuture(); assertNotNull(future); assertFalse(future.isDone()); } @Test - public void testAddUnavailableCallback() { + void testAddUnavailableCallback() { data.addUnavailableCallback(callback1); data.addUnavailableCallback(callback2); @@ -96,7 +88,7 @@ public class LockDataTest { * Tests addUnavailableCallback() when the lock never becomes available. */ @Test - public void testAddUnavailableCallbackNeverAvailable() { + void testAddUnavailableCallbackNeverAvailable() { data.addUnavailableCallback(callback1); data.addUnavailableCallback(callback2); @@ -109,7 +101,7 @@ public class LockDataTest { } @Test - public void testFree() { + void testFree() { // no lock yet assertThatCode(() -> data.free()).doesNotThrowAnyException(); @@ -120,27 +112,27 @@ public class LockDataTest { } @Test - public void testLockAvailable() throws Exception { + void testLockAvailable() throws Exception { data.addUnavailableCallback(callback1); data.addUnavailableCallback(callback2); - CompletableFuture<OperationOutcome> future = data.getFuture(); + var future = data.getFuture(); data.lockAvailable(lock); assertSame(future, data.getFuture()); assertTrue(future.isDone()); - OperationOutcome outcome = future.get(); + var outcome = future.get(); assertEquals(ActorConstants.LOCK_ACTOR, outcome.getActor()); assertEquals(ActorConstants.LOCK_OPERATION, outcome.getOperation()); assertEquals(ENTITY, outcome.getTarget()); assertEquals(OperationResult.SUCCESS, outcome.getResult()); assertEquals(ControlLoopOperation.SUCCESS_MSG, outcome.getMessage()); - Instant start = outcome.getStart(); + var start = outcome.getStart(); assertNotNull(start); - Instant end = outcome.getEnd(); + var end = outcome.getEnd(); assertNotNull(end); assertTrue(start.compareTo(end) <= 0); @@ -149,7 +141,7 @@ public class LockDataTest { } @Test - public void testLockUnavailable() throws Exception { + void testLockUnavailable() throws Exception { data.addUnavailableCallback(callback1); data.addUnavailableCallback(callback2); data.addUnavailableCallback(callback3); @@ -157,17 +149,17 @@ public class LockDataTest { // arrange for callback2 to throw an exception doThrow(new IllegalStateException("expected exception")).when(callback2).accept(any()); - CompletableFuture<OperationOutcome> future = data.getFuture(); + var future = data.getFuture(); assertNotNull(future); data.lockUnavailable(lock); - CompletableFuture<OperationOutcome> future2 = data.getFuture(); + var future2 = data.getFuture(); assertNotNull(future2); assertNotSame(future, future2); assertTrue(future.isDone()); - OperationOutcome outcome = future.get(); + var outcome = future.get(); assertTrue(future2.isDone()); assertSame(outcome, future2.get()); @@ -178,10 +170,10 @@ public class LockDataTest { assertEquals(OperationResult.FAILURE, outcome.getResult()); assertEquals(ControlLoopOperation.FAILED_MSG, outcome.getMessage()); - Instant start = outcome.getStart(); + var start = outcome.getStart(); assertNotNull(start); - Instant end = outcome.getEnd(); + var end = outcome.getEnd(); assertNotNull(end); assertTrue(start.compareTo(end) <= 0); diff --git a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/StepTest.java b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/StepTest.java index 8037f0037..29c92a0e9 100644 --- a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/StepTest.java +++ b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/StepTest.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,14 +23,15 @@ package org.onap.policy.controlloop.eventmanager; import static org.assertj.core.api.Assertions.assertThatIllegalStateException; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertSame; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import java.time.Instant; @@ -43,11 +45,8 @@ import java.util.concurrent.ForkJoinPool; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicReference; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.onap.policy.controlloop.ControlLoopTargetType; import org.onap.policy.controlloop.VirtualControlLoopEvent; import org.onap.policy.controlloop.actorserviceprovider.ActorService; @@ -61,8 +60,7 @@ import org.onap.policy.controlloop.actorserviceprovider.parameters.ControlLoopOp import org.onap.policy.controlloop.actorserviceprovider.spi.Actor; import org.onap.policy.drools.domain.models.operational.OperationalTarget; -@RunWith(MockitoJUnitRunner.class) -public class StepTest { +class StepTest { private static final UUID REQ_ID = UUID.randomUUID(); private static final String POLICY_ACTOR = "my-actor"; private static final String POLICY_OPERATION = "my-operation"; @@ -72,14 +70,10 @@ public class StepTest { private static final long REMAINING_MS = 5000; private static final String EXPECTED_EXCEPTION = "expected exception"; - @Mock - private Operator policyOperator; - @Mock - private Operation policyOperation; - @Mock - private Actor policyActor; - @Mock - private ActorService actors; + private final Operator policyOperator = mock(Operator.class); + private final Operation policyOperation = mock(Operation.class); + private final Actor policyActor = mock(Actor.class); + private final ActorService actors = mock(ActorService.class); private CompletableFuture<OperationOutcome> future; private OperationalTarget target; @@ -95,7 +89,7 @@ public class StepTest { /** * Sets up. */ - @Before + @BeforeEach public void setUp() { future = new CompletableFuture<>(); @@ -133,7 +127,7 @@ public class StepTest { } @Test - public void testConstructor() { + void testConstructor() { assertTrue(step.isPolicyStep()); assertSame(params, step.getParams()); assertNull(step.getParentStep()); @@ -150,12 +144,12 @@ public class StepTest { } @Test - public void testConstructorWithOtherStep_testInitStartTime_testGetStartTimeRef() { - Step step2 = new Step(step, "actorB", "operB"); + void testConstructorWithOtherStep_testInitStartTime_testGetStartTimeRef() { + var step2 = new Step(step, "actorB", "operB"); assertFalse(step2.isPolicyStep()); assertSame(step, step2.getParentStep()); - ControlLoopOperationParams params2 = step2.getParams(); + var params2 = step2.getParams(); assertEquals("actorB", params2.getActor()); assertEquals("operB", params2.getOperation()); assertNull(params2.getRetry()); @@ -173,7 +167,7 @@ public class StepTest { step2.init(); step2.start(REMAINING_MS); - Instant instant = startTime.get(); + var instant = startTime.get(); assertNotNull(instant); assertSame(instant, step2.getStartTime()); @@ -187,13 +181,13 @@ public class StepTest { } @Test - public void testGetActorName_testGetOperationName() { + void testGetActorName_testGetOperationName() { assertEquals(POLICY_ACTOR, step.getActorName()); assertEquals(POLICY_OPERATION, step.getOperationName()); } @Test - public void testIsInitialized_testInit_testGetOperation() { + void testIsInitialized_testInit_testGetOperation() { assertFalse(step.isInitialized()); // verify it's unchanged @@ -217,7 +211,7 @@ public class StepTest { } @Test - public void testStart() { + void testStart() { assertThatIllegalStateException().isThrownBy(() -> step.start(REMAINING_MS)) .withMessage("step has not been initialized"); @@ -236,14 +230,14 @@ public class StepTest { * Tests start() when the operation.start() throws an exception. */ @Test - public void testStartException() { + void testStartException() { when(policyOperation.start()).thenThrow(new RuntimeException()); step.init(); assertTrue(step.start(REMAINING_MS)); // exception should be immediate - OperationOutcome outcome = completions.poll(); + var outcome = completions.poll(); assertNotNull(outcome); assertNotEquals(OperationResult.SUCCESS, outcome.getResult()); @@ -255,14 +249,14 @@ public class StepTest { * Tests start() when the operation throws an asynchronous exception. */ @Test - public void testStartAsyncException() { + void testStartAsyncException() { step.init(); step.start(REMAINING_MS); future.completeExceptionally(new RuntimeException(EXPECTED_EXCEPTION)); // exception should be immediate - OperationOutcome outcome = completions.poll(); + var outcome = completions.poll(); assertNotNull(outcome); assertNotEquals(OperationResult.SUCCESS, outcome.getResult()); @@ -274,7 +268,7 @@ public class StepTest { * Tests handleException() when the exception is a CancellationException. */ @Test - public void testHandleExceptionCancellationException() { + void testHandleExceptionCancellationException() { step.init(); step.start(REMAINING_MS); @@ -285,7 +279,7 @@ public class StepTest { } @Test - public void testHandleExceptionCauseCancellationException() { + void testHandleExceptionCauseCancellationException() { step.init(); step.start(REMAINING_MS); @@ -296,7 +290,7 @@ public class StepTest { } @Test - public void testHandleException() { + void testHandleException() { when(policyOperation.start()).thenThrow(new RuntimeException()); step.init(); @@ -304,7 +298,7 @@ public class StepTest { assertTrue(step.start(REMAINING_MS)); // exception should be immediate - OperationOutcome outcome = completions.poll(); + var outcome = completions.poll(); assertNotNull(outcome); assertNotEquals(OperationResult.SUCCESS, outcome.getResult()); @@ -317,7 +311,7 @@ public class StepTest { } @Test - public void testHandleTimeout() throws InterruptedException { + void testHandleTimeout() throws InterruptedException { step.init(); long tstart = System.currentTimeMillis(); @@ -325,7 +319,7 @@ public class StepTest { // give it a short timeout step.start(100); - OperationOutcome outcome = completions.poll(5, TimeUnit.SECONDS); + var outcome = completions.poll(5, TimeUnit.SECONDS); assertNotNull(outcome); // should not have timed out before 100ms @@ -347,7 +341,7 @@ public class StepTest { } @Test - public void testCancel() { + void testCancel() { // should have no effect step.cancel(); @@ -360,18 +354,18 @@ public class StepTest { } @Test - public void testBuildOperation() { + void testBuildOperation() { assertSame(policyOperation, step.buildOperation()); } @Test - public void testMakeOutcome() { + void testMakeOutcome() { step.init(); assertEquals(MY_TARGET, step.makeOutcome().getTarget()); } @Test - public void testToString() { + void testToString() { assertNotNull(step.toString()); } } diff --git a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/ophistory/OperationHistoryDataManagerImplTest.java b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/ophistory/OperationHistoryDataManagerImplTest.java index a88014e27..22cfa643d 100644 --- a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/ophistory/OperationHistoryDataManagerImplTest.java +++ b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/ophistory/OperationHistoryDataManagerImplTest.java @@ -23,8 +23,8 @@ package org.onap.policy.controlloop.ophistory; import static org.assertj.core.api.Assertions.assertThatCode; import static org.awaitility.Awaitility.await; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; @@ -32,6 +32,7 @@ import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import jakarta.persistence.EntityManagerFactory; import java.time.Instant; import java.util.Properties; import java.util.UUID; @@ -39,21 +40,16 @@ import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; import java.util.function.Consumer; -import javax.persistence.EntityManagerFactory; -import org.junit.After; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.onap.policy.controlloop.ControlLoopOperation; import org.onap.policy.controlloop.VirtualControlLoopEvent; import org.onap.policy.controlloop.ophistory.OperationHistoryDataManagerParams.OperationHistoryDataManagerParamsBuilder; -@RunWith(MockitoJUnitRunner.class) -public class OperationHistoryDataManagerImplTest { +class OperationHistoryDataManagerImplTest { private static final IllegalStateException EXPECTED_EXCEPTION = new IllegalStateException("expected exception"); private static final String MY_LOOP_NAME = "my-loop-name"; @@ -67,8 +63,7 @@ public class OperationHistoryDataManagerImplTest { private static EntityManagerFactory emf; - @Mock - private Thread thread; + private Thread thread = mock(Thread.class); private OperationHistoryDataManagerParams params; private Consumer<EntityManagerFactory> threadFunction; @@ -85,9 +80,9 @@ public class OperationHistoryDataManagerImplTest { /** * Sets up for all tests. */ - @BeforeClass + @BeforeAll public static void setUpBeforeClass() { - OperationHistoryDataManagerParams params = makeBuilder().build(); + var params = makeBuilder().build(); // capture the entity manager factory for re-use new OperationHistoryDataManagerImpl(params) { @@ -102,7 +97,7 @@ public class OperationHistoryDataManagerImplTest { /** * Restores the environment after all tests. */ - @AfterClass + @AfterAll public static void tearDownAfterClass() { emf.close(); } @@ -110,7 +105,7 @@ public class OperationHistoryDataManagerImplTest { /** * Sets up for an individual test. */ - @Before + @BeforeEach public void setUp() { event = new VirtualControlLoopEvent(); event.setClosedLoopControlName(MY_LOOP_NAME); @@ -135,13 +130,13 @@ public class OperationHistoryDataManagerImplTest { mgr.start(); } - @After + @AfterEach public void tearDown() { mgr.stop(); } @Test - public void testConstructor() { + void testConstructor() { // use a thread and manager that haven't been started yet thread = mock(Thread.class); mgr = new PseudoThread(); @@ -161,7 +156,7 @@ public class OperationHistoryDataManagerImplTest { } @Test - public void testStart() { + void testStart() { // this should have no effect mgr.start(); @@ -172,7 +167,7 @@ public class OperationHistoryDataManagerImplTest { } @Test - public void testStore_testStop() throws InterruptedException { + void testStore_testStop() throws InterruptedException { // store mgr.store(REQ_ID, event.getClosedLoopControlName(), event, MY_ENTITY, operation); @@ -185,7 +180,7 @@ public class OperationHistoryDataManagerImplTest { * Tests stop() when the manager isn't running. */ @Test - public void testStopNotRunning() { + void testStopNotRunning() { // use a manager that hasn't been started yet mgr = new PseudoThread(); mgr.stop(); @@ -197,7 +192,7 @@ public class OperationHistoryDataManagerImplTest { * Tests store() when it is already stopped. */ @Test - public void testStoreAlreadyStopped() throws InterruptedException { + void testStoreAlreadyStopped() throws InterruptedException { mgr.stop(); // store @@ -210,7 +205,7 @@ public class OperationHistoryDataManagerImplTest { * Tests store() when when the queue is full. */ @Test - public void testStoreTooManyItems() throws InterruptedException { + void testStoreTooManyItems() throws InterruptedException { final int nextra = 5; for (int nitems = 0; nitems < MAX_QUEUE_LENGTH + nextra; ++nitems) { mgr.store(REQ_ID, event.getClosedLoopControlName(), event, MY_ENTITY, operation); @@ -222,7 +217,7 @@ public class OperationHistoryDataManagerImplTest { } @Test - public void testRun() throws InterruptedException { + void testRun() throws InterruptedException { // trigger thread shutdown when it completes this batch when(emfSpy.createEntityManager()).thenAnswer(ans -> { @@ -253,8 +248,8 @@ public class OperationHistoryDataManagerImplTest { * Tests run() when the entity manager throws an exception. */ @Test - public void testRunException() throws InterruptedException { - AtomicInteger count = new AtomicInteger(0); + void testRunException() throws InterruptedException { + var count = new AtomicInteger(0); when(emfSpy.createEntityManager()).thenAnswer(ans -> { if (count.incrementAndGet() == 2) { @@ -283,7 +278,7 @@ public class OperationHistoryDataManagerImplTest { * Tests storeRemainingRecords() when the entity manager throws an exception. */ @Test - public void testStoreRemainingRecordsException() throws InterruptedException { + void testStoreRemainingRecordsException() throws InterruptedException { // arrange to throw an exception when(emfSpy.createEntityManager()).thenThrow(EXPECTED_EXCEPTION); @@ -293,7 +288,7 @@ public class OperationHistoryDataManagerImplTest { } @Test - public void testStoreRecord() throws InterruptedException { + void testStoreRecord() throws InterruptedException { /* * Note: we change sub-request ID each time to guarantee that the records are * unique. @@ -334,7 +329,7 @@ public class OperationHistoryDataManagerImplTest { * Tests storeRecord() when records are updated. */ @Test - public void testStoreRecordUpdate() throws InterruptedException { + void testStoreRecordUpdate() throws InterruptedException { /* * Note: we do NOT change sub-request ID, so that records all refer to the same DB * record. @@ -376,7 +371,7 @@ public class OperationHistoryDataManagerImplTest { return; } - Thread thread2 = new Thread(() -> { + var thread2 = new Thread(() -> { threadFunction.accept(emfSpy); finished.countDown(); }); diff --git a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/ophistory/OperationHistoryDataManagerParamsTest.java b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/ophistory/OperationHistoryDataManagerParamsTest.java index 97f306528..f0159aaff 100644 --- a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/ophistory/OperationHistoryDataManagerParamsTest.java +++ b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/ophistory/OperationHistoryDataManagerParamsTest.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,17 +22,16 @@ package org.onap.policy.controlloop.ophistory; import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.util.function.Consumer; -import org.junit.Before; -import org.junit.Test; -import org.onap.policy.common.parameters.ValidationResult; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.onap.policy.controlloop.ophistory.OperationHistoryDataManagerParams.OperationHistoryDataManagerParamsBuilder; -public class OperationHistoryDataManagerParamsTest { +class OperationHistoryDataManagerParamsTest { private static final String CONTAINER = "my-container"; private static final int BATCH_SIZE = 10; private static final int MAX_QUEUE_LENGTH = 20; @@ -44,13 +44,13 @@ public class OperationHistoryDataManagerParamsTest { private OperationHistoryDataManagerParams params; - @Before + @BeforeEach public void setUp() { params = makeBuilder().build(); } @Test - public void test() { + void test() { assertEquals(BATCH_SIZE, params.getBatchSize()); assertEquals(MAX_QUEUE_LENGTH, params.getMaxQueueLength()); assertEquals(MY_PASS, params.getPassword()); @@ -71,7 +71,7 @@ public class OperationHistoryDataManagerParamsTest { } @Test - public void testValidate() { + void testValidate() { assertTrue(params.validate(CONTAINER).isValid()); testValidateField("url", "null", params2 -> params2.setUrl(null)); @@ -103,14 +103,14 @@ public class OperationHistoryDataManagerParamsTest { Consumer<OperationHistoryDataManagerParams> makeInvalid) { // original params should be valid - ValidationResult result = params.validate(CONTAINER); - assertTrue(fieldName, result.isValid()); + var result = params.validate(CONTAINER); + assertTrue(result.isValid()); // make invalid params - OperationHistoryDataManagerParams params2 = makeBuilder().build(); + var params2 = makeBuilder().build(); makeInvalid.accept(params2); result = params2.validate(CONTAINER); - assertFalse(fieldName, result.isValid()); + assertFalse(result.isValid()); assertThat(result.getResult()).contains(CONTAINER).contains(fieldName).contains(expected); } diff --git a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/ophistory/OperationHistoryDataManagerStubTest.java b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/ophistory/OperationHistoryDataManagerStubTest.java index 4774af427..d4a5cfdd1 100644 --- a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/ophistory/OperationHistoryDataManagerStubTest.java +++ b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/ophistory/OperationHistoryDataManagerStubTest.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,13 +23,13 @@ package org.onap.policy.controlloop.ophistory; import static org.assertj.core.api.Assertions.assertThatCode; -import org.junit.Test; +import org.junit.jupiter.api.Test; -public class OperationHistoryDataManagerStubTest { +class OperationHistoryDataManagerStubTest { @Test - public void test() { - OperationHistoryDataManagerStub mgr = new OperationHistoryDataManagerStub(); + void test() { + var mgr = new OperationHistoryDataManagerStub(); assertThatCode(() -> mgr.store(null, null, null, null, null)).doesNotThrowAnyException(); assertThatCode(() -> mgr.stop()).doesNotThrowAnyException(); diff --git a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/processor/ControlLoopProcessorTest.java b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/processor/ControlLoopProcessorTest.java index 0ca98720c..0ccaf105e 100644 --- a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/processor/ControlLoopProcessorTest.java +++ b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/processor/ControlLoopProcessorTest.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2017-2020 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,45 +22,42 @@ package org.onap.policy.controlloop.processor; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; import java.io.File; import java.io.FileInputStream; import java.io.IOException; -import java.io.InputStream; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.onap.policy.common.utils.coder.CoderException; import org.onap.policy.common.utils.coder.StandardCoder; import org.onap.policy.common.utils.resources.ResourceUtils; import org.onap.policy.controlloop.ControlLoopException; -import org.onap.policy.controlloop.actorserviceprovider.OperationFinalResult; import org.onap.policy.controlloop.actorserviceprovider.OperationResult; -import org.onap.policy.drools.domain.models.operational.Operation; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class ControlLoopProcessorTest { +class ControlLoopProcessorTest { private static final Logger logger = LoggerFactory.getLogger(ControlLoopProcessorTest.class); private static final StandardCoder coder = new StandardCoder(); @Test - public void testControlLoopProcessor() throws IOException, ControlLoopException { - String yamlString = Files.readString(new File("src/test/resources/test.yaml").toPath(), StandardCharsets.UTF_8); + void testControlLoopProcessor() throws IOException, ControlLoopException { + var yamlString = Files.readString(new File("src/test/resources/test.yaml").toPath(), StandardCharsets.UTF_8); this.testSuccess(yamlString); this.testFailure(yamlString); } private ToscaPolicy getPolicyFromResource(String resourcePath, String policyName) throws CoderException { - String policyJson = ResourceUtils.getResourceAsString(resourcePath); - ToscaServiceTemplate serviceTemplate = coder.decode(policyJson, ToscaServiceTemplate.class); - ToscaPolicy policy = serviceTemplate.getToscaTopologyTemplate().getPolicies().get(0).get(policyName); + var policyJson = ResourceUtils.getResourceAsString(resourcePath); + var serviceTemplate = coder.decode(policyJson, ToscaServiceTemplate.class); + var policy = serviceTemplate.getToscaTopologyTemplate().getPolicies().get(0).get(policyName); assertNotNull(policy); /* @@ -78,7 +76,7 @@ public class ControlLoopProcessorTest { } @Test - public void testControlLoopFromToscaCompliant() + void testControlLoopFromToscaCompliant() throws CoderException, ControlLoopException { assertNotNull( new ControlLoopProcessor( @@ -101,28 +99,28 @@ public class ControlLoopProcessorTest { } @Test - public void testControlLoopFromToscaCompliantBad() throws CoderException { - ToscaPolicy toscaPolicy = getPolicyFromResource( + void testControlLoopFromToscaCompliantBad() throws CoderException { + var toscaPolicy = getPolicyFromResource( "policies/vCPE.policy.operational.input.tosca.json", "operational.restart"); toscaPolicy.setVersion(null); assertThatThrownBy(() -> new ControlLoopProcessor(toscaPolicy)).hasCauseInstanceOf(CoderException.class); } @Test - public void testControlLoopProcessorBadYaml() throws IOException { - InputStream is = new FileInputStream(new File("src/test/resources/string.yaml")); - String yamlString = IOUtils.toString(is, StandardCharsets.UTF_8); + void testControlLoopProcessorBadYaml() throws IOException { + var is = new FileInputStream(new File("src/test/resources/string.yaml")); + var yamlString = IOUtils.toString(is, StandardCharsets.UTF_8); assertThatThrownBy(() -> new ControlLoopProcessor(yamlString)) .hasMessageEndingWith("Cannot decode yaml into ToscaServiceTemplate"); } @Test - public void testControlLoopProcessorBadTriggerYaml() throws IOException, ControlLoopException { - String yamlString = Files.readString(new File("src/test/resources/badtriggerpolicy.yaml").toPath(), + void testControlLoopProcessorBadTriggerYaml() throws IOException, ControlLoopException { + var yamlString = Files.readString(new File("src/test/resources/badtriggerpolicy.yaml").toPath(), StandardCharsets.UTF_8); - ControlLoopProcessor clProcessor = new ControlLoopProcessor(yamlString); + var clProcessor = new ControlLoopProcessor(yamlString); assertNull(clProcessor.getCurrentPolicy()); assertThatThrownBy(() -> clProcessor.nextPolicyForResult(OperationResult.SUCCESS)) @@ -130,27 +128,27 @@ public class ControlLoopProcessorTest { } @Test - public void testControlLoopProcessorNoPolicyYaml() throws IOException, ControlLoopException { - InputStream is = new FileInputStream(new File("src/test/resources/nopolicy.yaml")); - String yamlString = IOUtils.toString(is, StandardCharsets.UTF_8); + void testControlLoopProcessorNoPolicyYaml() throws IOException, ControlLoopException { + var is = new FileInputStream(new File("src/test/resources/nopolicy.yaml")); + var yamlString = IOUtils.toString(is, StandardCharsets.UTF_8); - ControlLoopProcessor clProcessor = new ControlLoopProcessor(yamlString); + var clProcessor = new ControlLoopProcessor(yamlString); assertThatThrownBy(clProcessor::getCurrentPolicy) .hasMessage("There are no policies defined."); } @Test - public void testControlLoopProcessorNextPolicyForResult() throws IOException, ControlLoopException { - InputStream is = new FileInputStream(new File("src/test/resources/test.yaml")); - String yamlString = IOUtils.toString(is, StandardCharsets.UTF_8); + void testControlLoopProcessorNextPolicyForResult() throws IOException, ControlLoopException { + var is = new FileInputStream(new File("src/test/resources/test.yaml")); + var yamlString = IOUtils.toString(is, StandardCharsets.UTF_8); - for (OperationResult result : OperationResult.values()) { + for (var result : OperationResult.values()) { checkResult(yamlString, result); } } private void checkResult(String yamlString, OperationResult result) throws ControlLoopException { - ControlLoopProcessor clProcessor = new ControlLoopProcessor(yamlString); + var clProcessor = new ControlLoopProcessor(yamlString); clProcessor.getCurrentPolicy(); clProcessor.nextPolicyForResult(result); } @@ -162,15 +160,15 @@ public class ControlLoopProcessorTest { * @throws ControlLoopException if an error occurs */ public void testSuccess(String yaml) throws ControlLoopException { - ControlLoopProcessor processor = new ControlLoopProcessor(yaml); + var processor = new ControlLoopProcessor(yaml); logger.debug("testSuccess: {}", processor.getCurrentPolicy()); while (true) { - OperationFinalResult result = processor.checkIsCurrentPolicyFinal(); + var result = processor.checkIsCurrentPolicyFinal(); if (result != null) { logger.debug("{}", result); break; } - Operation policy = processor.getCurrentPolicy(); + var policy = processor.getCurrentPolicy(); assertNotNull(policy); logger.debug("current policy is: {}", policy.getId()); processor.nextPolicyForResult(OperationResult.SUCCESS); @@ -184,15 +182,15 @@ public class ControlLoopProcessorTest { * @throws ControlLoopException if an error occurs */ public void testFailure(String yaml) throws ControlLoopException { - ControlLoopProcessor processor = new ControlLoopProcessor(yaml); + var processor = new ControlLoopProcessor(yaml); logger.debug("testFailure: {}", processor.getCurrentPolicy()); while (true) { - OperationFinalResult result = processor.checkIsCurrentPolicyFinal(); + var result = processor.checkIsCurrentPolicyFinal(); if (result != null) { logger.debug("{}", result); break; } - Operation policy = processor.getCurrentPolicy(); + var policy = processor.getCurrentPolicy(); assertNotNull(policy); logger.debug("current policy is: {}", policy.getId()); processor.nextPolicyForResult(OperationResult.FAILURE); diff --git a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/utils/ControlLoopUtilsTest.java b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/utils/ControlLoopUtilsTest.java index 9e29af511..55e980337 100644 --- a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/utils/ControlLoopUtilsTest.java +++ b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/utils/ControlLoopUtilsTest.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,28 +21,28 @@ package org.onap.policy.controlloop.utils; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertSame; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertSame; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.onap.policy.common.utils.coder.StandardCoder; import org.onap.policy.common.utils.resources.ResourceUtils; import org.onap.policy.controlloop.drl.legacy.ControlLoopParams; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate; -public class ControlLoopUtilsTest { +class ControlLoopUtilsTest { @Test - public void testToControlLoopParams() throws Exception { - String policyJson = + void testToControlLoopParams() throws Exception { + var policyJson = ResourceUtils.getResourceAsString("policies/vCPE.policy.operational.input.tosca.json"); - ToscaServiceTemplate serviceTemplate = new StandardCoder().decode(policyJson, ToscaServiceTemplate.class); - ToscaPolicy toscaPolicy = + var serviceTemplate = new StandardCoder().decode(policyJson, ToscaServiceTemplate.class); + var toscaPolicy = serviceTemplate.getToscaTopologyTemplate().getPolicies().get(0).get("operational.restart"); - ControlLoopParams params = ControlLoopUtils.toControlLoopParams(toscaPolicy); + var params = ControlLoopUtils.toControlLoopParams(toscaPolicy); assertEquals("ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e", params.getClosedLoopControlName()); assertEquals(toscaPolicy.getName(), params.getPolicyName()); assertEquals(toscaPolicy.getVersion(), params.getPolicyVersion()); diff --git a/controlloop/common/feature-controlloop-management/pom.xml b/controlloop/common/feature-controlloop-management/pom.xml index e8eec80d0..589a76e5f 100644 --- a/controlloop/common/feature-controlloop-management/pom.xml +++ b/controlloop/common/feature-controlloop-management/pom.xml @@ -20,13 +20,14 @@ ============LICENSE_END========================================================= --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.onap.policy.drools-applications.controlloop.common</groupId> <artifactId>drools-applications-common</artifactId> - <version>2.0.0-SNAPSHOT</version> + <version>2.0.1-SNAPSHOT</version> </parent> <artifactId>feature-controlloop-management</artifactId> @@ -109,15 +110,15 @@ <language>jaxrs-spec</language> <generateModels>false</generateModels> <generateSupportingFiles>false</generateSupportingFiles> - <sortParamsByRequiredFlag>false</sortParamsByRequiredFlag> <importMappings> - Response=javax.ws.rs.core.Response + Response=jakarta.ws.rs.core.Response </importMappings> <configOptions> <useTags>true</useTags> <sourceFolder>src/gen/java</sourceFolder> - <dateLibrary>java11</dateLibrary> + <dateLibrary>java17</dateLibrary> <interfaceOnly>true</interfaceOnly> + <jakarta>true</jakarta> </configOptions> </configuration> </execution> @@ -307,10 +308,10 @@ <version>${policy.models.version}</version> </dependency> <dependency> - <groupId>org.onap.policy.models.policy-models-interactions</groupId> - <artifactId>simulators</artifactId> - <version>${policy.models.version}</version> - <scope>test</scope> + <groupId>org.onap.policy.models.policy-models-interactions</groupId> + <artifactId>simulators</artifactId> + <version>${policy.models.version}</version> + <scope>test</scope> </dependency> </dependencies> </project> diff --git a/controlloop/common/feature-controlloop-management/src/main/java/org/onap/policy/drools/server/restful/RestControlLoopManager.java b/controlloop/common/feature-controlloop-management/src/main/java/org/onap/policy/drools/server/restful/RestControlLoopManager.java index d6ee19017..b33ab7704 100644 --- a/controlloop/common/feature-controlloop-management/src/main/java/org/onap/policy/drools/server/restful/RestControlLoopManager.java +++ b/controlloop/common/feature-controlloop-management/src/main/java/org/onap/policy/drools/server/restful/RestControlLoopManager.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2018-2021 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,17 +21,17 @@ package org.onap.policy.drools.server.restful; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.Response.Status; import java.util.List; import java.util.UUID; import java.util.stream.Collectors; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.Response.Status; import org.onap.policy.aai.AaiManager; import org.onap.policy.controlloop.drl.legacy.ControlLoopParams; import org.onap.policy.drools.apps.controlloop.feature.management.ControlLoopManagementFeature; @@ -111,7 +112,7 @@ public class RestControlLoopManager implements PolicyApi { */ @GET @Path("engine/tools/controlloops/aai/customQuery/{vserverId}") - public Response aaiCustomQuery(String vserverId) { + public Response aaiCustomQuery(@PathParam("vserverId") String vserverId) { var mgr = PolicyEngineConstants.getManager(); return Response diff --git a/controlloop/common/feature-controlloop-management/src/test/java/org/onap/policy/drools/apps/controlloop/feature/management/ControlLoopManagementFeatureTest.java b/controlloop/common/feature-controlloop-management/src/test/java/org/onap/policy/drools/apps/controlloop/feature/management/ControlLoopManagementFeatureTest.java index 2a9abafb8..e6bd7c368 100644 --- a/controlloop/common/feature-controlloop-management/src/test/java/org/onap/policy/drools/apps/controlloop/feature/management/ControlLoopManagementFeatureTest.java +++ b/controlloop/common/feature-controlloop-management/src/test/java/org/onap/policy/drools/apps/controlloop/feature/management/ControlLoopManagementFeatureTest.java @@ -22,15 +22,15 @@ package org.onap.policy.drools.apps.controlloop.feature.management; import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; +import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import java.util.Collections; -import org.junit.After; -import org.junit.Assert; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; import org.onap.policy.drools.apps.controlloop.feature.management.ControlLoopManagementFeature.Factory; import org.onap.policy.drools.controller.DroolsController; import org.onap.policy.drools.system.PolicyController; @@ -39,19 +39,19 @@ import org.springframework.test.util.ReflectionTestUtils; /** * Control Loop Management Feature Test. */ -public class ControlLoopManagementFeatureTest { +class ControlLoopManagementFeatureTest { private static final String FACTORY_FIELD = "factory"; private static final String SESSION_NAME = "my-session"; private static final String CONTROLLER_NAME = "my-controller"; private static Factory saveFactory; - @BeforeClass + @BeforeAll public static void setUpBeforeClass() { saveFactory = (Factory) ReflectionTestUtils.getField(ControlLoopManagementFeature.class, FACTORY_FIELD); } - @After + @AfterEach public void tearDown() { ReflectionTestUtils.setField(ControlLoopManagementFeature.class, FACTORY_FIELD, saveFactory); } @@ -60,21 +60,21 @@ public class ControlLoopManagementFeatureTest { * Sequence Number Test. */ @Test - public void getSequenceNumber() { - Assert.assertEquals(1000, new ControlLoopManagementFeature().getSequenceNumber()); + void getSequenceNumber() { + assertEquals(1000, new ControlLoopManagementFeature().getSequenceNumber()); } /** * Name Test. */ @Test - public void getName() { - Assert.assertEquals("controlloop-management", new ControlLoopManagementFeature().getName()); + void getName() { + assertEquals("controlloop-management", new ControlLoopManagementFeature().getName()); } @Test - public void testControlLoops_InvalidArgs() { - Factory factory = mock(Factory.class); + void testControlLoops_InvalidArgs() { + var factory = mock(Factory.class); ReflectionTestUtils.setField(ControlLoopManagementFeature.class, FACTORY_FIELD, factory); // returns null controller @@ -84,9 +84,9 @@ public class ControlLoopManagementFeatureTest { .withMessage("Invalid Controller Name"); // non-matching session name - PolicyController ctlr = mock(PolicyController.class); - DroolsController drools = mock(DroolsController.class); + var drools = mock(DroolsController.class); when(drools.getSessionNames()).thenReturn(Collections.emptyList()); + var ctlr = mock(PolicyController.class); when(ctlr.getDrools()).thenReturn(drools); when(factory.getController(any())).thenReturn(ctlr); assertThatIllegalArgumentException() @@ -95,7 +95,7 @@ public class ControlLoopManagementFeatureTest { } @Test - public void testFactoryGetController() { + void testFactoryGetController() { // invoking controlLoops() will invoke the factory.getController() method assertThatIllegalArgumentException().isThrownBy( () -> ControlLoopManagementFeature.controlLoops("unknown-controller", SESSION_NAME)); diff --git a/controlloop/common/feature-controlloop-management/src/test/java/org/onap/policy/drools/server/restful/RestControlLoopManagerTest.java b/controlloop/common/feature-controlloop-management/src/test/java/org/onap/policy/drools/server/restful/RestControlLoopManagerTest.java index b9caef9da..279b47c38 100644 --- a/controlloop/common/feature-controlloop-management/src/test/java/org/onap/policy/drools/server/restful/RestControlLoopManagerTest.java +++ b/controlloop/common/feature-controlloop-management/src/test/java/org/onap/policy/drools/server/restful/RestControlLoopManagerTest.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2018-2021 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,19 +23,18 @@ package org.onap.policy.drools.server.restful; import static org.awaitility.Awaitility.await; import static org.hamcrest.Matchers.equalTo; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; +import jakarta.ws.rs.core.Response.Status; import java.io.IOException; import java.nio.file.Files; -import java.nio.file.Path; import java.nio.file.Paths; import java.util.Properties; import java.util.concurrent.Callable; import java.util.concurrent.TimeUnit; -import javax.ws.rs.core.Response.Status; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; import org.kie.api.builder.ReleaseId; import org.onap.policy.common.endpoints.http.client.HttpClientFactoryInstance; import org.onap.policy.common.utils.coder.CoderException; @@ -51,7 +51,7 @@ import org.onap.policy.simulators.Util; /** * Test RestControlLoopManager. */ -public class RestControlLoopManagerTest { +class RestControlLoopManagerTest { private static final String KSESSION = "op"; private static final String KMODULE_DRL_PATH = "src/test/resources/op.drl"; @@ -91,7 +91,7 @@ public class RestControlLoopManagerTest { * * @throws Exception if failure to complete the set up. */ - @BeforeClass + @BeforeAll public static void setUp() throws Exception { System.setProperty("kie.maven.settings.custom", "src/test/resources/settings.xml"); LoggerUtils.setLevel(LoggerUtils.ROOT_LOGGER, "WARN"); @@ -133,7 +133,7 @@ public class RestControlLoopManagerTest { /** * test tear down. */ - @AfterClass + @AfterAll public static void tearDown() { PolicyControllerConstants.getFactory().get(CONTROLLER).stop(); await().atMost(1, TimeUnit.MINUTES).until(isContainerAlive(), equalTo(Boolean.FALSE)); @@ -141,7 +141,7 @@ public class RestControlLoopManagerTest { PolicyEngineConstants.getManager().removePolicyController(CONTROLLER); PolicyEngineConstants.getManager().stop(); - final Path controllerPath = + final var controllerPath = Paths.get(SystemPersistenceConstants.getManager().getConfigurationPath().toString(), CONTROLLER_FILE); try { @@ -150,7 +150,7 @@ public class RestControlLoopManagerTest { /* to satisfy checkstyle */ } - Path controllerBakPath = + var controllerBakPath = Paths.get(SystemPersistenceConstants.getManager().getConfigurationPath().toString(), CONTROLLER_FILE_BAK); @@ -165,7 +165,7 @@ public class RestControlLoopManagerTest { * Test Operational Policies. */ @Test - public void testOperationalPolicy() throws IOException { + void testOperationalPolicy() { assertEquals(Status.OK.getStatusCode(), HttpClientFactoryInstance.getClientFactory() .get(CONTROLLER).get(URL_CONTEXT_PATH_CONTROLLOOPS).getStatus()); @@ -180,7 +180,7 @@ public class RestControlLoopManagerTest { * Test AAI Custom Query. */ @Test - public void testAaiCq() throws CoderException { + void testAaiCq() { assertEquals(Status.OK.getStatusCode(), HttpClientFactoryInstance.getClientFactory() .get(CONTROLLER).get(URL_CONTEXT_PATH_TOOLS_AAI_CQ + "dummy").getStatus()); } diff --git a/controlloop/common/feature-controlloop-trans/pom.xml b/controlloop/common/feature-controlloop-trans/pom.xml index e86084a3d..27da2d77b 100644 --- a/controlloop/common/feature-controlloop-trans/pom.xml +++ b/controlloop/common/feature-controlloop-trans/pom.xml @@ -20,13 +20,14 @@ ============LICENSE_END========================================================= --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.onap.policy.drools-applications.controlloop.common</groupId> <artifactId>drools-applications-common</artifactId> - <version>2.0.0-SNAPSHOT</version> + <version>2.0.1-SNAPSHOT</version> </parent> <artifactId>feature-controlloop-trans</artifactId> @@ -98,9 +99,8 @@ <language>jaxrs-spec</language> <generateModels>false</generateModels> <generateSupportingFiles>false</generateSupportingFiles> - <sortParamsByRequiredFlag>false</sortParamsByRequiredFlag> <importMappings> - Response=javax.ws.rs.core.Response + Response=jakarta.ws.rs.core.Response </importMappings> <typeMappings> <typeMapping>Integer=int</typeMapping> @@ -109,8 +109,9 @@ <configOptions> <useTags>true</useTags> <sourceFolder>src/gen/java</sourceFolder> - <dateLibrary>java11</dateLibrary> + <dateLibrary>java17</dateLibrary> <interfaceOnly>true</interfaceOnly> + <jakarta>true</jakarta> </configOptions> </configuration> </execution> diff --git a/controlloop/common/feature-controlloop-trans/src/main/java/org/onap/policy/drools/apps/controlloop/feature/trans/CacheBasedControlLoopMetricsManager.java b/controlloop/common/feature-controlloop-trans/src/main/java/org/onap/policy/drools/apps/controlloop/feature/trans/CacheBasedControlLoopMetricsManager.java index 66a975024..93f204df3 100644 --- a/controlloop/common/feature-controlloop-trans/src/main/java/org/onap/policy/drools/apps/controlloop/feature/trans/CacheBasedControlLoopMetricsManager.java +++ b/controlloop/common/feature-controlloop-trans/src/main/java/org/onap/policy/drools/apps/controlloop/feature/trans/CacheBasedControlLoopMetricsManager.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2019-2022 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -166,16 +167,10 @@ class CacheBasedControlLoopMetricsManager implements ControlLoopMetrics { setNotificationValues(controller, notification); switch (notification.getNotification()) { - case REJECTED: - case FINAL_FAILURE: - case FINAL_SUCCESS: - case FINAL_OPENLOOP: + case REJECTED, FINAL_FAILURE, FINAL_SUCCESS, FINAL_OPENLOOP: endTransaction(controller, notification); break; - case ACTIVE: - case OPERATION: - case OPERATION_SUCCESS: - case OPERATION_FAILURE: + case ACTIVE, OPERATION, OPERATION_SUCCESS, OPERATION_FAILURE: /* any other value is an in progress transaction */ inProgressTransaction(notification); break; @@ -358,14 +353,14 @@ class CacheBasedControlLoopMetricsManager implements ControlLoopMetrics { .setEndTime(notification.getNotificationTime().toInstant()); switch (notification.getNotification()) { - case FINAL_OPENLOOP: - /* fall through */ - case FINAL_SUCCESS: + case FINAL_OPENLOOP, + /* fall through */ + FINAL_SUCCESS: trans.setStatusCode(true); break; - case FINAL_FAILURE: - /* fall through */ - case REJECTED: + case FINAL_FAILURE, + /* fall through */ + REJECTED: trans.setStatusCode(false); break; default: diff --git a/controlloop/common/feature-controlloop-trans/src/main/java/org/onap/policy/drools/server/restful/RestTransactionTracker.java b/controlloop/common/feature-controlloop-trans/src/main/java/org/onap/policy/drools/server/restful/RestTransactionTracker.java index be4f1b69f..d6d8d1aec 100644 --- a/controlloop/common/feature-controlloop-trans/src/main/java/org/onap/policy/drools/server/restful/RestTransactionTracker.java +++ b/controlloop/common/feature-controlloop-trans/src/main/java/org/onap/policy/drools/server/restful/RestTransactionTracker.java @@ -21,15 +21,15 @@ package org.onap.policy.drools.server.restful; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; import java.util.UUID; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; import org.onap.policy.common.endpoints.http.server.YamlMessageBodyHandler; import org.onap.policy.controlloop.VirtualControlLoopNotification; import org.onap.policy.drools.apps.controlloop.feature.trans.ControlLoopMetricsManager; diff --git a/controlloop/common/feature-controlloop-trans/src/test/java/org/onap/policy/drools/apps/controlloop/feature/trans/ControlLoopMetricsFeatureTest.java b/controlloop/common/feature-controlloop-trans/src/test/java/org/onap/policy/drools/apps/controlloop/feature/trans/ControlLoopMetricsFeatureTest.java index ba39b2799..77ce83b83 100644 --- a/controlloop/common/feature-controlloop-trans/src/test/java/org/onap/policy/drools/apps/controlloop/feature/trans/ControlLoopMetricsFeatureTest.java +++ b/controlloop/common/feature-controlloop-trans/src/test/java/org/onap/policy/drools/apps/controlloop/feature/trans/ControlLoopMetricsFeatureTest.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2018-2021 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,20 +22,20 @@ package org.onap.policy.drools.apps.controlloop.feature.trans; import static org.awaitility.Awaitility.await; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.nio.file.Path; import java.util.UUID; import java.util.concurrent.TimeUnit; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.onap.policy.common.endpoints.event.comm.Topic.CommInfrastructure; import org.onap.policy.common.utils.resources.ResourceUtils; import org.onap.policy.controlloop.ControlLoopNotificationType; @@ -47,7 +48,7 @@ import org.onap.policy.drools.system.PolicyEngineConstants; /** * ControlLoopMetrics Tests. */ -public class ControlLoopMetricsFeatureTest { +class ControlLoopMetricsFeatureTest { private static final String POLICY_CL_MGT = "POLICY-CL-MGT"; private static final Path configPath = SystemPersistenceConstants.getManager().getConfigurationPath(); @@ -66,39 +67,39 @@ public class ControlLoopMetricsFeatureTest { /** * Setup method. */ - @BeforeClass + @BeforeAll public static void setUp() { SystemPersistenceConstants.getManager().setConfigurationDir("src/test/resources"); testController = PolicyEngineConstants.getManager().createPolicyController("metrics", SystemPersistenceConstants.getManager().getControllerProperties("metrics")); } - @AfterClass + @AfterAll public static void tearDown() { SystemPersistenceConstants.getManager().setConfigurationDir(configPath.toString()); resetStats(); } - @Before + @BeforeEach public void beforeTest() { resetStats(); } @Test - public void testCacheDefaults() { + void testCacheDefaults() { assertEquals(3, ControlLoopMetricsManager.getManager().getCacheSize()); assertEquals(2, ControlLoopMetricsManager.getManager().getTransactionTimeout()); assertEquals(0, ControlLoopMetricsManager.getManager().getCacheOccupancy()); } @Test - public void testInvalidNotifications() { - ControlLoopMetricsFeature feature = new ControlLoopMetricsFeature(); - VirtualControlLoopNotification notification = new VirtualControlLoopNotification(); + void testInvalidNotifications() { + var feature = new ControlLoopMetricsFeature(); + var notification = new VirtualControlLoopNotification(); feature.beforeDeliver(testController, CommInfrastructure.DMAAP, POLICY_CL_MGT, notification); this.testCacheDefaults(); - UUID requestId = UUID.randomUUID(); + var requestId = UUID.randomUUID(); notification.setRequestId(requestId); feature.beforeDeliver(testController, CommInfrastructure.DMAAP, POLICY_CL_MGT, notification); @@ -107,10 +108,10 @@ public class ControlLoopMetricsFeatureTest { } @Test - public void testValidActiveNotification() { - ControlLoopMetricsFeature feature = new ControlLoopMetricsFeature(); - VirtualControlLoopNotification notification = new VirtualControlLoopNotification(); - UUID requestId = UUID.randomUUID(); + void testValidActiveNotification() { + var feature = new ControlLoopMetricsFeature(); + var notification = new VirtualControlLoopNotification(); + var requestId = UUID.randomUUID(); notification.setRequestId(requestId); notification.setNotification(ControlLoopNotificationType.ACTIVE); @@ -129,8 +130,8 @@ public class ControlLoopMetricsFeatureTest { } @Test - public void testReset() { - VirtualControlLoopNotification notification = this.generateNotification(); + void testReset() { + var notification = this.generateNotification(); new ControlLoopMetricsFeature().beforeDeliver(testController, CommInfrastructure.DMAAP, POLICY_CL_MGT, notification); @@ -143,8 +144,8 @@ public class ControlLoopMetricsFeatureTest { } @Test - public void testRemoveTransaction() { - VirtualControlLoopNotification notification = this.generateNotification(); + void testRemoveTransaction() { + var notification = this.generateNotification(); assertNull(ControlLoopMetricsManager.getManager().getTransaction(notification.getRequestId())); ControlLoopMetricsManager.getManager().removeTransaction(notification.getRequestId()); @@ -155,10 +156,10 @@ public class ControlLoopMetricsFeatureTest { } @Test - public void testEviction() { - ControlLoopMetricsFeature feature = new ControlLoopMetricsFeature(); + void testEviction() { + var feature = new ControlLoopMetricsFeature(); for (int i = 0; i < ControlLoopMetricsManager.getManager().getCacheSize(); i++) { - VirtualControlLoopNotification notification = generateNotification(); + var notification = generateNotification(); feature.beforeDeliver(testController, CommInfrastructure.DMAAP, POLICY_CL_MGT, notification); assertNotNull(ControlLoopMetricsManager.getManager().getTransaction(notification.getRequestId())); } @@ -166,7 +167,7 @@ public class ControlLoopMetricsFeatureTest { assertEquals(ControlLoopMetricsManager.getManager().getCacheOccupancy(), ControlLoopMetricsManager.getManager().getCacheOccupancy()); - VirtualControlLoopNotification overflowNotification = generateNotification(); + var overflowNotification = generateNotification(); feature.beforeDeliver(testController, CommInfrastructure.DMAAP, POLICY_CL_MGT, overflowNotification); assertEquals(ControlLoopMetricsManager.getManager().getCacheOccupancy(), ControlLoopMetricsManager.getManager().getCacheOccupancy()); @@ -194,57 +195,57 @@ public class ControlLoopMetricsFeatureTest { } private VirtualControlLoopNotification generateNotification() { - VirtualControlLoopNotification notification = new VirtualControlLoopNotification(); - UUID requestId = UUID.randomUUID(); + var notification = new VirtualControlLoopNotification(); + var requestId = UUID.randomUUID(); notification.setRequestId(requestId); notification.setNotification(ControlLoopNotificationType.ACTIVE); return notification; } @Test - public void getSequenceNumber() { - ControlLoopMetricsFeature feature = new ControlLoopMetricsFeature(); + void getSequenceNumber() { + var feature = new ControlLoopMetricsFeature(); assertEquals(ControlLoopMetricsFeature.FEATURE_SEQUENCE_PRIORITY, feature.getSequenceNumber()); } @Test - public void testSuccessControlLoop() { - ControlLoopMetricsFeature feature = new ControlLoopMetricsFeature(); + void testSuccessControlLoop() { + var feature = new ControlLoopMetricsFeature(); - String activeNotification = ResourceUtils.getResourceAsString("policy-cl-mgt-active.json"); - VirtualControlLoopNotification active = + var activeNotification = ResourceUtils.getResourceAsString("policy-cl-mgt-active.json"); + var active = Serialization.gsonPretty.fromJson(activeNotification, VirtualControlLoopNotification.class); feature.beforeDeliver(testController, CommInfrastructure.DMAAP, POLICY_CL_MGT, active); assertEquals(1, ControlLoopMetricsManager.getManager().getTransactionIds().size()); - String opStartNotification = ResourceUtils.getResourceAsString("policy-cl-mgt-operation.json"); - VirtualControlLoopNotification opStart = + var opStartNotification = ResourceUtils.getResourceAsString("policy-cl-mgt-operation.json"); + var opStart = Serialization.gsonPretty.fromJson(opStartNotification, VirtualControlLoopNotification.class); feature.beforeDeliver(testController, CommInfrastructure.DMAAP, POLICY_CL_MGT, opStart); assertEquals(1, ControlLoopMetricsManager.getManager().getTransactionIds().size()); - String permitNotification = ResourceUtils.getResourceAsString("policy-cl-mgt-permit.json"); - VirtualControlLoopNotification permit = + var permitNotification = ResourceUtils.getResourceAsString("policy-cl-mgt-permit.json"); + var permit = Serialization.gsonPretty.fromJson(permitNotification, VirtualControlLoopNotification.class); feature.beforeDeliver(testController, CommInfrastructure.DMAAP, POLICY_CL_MGT, permit); assertEquals(1, ControlLoopMetricsManager.getManager().getTransactionIds().size()); - String restartNotification = ResourceUtils.getResourceAsString("policy-cl-mgt-restart.json"); - VirtualControlLoopNotification restart = + var restartNotification = ResourceUtils.getResourceAsString("policy-cl-mgt-restart.json"); + var restart = Serialization.gsonPretty.fromJson(restartNotification, VirtualControlLoopNotification.class); feature.beforeDeliver(testController, CommInfrastructure.DMAAP, POLICY_CL_MGT, restart); assertEquals(1, ControlLoopMetricsManager.getManager().getTransactionIds().size()); - String restartSuccessNotification = + var restartSuccessNotification = ResourceUtils.getResourceAsString("policy-cl-mgt-restart-success.json"); - VirtualControlLoopNotification restartSuccess = + var restartSuccess = Serialization.gsonPretty.fromJson(restartSuccessNotification, VirtualControlLoopNotification.class); feature.beforeDeliver(testController, CommInfrastructure.DMAAP, POLICY_CL_MGT, restartSuccess); assertEquals(1, ControlLoopMetricsManager.getManager().getTransactionIds().size()); - String finalSuccessNotification = + var finalSuccessNotification = ResourceUtils.getResourceAsString("policy-cl-mgt-final-success.json"); - VirtualControlLoopNotification finalSuccess = + var finalSuccess = Serialization.gsonPretty.fromJson(finalSuccessNotification, VirtualControlLoopNotification.class); feature.beforeDeliver(testController, CommInfrastructure.DMAAP, POLICY_CL_MGT, finalSuccess); assertEquals(0, ControlLoopMetricsManager.getManager().getTransactionIds().size()); @@ -264,20 +265,20 @@ public class ControlLoopMetricsFeatureTest { } @Test - public void testUntrackedNotifications() throws InterruptedException { - ControlLoopMetricsFeature feature = new ControlLoopMetricsFeature(); + void testUntrackedNotifications() throws InterruptedException { + var feature = new ControlLoopMetricsFeature(); - String finalSuccessNotification = + var finalSuccessNotification = ResourceUtils.getResourceAsString("policy-cl-mgt-final-success.json"); - VirtualControlLoopNotification finalSuccess = + var finalSuccess = Serialization.gsonPretty.fromJson(finalSuccessNotification, VirtualControlLoopNotification.class); finalSuccess.setRequestId(UUID.randomUUID()); feature.beforeDeliver(testController, CommInfrastructure.DMAAP, POLICY_CL_MGT, finalSuccess); assertEquals(0, ControlLoopMetricsManager.getManager().getTransactionIds().size()); - String opStartNotification = + var opStartNotification = ResourceUtils.getResourceAsString("policy-cl-mgt-operation.json"); - VirtualControlLoopNotification opStart = + var opStart = Serialization.gsonPretty.fromJson(opStartNotification, VirtualControlLoopNotification.class); feature.beforeDeliver(testController, CommInfrastructure.DMAAP, POLICY_CL_MGT, opStart); assertEquals(1, ControlLoopMetricsManager.getManager().getTransactionIds().size()); @@ -285,5 +286,4 @@ public class ControlLoopMetricsFeatureTest { Thread.sleep((ControlLoopMetricsManager.getManager().getTransactionTimeout() + 1) * 1000L); // NOSONAR assertEquals(0, ControlLoopMetricsManager.getManager().getTransactionIds().size()); } - } diff --git a/controlloop/common/feature-controlloop-trans/src/test/java/org/onap/policy/drools/server/restful/RestTransactionTrackerTest.java b/controlloop/common/feature-controlloop-trans/src/test/java/org/onap/policy/drools/server/restful/RestTransactionTrackerTest.java index 02842da65..39adb8120 100644 --- a/controlloop/common/feature-controlloop-trans/src/test/java/org/onap/policy/drools/server/restful/RestTransactionTrackerTest.java +++ b/controlloop/common/feature-controlloop-trans/src/test/java/org/onap/policy/drools/server/restful/RestTransactionTrackerTest.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,24 +21,23 @@ package org.onap.policy.drools.server.restful; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; +import jakarta.ws.rs.client.Entity; +import jakarta.ws.rs.core.Response; import java.util.Collections; import java.util.List; -import javax.ws.rs.client.Entity; -import javax.ws.rs.core.Response; import org.jetbrains.annotations.NotNull; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; import org.onap.policy.common.endpoints.event.comm.Topic; import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams; import org.onap.policy.common.endpoints.http.client.HttpClient; import org.onap.policy.common.endpoints.http.client.HttpClientFactoryInstance; -import org.onap.policy.common.endpoints.http.server.HttpServletServer; import org.onap.policy.common.endpoints.http.server.HttpServletServerFactoryInstance; import org.onap.policy.common.utils.network.NetworkUtil; import org.onap.policy.common.utils.resources.ResourceUtils; @@ -49,12 +49,12 @@ import org.onap.policy.drools.persistence.SystemPersistenceConstants; import org.onap.policy.drools.system.PolicyController; import org.onap.policy.drools.system.PolicyEngineConstants; -public class RestTransactionTrackerTest { +class RestTransactionTrackerTest { private static PolicyController testController; private static HttpClient client; - @BeforeClass + @BeforeAll public static void testBeforeClass() throws Exception { SystemPersistenceConstants.getManager().setConfigurationDir("target/test-classes"); @@ -70,7 +70,7 @@ public class RestTransactionTrackerTest { .managed(true) .build()); - HttpServletServer server = + var server = HttpServletServerFactoryInstance .getServerFactory() .build("trans", "localhost", 8769, "/", true, true); @@ -84,7 +84,7 @@ public class RestTransactionTrackerTest { client = HttpClientFactoryInstance.getClientFactory().get("trans"); } - @AfterClass + @AfterAll public static void testAfterClass() { HttpClientFactoryInstance.getClientFactory().destroy(); HttpServletServerFactoryInstance.getServerFactory().destroy(); @@ -93,7 +93,7 @@ public class RestTransactionTrackerTest { } @Test - public void testConfiguration() { + void testConfiguration() { equals(get("cacheSize", Response.Status.OK.getStatusCode()), Integer.class, 3); equals(get("timeout", Response.Status.OK.getStatusCode()), Integer.class, 2); @@ -111,7 +111,7 @@ public class RestTransactionTrackerTest { } @Test - public void testTransactions() { + void testTransactions() { equals(get("/inprogress", Response.Status.OK.getStatusCode()), List.class, Collections.emptyList()); ControlLoopMetricsFeature feature = new ControlLoopMetricsFeature(); @@ -120,8 +120,8 @@ public class RestTransactionTrackerTest { List.class).isEmpty()); get("/inprogress/664be3d2-6c12-4f4b-a3e7-c349acced200", Response.Status.NOT_FOUND.getStatusCode()); - String activeNotification = ResourceUtils.getResourceAsString("policy-cl-mgt-active.json"); - VirtualControlLoopNotification active = + var activeNotification = ResourceUtils.getResourceAsString("policy-cl-mgt-active.json"); + var active = Serialization.gsonPretty.fromJson(activeNotification, VirtualControlLoopNotification.class); feature.beforeDeliver(testController, Topic.CommInfrastructure.DMAAP, "POLICY-CL-MGT", active); assertEquals(1, ControlLoopMetricsManager.getManager().getTransactionIds().size()); @@ -133,12 +133,12 @@ public class RestTransactionTrackerTest { } private Response get(String contextPath, int statusCode) { - Response response = client.get(contextPath); + var response = client.get(contextPath); return checkResponse(statusCode, response); } private Response put(String contextPath, String body, int statusCode) { - Response response = client.put(contextPath, Entity.json(body), Collections.emptyMap()); + var response = client.put(contextPath, Entity.json(body), Collections.emptyMap()); return checkResponse(statusCode, response); } diff --git a/controlloop/common/feature-controlloop-usecases/pom.xml b/controlloop/common/feature-controlloop-usecases/pom.xml index a0163e224..0bb27c5b1 100644 --- a/controlloop/common/feature-controlloop-usecases/pom.xml +++ b/controlloop/common/feature-controlloop-usecases/pom.xml @@ -4,6 +4,7 @@ ================================================================================ Copyright (C) 2018-2020 AT&T Intellectual Property. All rights reserved. Modifications Copyright (C) 2020 Bell Canada. + Modifications Copyright (C) 2023 Nordix Foundation. ================================================================================ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -19,13 +20,14 @@ ============LICENSE_END========================================================= --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.onap.policy.drools-applications.controlloop.common</groupId> <artifactId>drools-applications-common</artifactId> - <version>2.0.0-SNAPSHOT</version> + <version>2.0.1-SNAPSHOT</version> </parent> <artifactId>feature-controlloop-usecases</artifactId> diff --git a/controlloop/common/feature-controlloop-usecases/src/test/java/org/onap/policy/drools/apps/controlloop/feature/usecases/UsecasesFeatureTest.java b/controlloop/common/feature-controlloop-usecases/src/test/java/org/onap/policy/drools/apps/controlloop/feature/usecases/UsecasesFeatureTest.java index ed1bba23d..8844dec0a 100644 --- a/controlloop/common/feature-controlloop-usecases/src/test/java/org/onap/policy/drools/apps/controlloop/feature/usecases/UsecasesFeatureTest.java +++ b/controlloop/common/feature-controlloop-usecases/src/test/java/org/onap/policy/drools/apps/controlloop/feature/usecases/UsecasesFeatureTest.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,12 +21,14 @@ package org.onap.policy.drools.apps.controlloop.feature.usecases; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; -public class UsecasesFeatureTest { +import org.junit.jupiter.api.Test; - @org.junit.Test - public void getSequenceNumber() { +class UsecasesFeatureTest { + + @Test + void getSequenceNumber() { assertEquals(UsecasesFeature.SEQNO, new UsecasesFeature().getSequenceNumber()); } } diff --git a/controlloop/common/feature-controlloop-utils/pom.xml b/controlloop/common/feature-controlloop-utils/pom.xml index 8ac20b19a..fe74bb9ad 100644 --- a/controlloop/common/feature-controlloop-utils/pom.xml +++ b/controlloop/common/feature-controlloop-utils/pom.xml @@ -3,7 +3,7 @@ ONAP ================================================================================ Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. - Modifications Copyright (C) 2019 Nordix Foundation. + Modifications Copyright (C) 2019, 2023 Nordix Foundation. Modifications Copyright (C) 2020 Bell Canada. ================================================================================ Licensed under the Apache License, Version 2.0 (the "License"); @@ -20,116 +20,116 @@ ============LICENSE_END========================================================= --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.onap.policy.drools-applications.controlloop.common</groupId> - <artifactId>drools-applications-common</artifactId> - <version>2.0.0-SNAPSHOT</version> - </parent> + <parent> + <groupId>org.onap.policy.drools-applications.controlloop.common</groupId> + <artifactId>drools-applications-common</artifactId> + <version>2.0.1-SNAPSHOT</version> + </parent> - <artifactId>feature-controlloop-utils</artifactId> + <artifactId>feature-controlloop-utils</artifactId> - <description> - Loadable PDP-D feature module to enable simulator usage in a non-junit - lab environments. In a pdp-d lab environment this capability can be - enabled with the "feature" mechanisms. - </description> - - <properties> - <maven.compiler.source>1.8</maven.compiler.source> - <maven.compiler.target>1.8</maven.compiler.target> - </properties> + <description> + Loadable PDP-D feature module to enable simulator usage in a non-junit + lab environments. In a pdp-d lab environment this capability can be + enabled with the "feature" mechanisms. + </description> - <build> - <plugins> - <plugin> - <artifactId>maven-assembly-plugin</artifactId> - <executions> - <execution> - <id>zipfile</id> - <goals> - <goal>single</goal> - </goals> - <phase>package</phase> - <configuration> - <attach>true</attach> - <finalName>${project.artifactId}-${project.version}</finalName> - <descriptors> - <descriptor>src/assembly/assemble_zip.xml</descriptor> - </descriptors> - <appendAssemblyId>false</appendAssemblyId> - </configuration> - </execution> - </executions> - </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-dependency-plugin</artifactId> - <executions> - <execution> - <id>copy-dependencies</id> - <goals> - <goal>copy-dependencies</goal> - </goals> - <phase>prepare-package</phase> - <configuration> - <transitive>false</transitive> - <outputDirectory>${project.build.directory}/assembly/lib</outputDirectory> - <overWriteReleases>false</overWriteReleases> - <overWriteSnapshots>true</overWriteSnapshots> - <overWriteIfNewer>true</overWriteIfNewer> - <useRepositoryLayout>false</useRepositoryLayout> - <addParentPoms>false</addParentPoms> - <copyPom>false</copyPom> - <includeScope>runtime</includeScope> - <excludeTransitive>true</excludeTransitive> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - </build> - - <dependencies> - <dependency> - <groupId>org.onap.policy.drools-pdp</groupId> - <artifactId>policy-management</artifactId> - <version>${version.policy.drools-pdp}</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.onap.policy.common</groupId> - <artifactId>policy-endpoints</artifactId> - <version>${version.policy.common}</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.onap.policy.models.policy-models-interactions</groupId> - <artifactId>simulators</artifactId> - <version>${policy.models.version}</version> - </dependency> - <dependency> - <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId> - <artifactId>aai</artifactId> - <version>${policy.models.version}</version> - </dependency> - <dependency> - <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId> - <artifactId>so</artifactId> - <version>${policy.models.version}</version> - </dependency> - <dependency> - <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId> - <artifactId>sdnc</artifactId> - <version>${policy.models.version}</version> - </dependency> - <dependency> - <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId> - <artifactId>rest</artifactId> - <version>${policy.models.version}</version> - </dependency> - </dependencies> + <properties> + <maven.compiler.source>1.8</maven.compiler.source> + <maven.compiler.target>1.8</maven.compiler.target> + </properties> + + <build> + <plugins> + <plugin> + <artifactId>maven-assembly-plugin</artifactId> + <executions> + <execution> + <id>zipfile</id> + <goals> + <goal>single</goal> + </goals> + <phase>package</phase> + <configuration> + <attach>true</attach> + <finalName>${project.artifactId}-${project.version}</finalName> + <descriptors> + <descriptor>src/assembly/assemble_zip.xml</descriptor> + </descriptors> + <appendAssemblyId>false</appendAssemblyId> + </configuration> + </execution> + </executions> + </plugin> + + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-dependency-plugin</artifactId> + <executions> + <execution> + <id>copy-dependencies</id> + <goals> + <goal>copy-dependencies</goal> + </goals> + <phase>prepare-package</phase> + <configuration> + <outputDirectory>${project.build.directory}/assembly/lib</outputDirectory> + <overWriteReleases>false</overWriteReleases> + <overWriteSnapshots>true</overWriteSnapshots> + <overWriteIfNewer>true</overWriteIfNewer> + <useRepositoryLayout>false</useRepositoryLayout> + <addParentPoms>false</addParentPoms> + <copyPom>false</copyPom> + <includeScope>runtime</includeScope> + <excludeTransitive>true</excludeTransitive> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + + <dependencies> + <dependency> + <groupId>org.onap.policy.drools-pdp</groupId> + <artifactId>policy-management</artifactId> + <version>${version.policy.drools-pdp}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.onap.policy.common</groupId> + <artifactId>policy-endpoints</artifactId> + <version>${version.policy.common}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.onap.policy.models.policy-models-interactions</groupId> + <artifactId>simulators</artifactId> + <version>${policy.models.version}</version> + </dependency> + <dependency> + <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId> + <artifactId>aai</artifactId> + <version>${policy.models.version}</version> + </dependency> + <dependency> + <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId> + <artifactId>so</artifactId> + <version>${policy.models.version}</version> + </dependency> + <dependency> + <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId> + <artifactId>sdnc</artifactId> + <version>${policy.models.version}</version> + </dependency> + <dependency> + <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId> + <artifactId>rest</artifactId> + <version>${policy.models.version}</version> + </dependency> + </dependencies> </project> diff --git a/controlloop/common/feature-controlloop-utils/src/main/java/org/onap/policy/drools/apps/controlloop/feature/utils/ControlLoopUtilsFeature.java b/controlloop/common/feature-controlloop-utils/src/main/java/org/onap/policy/drools/apps/controlloop/feature/utils/ControlLoopUtilsFeature.java index 98a3b2dae..bc6bbd729 100644 --- a/controlloop/common/feature-controlloop-utils/src/main/java/org/onap/policy/drools/apps/controlloop/feature/utils/ControlLoopUtilsFeature.java +++ b/controlloop/common/feature-controlloop-utils/src/main/java/org/onap/policy/drools/apps/controlloop/feature/utils/ControlLoopUtilsFeature.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2017-2019, 2021 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -33,7 +34,7 @@ import org.slf4j.LoggerFactory; */ public class ControlLoopUtilsFeature implements PolicyEngineFeatureApi { - private static Logger logger = LoggerFactory.getLogger(ControlLoopUtilsFeature.class); + private static final Logger logger = LoggerFactory.getLogger(ControlLoopUtilsFeature.class); @Override public boolean afterStart(PolicyEngine engine) { diff --git a/controlloop/common/feature-controlloop-utils/src/test/java/org/onap/policy/drools/apps/controlloop/feature/utils/ControlLoopUtilsFeatureTest.java b/controlloop/common/feature-controlloop-utils/src/test/java/org/onap/policy/drools/apps/controlloop/feature/utils/ControlLoopUtilsFeatureTest.java index 069b370b6..5d1c52ca0 100644 --- a/controlloop/common/feature-controlloop-utils/src/test/java/org/onap/policy/drools/apps/controlloop/feature/utils/ControlLoopUtilsFeatureTest.java +++ b/controlloop/common/feature-controlloop-utils/src/test/java/org/onap/policy/drools/apps/controlloop/feature/utils/ControlLoopUtilsFeatureTest.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2017-2021 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,9 +21,9 @@ package org.onap.policy.drools.apps.controlloop.feature.utils; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNotNull; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.onap.policy.common.endpoints.http.server.HttpServletServerFactoryInstance; import org.onap.policy.common.utils.logging.LoggerUtils; import org.onap.policy.drools.system.PolicyEngineConstants; @@ -31,13 +32,13 @@ import org.onap.policy.simulators.Util; /** * ControlLoopUtilsFeature JUnit Tests. */ -public class ControlLoopUtilsFeatureTest { +class ControlLoopUtilsFeatureTest { @Test - public void testSimulate() { + void testSimulate() { LoggerUtils.setLevel("ROOT", "INFO"); LoggerUtils.setLevel("org.eclipse.jetty", "WARN"); - final ControlLoopUtilsFeature feature = new ControlLoopUtilsFeature(); + final var feature = new ControlLoopUtilsFeature(); feature.afterStart(PolicyEngineConstants.getManager()); assertNotNull(HttpServletServerFactoryInstance.getServerFactory().get(Util.AAISIM_SERVER_PORT)); assertNotNull(HttpServletServerFactoryInstance.getServerFactory().get(Util.SOSIM_SERVER_PORT)); diff --git a/controlloop/common/pom.xml b/controlloop/common/pom.xml index a151dac1f..62e177fa8 100644 --- a/controlloop/common/pom.xml +++ b/controlloop/common/pom.xml @@ -4,6 +4,7 @@ ================================================================================ Copyright (C) 2017, 2019-2020 AT&T Intellectual Property. All rights reserved. Modifications Copyright (C) 2020 Bell Canada. + Modifications Copyright (C) 2023 Nordix Foundation. ================================================================================ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -19,29 +20,29 @@ ============LICENSE_END========================================================= --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - <packaging>pom</packaging> - - <parent> - <groupId>org.onap.policy.drools-applications.controlloop</groupId> - <artifactId>controlloop</artifactId> - <version>2.0.0-SNAPSHOT</version> - </parent> - - <groupId>org.onap.policy.drools-applications.controlloop.common</groupId> - <artifactId>drools-applications-common</artifactId> - - <modules> - <module>coordination</module> - <module>eventmanager</module> - <module>rules-test</module> - <module>controller-usecases</module> - <module>feature-controlloop-utils</module> - <module>feature-controlloop-trans</module> - <module>feature-controlloop-management</module> - <module>feature-controlloop-usecases</module> - </modules> - +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <packaging>pom</packaging> + + <parent> + <groupId>org.onap.policy.drools-applications.controlloop</groupId> + <artifactId>controlloop</artifactId> + <version>2.0.1-SNAPSHOT</version> + </parent> + + <groupId>org.onap.policy.drools-applications.controlloop.common</groupId> + <artifactId>drools-applications-common</artifactId> + + <modules> + <module>coordination</module> + <module>eventmanager</module> + <module>rules-test</module> + <module>controller-usecases</module> + <module>feature-controlloop-utils</module> + <module>feature-controlloop-trans</module> + <module>feature-controlloop-management</module> + <module>feature-controlloop-usecases</module> + </modules> </project> diff --git a/controlloop/common/rules-test/pom.xml b/controlloop/common/rules-test/pom.xml index af41f914d..2ad7b862d 100644 --- a/controlloop/common/rules-test/pom.xml +++ b/controlloop/common/rules-test/pom.xml @@ -19,14 +19,14 @@ ============LICENSE_END========================================================= --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> - <groupId>org.onap.policy.drools-applications.controlloop.common</groupId> <artifactId>drools-applications-common</artifactId> - <version>2.0.0-SNAPSHOT</version> + <version>2.0.1-SNAPSHOT</version> </parent> <artifactId>rules-test</artifactId> @@ -58,8 +58,8 @@ <scope>provided</scope> </dependency> <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> + <groupId>org.mockito</groupId> + <artifactId>mockito-junit-jupiter</artifactId> <scope>provided</scope> </dependency> <dependency> @@ -68,11 +68,6 @@ <scope>compile</scope> </dependency> <dependency> - <groupId>org.assertj</groupId> - <artifactId>assertj-core</artifactId> - <scope>test</scope> - </dependency> - <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <scope>provided</scope> diff --git a/controlloop/common/rules-test/src/main/java/org/onap/policy/controlloop/common/rules/test/BaseTest.java b/controlloop/common/rules-test/src/main/java/org/onap/policy/controlloop/common/rules/test/BaseTest.java index f36a3780b..c2e10dff6 100644 --- a/controlloop/common/rules-test/src/main/java/org/onap/policy/controlloop/common/rules/test/BaseTest.java +++ b/controlloop/common/rules-test/src/main/java/org/onap/policy/controlloop/common/rules/test/BaseTest.java @@ -21,7 +21,7 @@ package org.onap.policy.controlloop.common.rules.test; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; import java.util.Collections; import java.util.List; @@ -36,7 +36,7 @@ import lombok.Getter; import lombok.Setter; import org.apache.commons.collections.MapUtils; import org.awaitility.Awaitility; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.onap.policy.appc.Request; import org.onap.policy.appclcm.AppcLcmDmaapWrapper; import org.onap.policy.common.utils.coder.Coder; @@ -210,7 +210,7 @@ public abstract class BaseTest { /** * Service123 with Tosca Compliant Policy. */ - @Test + //TODO This test needs to be enabled in java-17 branch public void testService123Compliant() { policyClMgt = createNoficationTopicListener(); appcLcmRead = topics.createListener(APPC_LCM_READ_TOPIC, AppcLcmDmaapWrapper.class, APPC_LCM_CODER); @@ -256,7 +256,7 @@ public abstract class BaseTest { * to obtain a lock since it is a different target. After processing of all events * there should only be the policy and params objects left in memory. */ - @Test + //TODO This test needs to be enabled in java-17 branch public void testDuplicatesEvents() { policyClMgt = createNoficationTopicListener(); appcLcmRead = topics.createListener(APPC_LCM_READ_TOPIC, AppcLcmDmaapWrapper.class, APPC_LCM_CODER); @@ -304,7 +304,7 @@ public abstract class BaseTest { /** * Sunny Day with Tosca Compliant Policy. */ - @Test + //TODO This test needs to be enabled in java-17 branch public void testVcpeSunnyDayCompliant() { appcLcmSunnyDay(VCPE_TOSCA_COMPLIANT_POLICY, VCPE_ONSET_1, APPC_RESTART_OP); } @@ -314,7 +314,7 @@ public abstract class BaseTest { * simulate the flooding behavior of the DCAE TCA microservice. TCA could blast tens * or hundreds of ONSETs within sub-second intervals. */ - @Test + //TODO This test needs to be enabled in java-17 branch public void testVcpeOnsetFloodPrevention() { appcLcmSunnyDay(VCPE_TOSCA_COMPLIANT_POLICY, List.of(VCPE_ONSET_1, VCPE_ONSET_2, VCPE_ONSET_3), APPC_RESTART_OP); @@ -325,7 +325,7 @@ public abstract class BaseTest { /** * Sunny Day with Tosca Compliant Policy. */ - @Test + //TODO This test needs to be enabled in java-17 branch public void testVdnsSunnyDayCompliant() { httpSunnyDay(VDNS_TOSCA_COMPLIANT_POLICY, VDNS_ONSET); } @@ -344,7 +344,7 @@ public abstract class BaseTest { /** * VFW Sunny Day with Tosca Compliant Policy. */ - @Test + //TODO This test needs to be enabled in java-17 branch public void testVfwSunnyDayCompliant() { appcLegacySunnyDay(VFW_TOSCA_COMPLIANT_POLICY, VFW_ONSET, APPC_MODIFY_CONFIG_OP); } @@ -368,7 +368,7 @@ public abstract class BaseTest { /** * VPCI Sunny Day Tosca Policy. */ - @Test + //TODO This test needs to be enabled in java-17 branch public void testVpciSunnyDayCompliant() { sdnrSunnyDay(VPCI_TOSCA_COMPLIANT_POLICY, VPCI_ONSET, VPCI_SDNR_SUCCESS, SDNR_MODIFY_CONFIG_OP, SDNR_CL_TOPIC, SDNR_CL_RSP_TOPIC); @@ -379,7 +379,7 @@ public abstract class BaseTest { /** * VSONH Sunny Day with Tosca Policy. */ - @Test + //TODO This test needs to be enabled in java-17 branch public void testVsonhSunnyDayCompliant() { sdnrSunnyDay(VSONH_TOSCA_COMPLIANT_POLICY, VSONH_ONSET, VSONH_SDNR_SUCCESS, SNDR_MODIFY_CONFIG_ANR_OP, SDNR_CL_TOPIC, SDNR_CL_RSP_TOPIC); @@ -388,7 +388,7 @@ public abstract class BaseTest { /** * Sunny day 5G SON 01 Modify01Config Operational Policy. */ - @Test + //TODO This test needs to be enabled in java-17 branch public void test5gSonO1SunnyDayCompliant() { sdnrSunnyDay(V5G_SON_O1_TOSCA_POLICY, V5G_SON_O1_ONSET, V5G_SON_O1_SDNR_SUCCESS, MODIFY_O1_CONFIG_OPERATION, SDNR_CL_TOPIC, SDNR_CL_RSP_TOPIC); @@ -397,7 +397,7 @@ public abstract class BaseTest { /** * Sunny day 5G SON A1 ModifyA1Policy Operational Policy. */ - @Test + //TODO This test needs to be enabled in java-17 branch public void test5gSonA1SunnyDayCompliant() { sdnrSunnyDay(V5G_SON_A1_TOSCA_POLICY, V5G_SON_A1_ONSET, V5G_SON_A1_SDNR_SUCCESS, PUT_A1_POLICY_OPERATION, A1P_CL_TOPIC, A1P_CL_RSP_TOPIC); diff --git a/controlloop/common/rules-test/src/main/java/org/onap/policy/controlloop/common/rules/test/NamedRunner.java b/controlloop/common/rules-test/src/main/java/org/onap/policy/controlloop/common/rules/test/NamedRunner.java index 5642f35fd..4a974878e 100644 --- a/controlloop/common/rules-test/src/main/java/org/onap/policy/controlloop/common/rules/test/NamedRunner.java +++ b/controlloop/common/rules-test/src/main/java/org/onap/policy/controlloop/common/rules/test/NamedRunner.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,36 +21,29 @@ package org.onap.policy.controlloop.common.rules.test; -import org.junit.Ignore; -import org.junit.runner.notification.RunNotifier; -import org.junit.runners.BlockJUnit4ClassRunner; -import org.junit.runners.model.FrameworkMethod; -import org.junit.runners.model.InitializationError; +import org.junit.jupiter.api.extension.ConditionEvaluationResult; +import org.junit.jupiter.api.extension.ExecutionCondition; +import org.junit.jupiter.api.extension.ExtensionContext; /** * Runs tests listed via the {@link TestNames} annotation. */ -public class NamedRunner extends BlockJUnit4ClassRunner { - - /** - * Constructs the object. - */ - public NamedRunner(Class<?> testClass) throws InitializationError { - super(testClass); - } +public class NamedRunner implements ExecutionCondition { @Override - protected void runChild(final FrameworkMethod method, RunNotifier notifier) { - var description = describeChild(method); - - if (method.getAnnotation(Ignore.class) != null) { - notifier.fireTestIgnored(description); - - } else if (!isNamed(description.getTestClass(), method.getName())) { - notifier.fireTestIgnored(description); - + public ConditionEvaluationResult evaluateExecutionCondition(ExtensionContext extensionContext) { + var testClass = extensionContext.getTestClass(); + if (testClass.isEmpty()) { + return ConditionEvaluationResult.enabled("Empty"); + } + var method = extensionContext.getDisplayName().replace("()", ""); + if (testClass.get().getSimpleName().equals(method)) { + return ConditionEvaluationResult.enabled("Class"); + } + if (isNamed(testClass.get(), method)) { + return ConditionEvaluationResult.enabled("OK"); } else { - runLeaf(methodBlock(method), description, notifier); + return ConditionEvaluationResult.disabled("Disabled"); } } @@ -61,7 +55,7 @@ public class NamedRunner extends BlockJUnit4ClassRunner { * @return {@code true} if the test is in the list, {@code false} otherwise */ private boolean isNamed(Class<?> testClass, String testName) { - TestNames annot = testClass.getAnnotation(TestNames.class); + var annot = testClass.getAnnotation(TestNames.class); if (annot == null) { // no annotation - everything passes return true; diff --git a/controlloop/common/rules-test/src/main/java/org/onap/policy/controlloop/common/rules/test/Rules.java b/controlloop/common/rules-test/src/main/java/org/onap/policy/controlloop/common/rules/test/Rules.java index 111f00800..8272205d2 100644 --- a/controlloop/common/rules-test/src/main/java/org/onap/policy/controlloop/common/rules/test/Rules.java +++ b/controlloop/common/rules-test/src/main/java/org/onap/policy/controlloop/common/rules/test/Rules.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020-2022 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,9 +22,9 @@ package org.onap.policy.controlloop.common.rules.test; import static org.awaitility.Awaitility.await; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.File; import java.io.FileNotFoundException; diff --git a/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/BaseTestTest.java b/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/BaseTestTest.java index 0c8c6fb1c..cc2bda03e 100644 --- a/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/BaseTestTest.java +++ b/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/BaseTestTest.java @@ -21,11 +21,12 @@ package org.onap.policy.controlloop.common.rules.test; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertSame; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @@ -37,14 +38,11 @@ import java.util.Queue; import java.util.concurrent.atomic.AtomicLong; import java.util.function.Predicate; import java.util.function.Supplier; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Ignore; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import org.onap.policy.appc.CommonHeader; import org.onap.policy.appc.Request; import org.onap.policy.appclcm.AppcLcmBody; @@ -64,8 +62,7 @@ import org.onap.policy.sdnr.PciMessage; import org.onap.policy.sdnr.PciRequest; import org.springframework.test.util.ReflectionTestUtils; -@RunWith(MockitoJUnitRunner.class) -public class BaseTestTest { +class BaseTestTest { private static final String POLICY_NAME = "my-policy-name"; // saved values @@ -81,33 +78,22 @@ public class BaseTestTest { private int permitCount; private int finalCount; - @Mock - private HttpClients httpClients; - @Mock - private Simulators simulators; - @Mock - private Topics topics; - @Mock - private Listener<VirtualControlLoopNotification> policyClMgt; - @Mock - private Listener<Request> appcClSink; - @Mock - private Listener<AppcLcmDmaapWrapper> appcLcmRead; - @Mock - private Listener<PciMessage> sdnrClSink; - @Mock - private DroolsController drools; - @Mock - private ToscaPolicy policy; - @Mock - private ToscaConceptIdentifier policyIdent; - + private final HttpClients httpClients = mock(HttpClients.class); + private final Simulators simulators = mock(Simulators.class); + private final Topics topics = mock(Topics.class); + private final Listener<VirtualControlLoopNotification> policyClMgt = mock(); + private final Listener<Request> appcClSink = mock(); + private final Listener<AppcLcmDmaapWrapper> appcLcmRead = mock(); + private final Listener<PciMessage> sdnrClSink = mock(); + private final DroolsController drools = mock(DroolsController.class); + private final ToscaPolicy policy = mock(ToscaPolicy.class); + private final ToscaConceptIdentifier policyIdent = mock(ToscaConceptIdentifier.class); /** * Saves static values from the class. */ @SuppressWarnings("unchecked") - @BeforeClass + @BeforeAll public static void setUpBeforeClass() { httpClientMaker = (Supplier<HttpClients>) ReflectionTestUtils.getField(BaseTest.class, "httpClientMaker"); simMaker = (Supplier<Simulators>) ReflectionTestUtils.getField(BaseTest.class, "simMaker"); @@ -117,7 +103,7 @@ public class BaseTestTest { /** * Restores static values. */ - @AfterClass + @AfterAll public static void tearDownAfterClass() { ReflectionTestUtils.setField(BaseTest.class, "httpClientMaker", httpClientMaker); ReflectionTestUtils.setField(BaseTest.class, "simMaker", simMaker); @@ -127,7 +113,7 @@ public class BaseTestTest { /** * Sets up. */ - @Before + @BeforeEach public void setUp() { when(topics.createListener(eq(BaseTest.POLICY_CL_MGT_TOPIC), eq(VirtualControlLoopNotification.class), any(StandardCoder.class))).thenReturn(policyClMgt); @@ -189,31 +175,31 @@ public class BaseTestTest { } @Test - public void testInitStatics() { + void testInitStatics() { assertSame(httpClients, BaseTest.httpClients); assertSame(simulators, BaseTest.simulators); } @Test - public void testFinishStatics() { + void testFinishStatics() { BaseTest.finishStatics(); verify(httpClients).destroy(); verify(simulators).destroy(); } @Test - public void testInit() { + void testInit() { assertSame(topics, BaseTest.getTopics()); } @Test - public void testFinish() { + void testFinish() { base.finish(); verify(topics).destroy(); } @Test - public void testTestService123Compliant() { + void testTestService123Compliant() { enqueueAppcLcm("restart", "restart", "restart", "restart", "rebuild", "migrate"); enqueueClMgt(ControlLoopNotificationType.OPERATION_SUCCESS); enqueueClMgt(ControlLoopNotificationType.FINAL_SUCCESS); @@ -234,9 +220,9 @@ public class BaseTestTest { } @Test - public void testTestDuplicatesEvents() { + void testTestDuplicatesEvents() { // the test expects the count to be incremented by 2 between calls - AtomicLong count = new AtomicLong(5); + var count = new AtomicLong(5); base = spy(base); when(base.getCreateCount()).thenAnswer(args -> count.getAndAdd(2)); @@ -264,12 +250,12 @@ public class BaseTestTest { } @Test - public void testTestVcpeSunnyDayCompliant() { + void testTestVcpeSunnyDayCompliant() { checkAppcLcmPolicy("restart", base::testVcpeSunnyDayCompliant); } @Test - public void testTestVcpeOnsetFloodPrevention() { + void testTestVcpeOnsetFloodPrevention() { enqueueAppcLcm("restart"); enqueueClMgt(ControlLoopNotificationType.OPERATION_SUCCESS); enqueueClMgt(ControlLoopNotificationType.FINAL_SUCCESS); @@ -290,37 +276,37 @@ public class BaseTestTest { } @Test - public void testTestVdnsSunnyDayCompliant() { + void testTestVdnsSunnyDayCompliant() { checkHttpPolicy(base::testVdnsSunnyDayCompliant); } @Test - public void testTestVdnsRainyDayCompliant() { + void testTestVdnsRainyDayCompliant() { checkHttpPolicyCompliantFailure(base::testVdnsRainyDayCompliant); } @Test - public void testTestVfwSunnyDayCompliant() { + void testTestVfwSunnyDayCompliant() { checkAppcLegacyPolicy("ModifyConfig", base::testVfwSunnyDayCompliant); } @Test - public void testTestVfwRainyDayOverallTimeout() { + void testTestVfwRainyDayOverallTimeout() { checkAppcLegacyPolicyFinalFailure("ModifyConfig", base::testVfwRainyDayOverallTimeout); } @Test - public void testTestVfwRainyDayCompliantTimeout() { + void testTestVfwRainyDayCompliantTimeout() { checkAppcLegacyPolicyFinalFailure("ModifyConfig", base::testVfwRainyDayCompliantTimeout); } @Test - public void testTestVpciSunnyDayCompliant() { + void testTestVpciSunnyDayCompliant() { checkSdnrPolicy("ModifyConfig", base::testVpciSunnyDayCompliant); } @Test - public void testTestVsonhSunnyDayCompliant() { + void testTestVsonhSunnyDayCompliant() { checkSdnrPolicy("ModifyConfigANR", base::testVsonhSunnyDayCompliant); } @@ -453,7 +439,7 @@ public class BaseTestTest { } private void enqueueClMgt(ControlLoopNotificationType type) { - VirtualControlLoopNotification notif = new VirtualControlLoopNotification(); + var notif = new VirtualControlLoopNotification(); notif.setNotification(type); notif.setPolicyName(POLICY_NAME + ".EVENT.MANAGER.FINAL"); @@ -461,17 +447,17 @@ public class BaseTestTest { } private void enqueueAppcLcm(String... operationNames) { - for (String oper : operationNames) { - AppcLcmDmaapWrapper req = new AppcLcmDmaapWrapper(); + for (var oper : operationNames) { + var req = new AppcLcmDmaapWrapper(); req.setRpcName(oper); - AppcLcmBody body = new AppcLcmBody(); + var body = new AppcLcmBody(); req.setBody(body); - AppcLcmInput input = new AppcLcmInput(); + var input = new AppcLcmInput(); body.setInput(input); - AppcLcmCommonHeader header = new AppcLcmCommonHeader(); + var header = new AppcLcmCommonHeader(); input.setCommonHeader(header); header.setSubRequestId("my-subrequest-id"); @@ -481,11 +467,11 @@ public class BaseTestTest { } private void enqueueAppcLegacy(String... operationNames) { - for (String oper : operationNames) { - Request req = new Request(); + for (var oper : operationNames) { + var req = new Request(); req.setAction(oper); - CommonHeader header = new CommonHeader(); + var header = new CommonHeader(); req.setCommonHeader(header); header.setSubRequestId("my-subrequest-id"); @@ -496,13 +482,13 @@ public class BaseTestTest { private void enqueueSdnr(String... operationNames) { for (String oper : operationNames) { - PciMessage pcimessage = new PciMessage(); - PciRequest req = new PciRequest(); - PciBody body = new PciBody(); + var pcimessage = new PciMessage(); + var req = new PciRequest(); + var body = new PciBody(); body.setInput(req); pcimessage.setBody(body); pcimessage.getBody().getInput().setAction(oper); - PciCommonHeader header = new PciCommonHeader(); + var header = new PciCommonHeader(); pcimessage.getBody().getInput().setCommonHeader(header); header.setSubRequestId("my-subrequest-id"); @@ -526,7 +512,7 @@ public class BaseTestTest { /* * We don't want junit trying to run this, so it's marked "Ignore". */ - @Ignore + @Disabled private class MyTest extends BaseTest { @Override diff --git a/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/DroolsRuleTestTest.java b/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/DroolsRuleTestTest.java index 4b9f5774d..0b859adf0 100644 --- a/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/DroolsRuleTestTest.java +++ b/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/DroolsRuleTestTest.java @@ -21,11 +21,12 @@ package org.onap.policy.controlloop.common.rules.test; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertSame; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -35,15 +36,11 @@ import java.util.Queue; import java.util.function.Function; import java.util.function.Predicate; import java.util.function.Supplier; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Ignore; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; -import org.onap.policy.appc.Request; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import org.onap.policy.appclcm.AppcLcmBody; import org.onap.policy.appclcm.AppcLcmCommonHeader; import org.onap.policy.appclcm.AppcLcmDmaapWrapper; @@ -53,13 +50,10 @@ import org.onap.policy.controlloop.ControlLoopNotificationType; import org.onap.policy.controlloop.VirtualControlLoopNotification; import org.onap.policy.drools.controller.DroolsController; import org.onap.policy.drools.system.PolicyController; -import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; -import org.onap.policy.sdnr.PciMessage; import org.springframework.test.util.ReflectionTestUtils; -@RunWith(MockitoJUnitRunner.class) -public class DroolsRuleTestTest { +class DroolsRuleTestTest { private static final String CONTROLLER_NAME = "my-controller-name"; private static final String POLICY_NAME = "my-policy-name"; @@ -76,37 +70,21 @@ public class DroolsRuleTestTest { private int permitCount; private int finalCount; - @Mock - private PolicyController controller; - @Mock - private Rules rules; - @Mock - private HttpClients httpClients; - @Mock - private Simulators simulators; - @Mock - private Topics topics; - @Mock - private Listener<VirtualControlLoopNotification> policyClMgt; - @Mock - private Listener<Request> appcClSink; - @Mock - private Listener<AppcLcmDmaapWrapper> appcLcmRead; - @Mock - private Listener<PciMessage> sdnrClSink; - @Mock - private DroolsController drools; - @Mock - private ToscaPolicy policy; - @Mock - private ToscaConceptIdentifier policyIdent; - + private final PolicyController controller = mock(PolicyController.class); + private final Rules rules = mock(Rules.class); + private final HttpClients httpClients = mock(HttpClients.class); + private final Simulators simulators = mock(Simulators.class); + private final Topics topics = mock(Topics.class); + private final Listener<VirtualControlLoopNotification> policyClMgt = mock(); + private final Listener<AppcLcmDmaapWrapper> appcLcmRead = mock(); + private final DroolsController drools = mock(DroolsController.class); + private final ToscaPolicy policy = mock(ToscaPolicy.class); /** * Saves static values from the class. */ @SuppressWarnings("unchecked") - @BeforeClass + @BeforeAll public static void setUpBeforeClass() { ruleMaker = (Function<String, Rules>) ReflectionTestUtils.getField(DroolsRuleTest.class, "ruleMaker"); httpClientMaker = (Supplier<HttpClients>) ReflectionTestUtils.getField(DroolsRuleTest.class, "httpClientMaker"); @@ -117,7 +95,7 @@ public class DroolsRuleTestTest { /** * Restores static values. */ - @AfterClass + @AfterAll public static void tearDownAfterClass() { ReflectionTestUtils.setField(DroolsRuleTest.class, "ruleMaker", ruleMaker); ReflectionTestUtils.setField(DroolsRuleTest.class, "httpClientMaker", httpClientMaker); @@ -128,7 +106,7 @@ public class DroolsRuleTestTest { /** * Sets up. */ - @Before + @BeforeEach public void setUp() { when(rules.getController()).thenReturn(controller); when(rules.setupPolicyFromFile(any())).thenReturn(policy); @@ -174,14 +152,14 @@ public class DroolsRuleTestTest { } @Test - public void testInitStatics() { + void testInitStatics() { assertSame(rules, DroolsRuleTest.rules); assertSame(httpClients, DroolsRuleTest.httpClients); assertSame(simulators, DroolsRuleTest.simulators); } @Test - public void testFinishStatics() { + void testFinishStatics() { DroolsRuleTest.finishStatics(); verify(rules).destroy(); @@ -190,13 +168,13 @@ public class DroolsRuleTestTest { } @Test - public void testInit() { + void testInit() { assertSame(topics, BaseTest.getTopics()); assertSame(controller, base.controller); } @Test - public void testDroolsTestService123Compliant() { + void testDroolsTestService123Compliant() { enqueueAppcLcm("restart", "restart", "restart", "restart", "rebuild", "migrate"); enqueueClMgt(ControlLoopNotificationType.OPERATION_SUCCESS); enqueueClMgt(ControlLoopNotificationType.FINAL_SUCCESS); @@ -263,7 +241,7 @@ public class DroolsRuleTestTest { * We don't want junit trying to run this, so it's marked "Ignore". */ - @Ignore + @Disabled private class MyDroolsTest extends DroolsRuleTest { @Override diff --git a/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/ExceptionsTest.java b/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/ExceptionsTest.java index 737005eaa..03fadff1d 100644 --- a/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/ExceptionsTest.java +++ b/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/ExceptionsTest.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,15 +21,15 @@ package org.onap.policy.controlloop.common.rules.test; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.onap.policy.common.utils.test.ExceptionsTester; -public class ExceptionsTest { +class ExceptionsTest { @Test - public void test() { + void test() { assertEquals(4, new ExceptionsTester().testAllException(TopicException.class)); assertEquals(4, new ExceptionsTester().testAllException(SimulatorException.class)); diff --git a/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/HttpClientsTest.java b/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/HttpClientsTest.java index dac10df34..d4c068055 100644 --- a/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/HttpClientsTest.java +++ b/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/HttpClientsTest.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,51 +22,46 @@ package org.onap.policy.controlloop.common.rules.test; import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import java.util.Properties; -import org.junit.After; -import org.junit.BeforeClass; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; -import org.onap.policy.common.endpoints.http.client.HttpClient; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; import org.onap.policy.common.endpoints.http.client.HttpClientConfigException; import org.onap.policy.common.endpoints.http.client.HttpClientFactory; import org.onap.policy.common.endpoints.http.client.HttpClientFactoryInstance; import org.onap.policy.drools.persistence.SystemPersistenceConstants; -@RunWith(MockitoJUnitRunner.class) -public class HttpClientsTest { +class HttpClientsTest { private static final String CLIENT_NAME = "MY-CLIENT"; - @Mock - private HttpClientFactory factory; + private final HttpClientFactory factory = mock(HttpClientFactory.class); - @BeforeClass + @BeforeAll public static void setUpBeforeClass() { SystemPersistenceConstants.getManager().setConfigurationDir("src/test/resources"); } - @After + @AfterEach public void tearDown() { HttpClientFactoryInstance.getClientFactory().destroy(); } @Test - public void test() throws HttpClientConfigException { + void test() throws HttpClientConfigException { HttpClientFactoryInstance.getClientFactory().destroy(); - HttpClients clients = new HttpClients(); + var clients = new HttpClients(); clients.addClients("my"); // should find the client now - HttpClient client = HttpClientFactoryInstance.getClientFactory().get(CLIENT_NAME); + var client = HttpClientFactoryInstance.getClientFactory().get(CLIENT_NAME); assertNotNull(client); clients.destroy(); @@ -78,7 +74,7 @@ public class HttpClientsTest { assertThatIllegalArgumentException().isThrownBy(() -> clients.addClients("unknown")); // force exception from builder - HttpClients clients2 = new HttpClients() { + var clients2 = new HttpClients() { @Override protected HttpClientFactory getClientFactory() { return factory; diff --git a/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/ListenerTest.java b/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/ListenerTest.java index 7a7add5a7..ed30515bc 100644 --- a/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/ListenerTest.java +++ b/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/ListenerTest.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,10 +23,11 @@ package org.onap.policy.controlloop.common.rules.test; import static org.assertj.core.api.Assertions.assertThatCode; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -33,21 +35,17 @@ import java.util.List; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicReference; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.onap.policy.common.endpoints.event.comm.Topic.CommInfrastructure; import org.onap.policy.common.endpoints.event.comm.TopicEndpoint; import org.onap.policy.common.endpoints.event.comm.TopicEndpointManager; import org.onap.policy.common.endpoints.event.comm.bus.NoopTopicSink; import org.onap.policy.common.endpoints.parameters.TopicParameters; -@RunWith(MockitoJUnitRunner.class) -public class ListenerTest { +class ListenerTest { private static final String EXPECTED_EXCEPTION = "expected exception"; private static final String MY_TOPIC = "my-topic"; private static final String MESSAGE = "the-message"; @@ -55,21 +53,20 @@ public class ListenerTest { private static final String MSG_SUFFIX = "s"; private static final String DECODED_MESSAGE = MESSAGE + MSG_SUFFIX; - @Mock - private NoopTopicSink sink; - @Mock - private TopicEndpoint mgr; + private final NoopTopicSink sink = mock(NoopTopicSink.class); + + private final TopicEndpoint mgr = mock(TopicEndpoint.class); private Listener<String> listener; /** * Creates topics. */ - @BeforeClass + @BeforeAll public static void setUpBeforeClass() { TopicEndpointManager.getManager().shutdown(); - TopicParameters params = new TopicParameters(); + var params = new TopicParameters(); params.setTopic(MY_TOPIC); params.setManaged(true); params.setTopicCommInfrastructure("NOOP"); @@ -77,7 +74,7 @@ public class ListenerTest { TopicEndpointManager.getManager().addTopicSinks(List.of(params)); } - @AfterClass + @AfterAll public static void tearDownAfterClass() { TopicEndpointManager.getManager().shutdown(); } @@ -85,7 +82,7 @@ public class ListenerTest { /** * Sets up. */ - @Before + @BeforeEach public void setUp() { when(mgr.getNoopTopicSink(MY_TOPIC)).thenReturn(sink); @@ -98,12 +95,12 @@ public class ListenerTest { } @Test - public void testListener() { + void testListener() { verify(sink).register(listener); } @Test - public void testAwait_testAwaitLongTimeUnit_testIsEmpty() { + void testAwait_testAwaitLongTimeUnit_testIsEmpty() { assertTrue(listener.isEmpty()); listener.onTopicEvent(CommInfrastructure.NOOP, MY_TOPIC, MESSAGE); @@ -115,7 +112,7 @@ public class ListenerTest { } @Test - public void testAwaitPredicateOfT() { + void testAwaitPredicateOfT() { listener.onTopicEvent(CommInfrastructure.NOOP, MY_TOPIC, MESSAGE); listener.onTopicEvent(CommInfrastructure.NOOP, MY_TOPIC, MESSAGE2); assertEquals(MESSAGE2 + MSG_SUFFIX, listener.await(msg -> msg.startsWith("other-"))); @@ -125,7 +122,7 @@ public class ListenerTest { * Tests await() when the remaining time is negative. */ @Test - public void testAwaitLongTimeUnitPredicateNoTime() { + void testAwaitLongTimeUnitPredicateNoTime() { assertThatThrownBy(() -> listener.await(-1, TimeUnit.SECONDS)).isInstanceOf(TopicException.class); } @@ -133,7 +130,7 @@ public class ListenerTest { * Tests await() when the poll() returns {@code null}. */ @Test - public void testAwaitLongTimeUnitPredicateNoMessage() { + void testAwaitLongTimeUnitPredicateNoMessage() { assertThatThrownBy(() -> listener.await(1, TimeUnit.MILLISECONDS)).isInstanceOf(TopicException.class); } @@ -141,7 +138,7 @@ public class ListenerTest { * Tests await() when the poll() is interrupted. */ @Test - public void testAwaitLongTimeUnitPredicateInterrupted() throws InterruptedException { + void testAwaitLongTimeUnitPredicateInterrupted() throws InterruptedException { listener = new Listener<String>(MY_TOPIC, msg -> msg) { @Override protected String pollMessage(long remainingMs) throws InterruptedException { @@ -150,9 +147,9 @@ public class ListenerTest { }; AtomicReference<TopicException> exref = new AtomicReference<>(); - CountDownLatch interrupted = new CountDownLatch(1); + var interrupted = new CountDownLatch(1); - Thread thread = new Thread() { + var thread = new Thread() { @Override public void run() { try { @@ -173,13 +170,13 @@ public class ListenerTest { } @Test - public void testUnregister() { + void testUnregister() { listener.unregister(); verify(sink).unregister(listener); } @Test - public void testOnTopicEvent() { + void testOnTopicEvent() { listener = new Listener<>(MY_TOPIC, msg -> { throw new IllegalArgumentException(EXPECTED_EXCEPTION); }); @@ -193,7 +190,7 @@ public class ListenerTest { } @Test - public void testGetTopicManager() { + void testGetTopicManager() { // use a listener with a real manager assertNotNull(new Listener<>(MY_TOPIC, msg -> msg).getTopicManager()); } diff --git a/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/NamedRunner2Test.java b/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/NamedRunner2Test.java index 91e19ce79..b61804c50 100644 --- a/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/NamedRunner2Test.java +++ b/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/NamedRunner2Test.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,34 +21,33 @@ package org.onap.policy.controlloop.common.rules.test; -import static org.junit.Assert.assertEquals; - -import org.junit.AfterClass; -import org.junit.Test; -import org.junit.runner.RunWith; +import static org.junit.jupiter.api.Assertions.assertEquals; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; /** * Tests NamedRunner when the TestNames annotation is missing - all tests should be * executed. */ -@RunWith(NamedRunner.class) -public class NamedRunner2Test { +@ExtendWith(NamedRunner.class) +class NamedRunner2Test { private static int testCount = 0; - @AfterClass + @AfterAll public static void tearDownAfterClass() { assertEquals(2, testCount); } @Test - public void testAbc() { + void testAbc() { checkTest(); } @Test - public void testDef() { + void testDef() { checkTest(); } diff --git a/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/NamedRunnerTest.java b/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/NamedRunnerTest.java index fea440541..c9a13e225 100644 --- a/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/NamedRunnerTest.java +++ b/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/NamedRunnerTest.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,42 +21,42 @@ package org.onap.policy.controlloop.common.rules.test; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; -import org.junit.AfterClass; -import org.junit.Ignore; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; /** * Tests NamedRunner. The tests don't do much, because all we really want to check is * which tests are executed based on the {@link TestNames} annotation. */ -@RunWith(NamedRunner.class) +@ExtendWith(NamedRunner.class) @TestNames(names = {"testAbc", "testDef", "testIgnore"}, prefixes = {"testGhi", "testJkl"}) -public class NamedRunnerTest { +class NamedRunnerTest { private static int testCount = 0; - @AfterClass + @AfterAll public static void tearDownAfterClass() { assertEquals(5, testCount); } @Test - public void testAbc() { + void testAbc() { checkTest(); } @Test - public void testAbc2() { + void testAbc2() { fail("should not run"); } @Test - public void testDef() { + void testDef() { checkTest(); } @@ -64,23 +65,23 @@ public class NamedRunnerTest { * NamedRunner skips over it, hence the sonar issue is being suppressed. */ @Test - @Ignore + @Disabled public void testIgnore() { // NOSONAR fail("should not run"); } @Test - public void testGhi1() { + void testGhi1() { checkTest(); } @Test - public void testGhi2() { + void testGhi2() { checkTest(); } @Test - public void testJkl() { + void testJkl() { checkTest(); } diff --git a/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/RulesTest.java b/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/RulesTest.java index a4767dfd9..82f39c189 100644 --- a/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/RulesTest.java +++ b/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/RulesTest.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,10 +23,10 @@ package org.onap.policy.controlloop.common.rules.test; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertSame; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.doAnswer; @@ -42,11 +43,10 @@ import java.util.concurrent.BlockingQueue; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.kie.api.definition.rule.Rule; import org.kie.api.event.rule.AfterMatchFiredEvent; import org.kie.api.event.rule.AgendaEventListener; @@ -59,8 +59,6 @@ import org.kie.api.event.rule.ObjectUpdatedEvent; import org.kie.api.event.rule.RuleRuntimeEventListener; import org.kie.api.runtime.KieSession; import org.kie.api.runtime.rule.Match; -import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; import org.onap.policy.common.utils.test.log.logback.ExtractAppender; import org.onap.policy.controlloop.ControlLoopEvent; import org.onap.policy.controlloop.drl.legacy.ControlLoopParams; @@ -73,8 +71,7 @@ import org.onap.policy.drools.system.PolicyEngine; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; import org.slf4j.LoggerFactory; -@RunWith(MockitoJUnitRunner.class) -public class RulesTest { +class RulesTest { private static final String EXPECTED_EXCEPTION = "expected exception"; private static final String CONTROLLER_NAME = "rulesTest"; private static final String POLICY_FILE = "src/test/resources/tosca-policy.json"; @@ -89,18 +86,12 @@ public class RulesTest { private static final Logger logger = (Logger) LoggerFactory.getLogger(Rules.class); private static final ExtractAppender appender = new ExtractAppender(); - @Mock - private PolicyEngine engine; - @Mock - private SystemPersistence repo; - @Mock - private PolicyController controller; - @Mock - private KieSession kieSession; - @Mock - private PolicyControllerFactory controllerFactory; - @Mock - private DroolsController drools; + private final PolicyEngine engine = mock(PolicyEngine.class); + private final SystemPersistence repo = mock(SystemPersistence.class); + private final PolicyController controller = mock(PolicyController.class); + private final KieSession kieSession = mock(KieSession.class); + private final PolicyControllerFactory controllerFactory = mock(PolicyControllerFactory.class); + private final DroolsController drools = mock(DroolsController.class); private List<Object> facts; private List<RuleRuntimeEventListener> ruleListeners; @@ -113,7 +104,7 @@ public class RulesTest { /** * Attaches the appender to the logger. */ - @BeforeClass + @BeforeAll public static void setUpBeforeClass() throws Exception { /* * Attach appender to the logger. @@ -127,7 +118,7 @@ public class RulesTest { /** * Stops the appender. */ - @AfterClass + @AfterAll public static void tearDownAfterClass() { appender.stop(); } @@ -135,7 +126,7 @@ public class RulesTest { /** * Sets up. */ - @Before + @BeforeEach public void setUp() { facts = new LinkedList<>(); ruleListeners = new LinkedList<>(); @@ -148,13 +139,13 @@ public class RulesTest { when(controller.getDrools()).thenReturn(drools); when(drools.facts(eq(CONTROLLER_NAME), any())).thenAnswer(args -> { - Class<?> clazz = args.getArgument(1); + var clazz = args.getArgument(1); return facts.stream().filter(obj -> obj.getClass() == clazz).collect(Collectors.toList()); }); // notify listeners when objects are added to drools when(drools.offer(any())).thenAnswer(args -> { - Object object = args.getArgument(0); + var object = args.getArgument(0); notifyInserted(object); if (!(object instanceof ToscaPolicy)) { @@ -162,8 +153,8 @@ public class RulesTest { } // "insert" Params objects associated with the policy (i.e., mimic the rules) - ToscaPolicy policy = (ToscaPolicy) object; - ControlLoopParams params = new ControlLoopParams(); + var policy = (ToscaPolicy) object; + var params = new ControlLoopParams(); params.setToscaPolicy(policy); notifyInserted(params); @@ -171,7 +162,7 @@ public class RulesTest { }); when(drools.delete(any())).thenAnswer(args -> { - Class<?> clazz = args.getArgument(0); + var clazz = args.getArgument(0); facts.removeIf(obj -> obj.getClass() == clazz); return null; }); @@ -200,7 +191,7 @@ public class RulesTest { } @Test - public void testRules() { + void testRules() { assertEquals(CONTROLLER_NAME, rules.getControllerName()); assertSame(engine, rules.getPdpd()); @@ -209,7 +200,7 @@ public class RulesTest { } @Test - public void testStart() throws Exception { + void testStart() throws Exception { verify(repo).setConfigurationDir("src/test/resources/config"); assertTrue(installed); verify(engine).configure(any(Properties.class)); @@ -221,7 +212,7 @@ public class RulesTest { } @Test - public void testDestroy() { + void testDestroy() { rules.destroy(); verify(controllerFactory).shutdown(CONTROLLER_NAME); @@ -229,7 +220,7 @@ public class RulesTest { } @Test - public void testResetFacts() { + void testResetFacts() { rules.resetFacts(); verify(drools).delete(ToscaPolicy.class); @@ -239,7 +230,7 @@ public class RulesTest { } @Test - public void testSetupPolicyFromTemplate_testGetPolicyFromTemplate() throws InterruptedException { + void testSetupPolicyFromTemplate_testGetPolicyFromTemplate() throws InterruptedException { rules.setupPolicyFromTemplate("tosca-template.json", MY_POLICY); assertThatIllegalArgumentException() @@ -251,7 +242,7 @@ public class RulesTest { } @Test - public void testSetupPolicyFromFile_testGetPolicyFromFile_testSetupPolicy() throws InterruptedException { + void testSetupPolicyFromFile_testGetPolicyFromFile_testSetupPolicy() throws InterruptedException { assertNotNull(rules.setupPolicyFromFile(POLICY_FILE)); assertThatIllegalArgumentException().isThrownBy(() -> rules.setupPolicyFromFile("missing-file.json")); @@ -261,26 +252,26 @@ public class RulesTest { } @Test - public void testRuleListenerLogger() { - Rule rule = mock(Rule.class); + void testRuleListenerLogger() { + var rule = mock(Rule.class); when(rule.getName()).thenReturn(MY_RULE_NAME); // insertions - with and without rule name - ObjectInsertedEvent insert = mock(ObjectInsertedEvent.class); + var insert = mock(ObjectInsertedEvent.class); when(insert.getObject()).thenReturn(MY_TEXT); checkLogging("inserted", () -> ruleListeners.forEach(listener -> listener.objectInserted(insert))); when(insert.getRule()).thenReturn(rule); checkLogging("inserted", () -> ruleListeners.forEach(listener -> listener.objectInserted(insert))); // updates - with and without rule name - ObjectUpdatedEvent update = mock(ObjectUpdatedEvent.class); + var update = mock(ObjectUpdatedEvent.class); when(update.getObject()).thenReturn(MY_TEXT); checkLogging("updated", () -> ruleListeners.forEach(listener -> listener.objectUpdated(update))); when(update.getRule()).thenReturn(rule); checkLogging("updated", () -> ruleListeners.forEach(listener -> listener.objectUpdated(update))); // deletions - with and without rule name - ObjectDeletedEvent delete = mock(ObjectDeletedEvent.class); + var delete = mock(ObjectDeletedEvent.class); when(delete.getOldObject()).thenReturn(MY_TEXT); checkLogging("deleted", () -> ruleListeners.forEach(listener -> listener.objectDeleted(delete))); when(delete.getRule()).thenReturn(rule); @@ -288,25 +279,25 @@ public class RulesTest { } @Test - public void testAgendaListenerLogger() { - Rule rule = mock(Rule.class); + void testAgendaListenerLogger() { + var rule = mock(Rule.class); when(rule.getName()).thenReturn(MY_RULE_NAME); - Match match = mock(Match.class); + var match = mock(Match.class); when(match.getRule()).thenReturn(rule); // create - MatchCreatedEvent create = mock(MatchCreatedEvent.class); + var create = mock(MatchCreatedEvent.class); when(create.getMatch()).thenReturn(match); checkLogging("match created", () -> agendaListeners.forEach(listener -> listener.matchCreated(create))); // cancel - MatchCancelledEvent cancel = mock(MatchCancelledEvent.class); + var cancel = mock(MatchCancelledEvent.class); when(cancel.getMatch()).thenReturn(match); checkLogging("match cancelled", () -> agendaListeners.forEach(listener -> listener.matchCancelled(cancel))); // before-fire - BeforeMatchFiredEvent before = mock(BeforeMatchFiredEvent.class); + var before = mock(BeforeMatchFiredEvent.class); when(before.getMatch()).thenReturn(match); // @formatter:off checkLogging("before match fired", @@ -314,13 +305,13 @@ public class RulesTest { // @formatter:on // after-fire - AfterMatchFiredEvent after = mock(AfterMatchFiredEvent.class); + var after = mock(AfterMatchFiredEvent.class); when(after.getMatch()).thenReturn(match); checkLogging("after match fired", () -> agendaListeners.forEach(listener -> listener.afterMatchFired(after))); } @Test - public void testMakePdpd_testMakePdpdRepo() { + void testMakePdpd_testMakePdpdRepo() { // need rules that makes real objects rules = new Rules(CONTROLLER_NAME); @@ -340,7 +331,7 @@ public class RulesTest { BlockingQueue<IllegalArgumentException> exceptions = new LinkedBlockingQueue<>(); - Thread thread = new Thread(() -> { + var thread = new Thread(() -> { try { command.run(); } catch (IllegalArgumentException e) { @@ -358,7 +349,7 @@ public class RulesTest { private void checkLogging(String expectedMsg, Runnable command) { appender.clearExtractions(); command.run(); - List<String> messages = appender.getExtracted(); + var messages = appender.getExtracted(); assertEquals(1, messages.size()); assertThat(messages.get(0)).contains(expectedMsg); } @@ -368,17 +359,17 @@ public class RulesTest { facts.add(object); // increase code coverage by adding random objects - ObjectInsertedEvent event0 = mock(ObjectInsertedEvent.class); + var event0 = mock(ObjectInsertedEvent.class); when(event0.getObject()).thenReturn(new Object()); ruleListeners.forEach(listener -> listener.objectInserted(event0)); // increase code coverage by adding a random object - ObjectInsertedEvent event = mock(ObjectInsertedEvent.class); + var event = mock(ObjectInsertedEvent.class); when(event.getObject()).thenReturn(object); if (object instanceof ToscaPolicy) { // increase code coverage by associating it with a random rule - Rule rule = mock(Rule.class); + var rule = mock(Rule.class); when(rule.getName()).thenReturn(MY_RULE_NAME); when(event.getRule()).thenReturn(rule); } diff --git a/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/SimulatorExceptionTest.java b/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/SimulatorExceptionTest.java index 0dee6d4be..b2e524463 100644 --- a/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/SimulatorExceptionTest.java +++ b/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/SimulatorExceptionTest.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2021 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,13 +21,13 @@ package org.onap.policy.controlloop.common.rules.test; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.onap.policy.common.utils.test.ExceptionsTester; -public class SimulatorExceptionTest { +class SimulatorExceptionTest { @Test - public void test() { + void test() { new ExceptionsTester().test(SimulatorException.class); } } diff --git a/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/SimulatorsTest.java b/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/SimulatorsTest.java index 3a98c0078..726f31105 100644 --- a/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/SimulatorsTest.java +++ b/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/SimulatorsTest.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,44 +22,38 @@ package org.onap.policy.controlloop.common.rules.test; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.Mockito.doThrow; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; import java.util.List; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.onap.policy.common.endpoints.http.server.HttpServletServer; import org.onap.policy.controlloop.common.rules.test.Simulators.SimulatorBuilder; -@RunWith(MockitoJUnitRunner.class) -public class SimulatorsTest { +class SimulatorsTest { private static final String EXPECTED_EXCEPTION = "expected exception"; - @Mock - private HttpServletServer server1; - @Mock - private HttpServletServer server2; - @Mock - private HttpServletServer server3; + private final HttpServletServer server1 = mock(HttpServletServer.class); + private final HttpServletServer server2 = mock(HttpServletServer.class); + private final HttpServletServer server3 = mock(HttpServletServer.class); private Simulators simulators; /** * Sets up. */ - @Before + @BeforeEach public void setUp() { simulators = new Simulators(); } @Test - public void testStart() { + void testStart() { simulators.start(() -> server1, () -> server2); assertEquals(List.of(server1, server2), simulators.getServers()); @@ -70,7 +65,7 @@ public class SimulatorsTest { * Tests start() when one of the builders throws an exception. */ @Test - public void testStartException() { + void testStartException() { SimulatorBuilder exbuilder = () -> { throw new InterruptedException(EXPECTED_EXCEPTION); }; @@ -88,7 +83,7 @@ public class SimulatorsTest { } @Test - public void testDestroy() { + void testDestroy() { simulators.start(() -> server1, () -> server2, () -> server3); doThrow(new IllegalStateException(EXPECTED_EXCEPTION)).when(server2).shutdown(); diff --git a/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/TopicsTest.java b/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/TopicsTest.java index 409c3d472..9bf0d22b7 100644 --- a/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/TopicsTest.java +++ b/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/TopicsTest.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,8 +23,9 @@ package org.onap.policy.controlloop.common.rules.test; import static org.assertj.core.api.Assertions.assertThatCode; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -33,13 +35,10 @@ import java.nio.file.Paths; import java.util.List; import java.util.concurrent.TimeUnit; import lombok.ToString; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.onap.policy.common.endpoints.event.comm.Topic.CommInfrastructure; import org.onap.policy.common.endpoints.event.comm.TopicEndpoint; import org.onap.policy.common.endpoints.event.comm.TopicEndpointManager; @@ -53,8 +52,7 @@ import org.onap.policy.drools.protocol.coders.EventProtocolCoder; import org.onap.policy.drools.system.PolicyController; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; -@RunWith(MockitoJUnitRunner.class) -public class TopicsTest { +class TopicsTest { private static final String EXPECTED_EXCEPTION = "expected exception"; private static final String MY_SOURCE_TOPIC = "my-source-topic"; private static final String MY_SINK_TOPIC = "my-sink-topic"; @@ -65,18 +63,12 @@ public class TopicsTest { private static final String INJECT_FILE = "src/test/resources/topics.json"; private static final String POLICY_NAME = "my-policy"; - @Mock - private DroolsController drools; - @Mock - private PolicyController controller; - @Mock - private EventProtocolCoder protocolCoder; - @Mock - private NoopTopicSink sink; - @Mock - private NoopTopicSource source; - @Mock - private TopicEndpoint mgr; + private final DroolsController drools = mock(DroolsController.class); + private final PolicyController controller = mock(PolicyController.class); + private final EventProtocolCoder protocolCoder = mock(EventProtocolCoder.class); + private final NoopTopicSink sink = mock(NoopTopicSink.class); + private final NoopTopicSource source = mock(NoopTopicSource.class); + private final TopicEndpoint mgr = mock(TopicEndpoint.class); private ToscaPolicy policy; @@ -85,18 +77,18 @@ public class TopicsTest { /** * Creates topics. */ - @BeforeClass - public static void setUpBeforeClass() { + @BeforeAll + static void setUpBeforeClass() { TopicEndpointManager.getManager().shutdown(); - TopicParameters params = new TopicParameters(); + var params = new TopicParameters(); params.setTopic(MY_SOURCE_TOPIC); params.setManaged(true); params.setTopicCommInfrastructure("NOOP"); TopicEndpointManager.getManager().addTopicSources(List.of(params)); } - @AfterClass + @AfterAll public static void tearDownAfterClass() { TopicEndpointManager.getManager().shutdown(); } @@ -104,7 +96,7 @@ public class TopicsTest { /** * Sets up. */ - @Before + @BeforeEach public void setUp() { policy = new ToscaPolicy(); policy.setName(POLICY_NAME); @@ -134,9 +126,9 @@ public class TopicsTest { } @Test - public void testDestroy() { - Listener<String> listener1 = topics.createListener(MY_SINK_TOPIC, msg -> msg); - Listener<String> listener2 = topics.createListener(MY_SINK_TOPIC, msg -> msg + "a suffix"); + void testDestroy() { + var listener1 = topics.createListener(MY_SINK_TOPIC, msg -> msg); + var listener2 = topics.createListener(MY_SINK_TOPIC, msg -> msg + "a suffix"); topics.destroy(); @@ -145,20 +137,20 @@ public class TopicsTest { } @Test - public void testInjectStringFile() throws IOException { + void testInjectStringFile() throws IOException { topics.inject(MY_SOURCE_TOPIC, INJECT_FILE); // nothing should have been replaced - String expected = new String(Files.readAllBytes(Paths.get(INJECT_FILE))); + var expected = new String(Files.readAllBytes(Paths.get(INJECT_FILE))); verify(source).offer(expected); } @Test - public void testInjectStringFileString() throws IOException { + void testInjectStringFileString() throws IOException { topics.inject(MY_SOURCE_TOPIC, INJECT_FILE, "hello"); // text should have been replaced with "hello" - String expected = new String(Files.readAllBytes(Paths.get("src", "test", "resources", "topicsReplaced.json"))); + var expected = new String(Files.readAllBytes(Paths.get("src", "test", "resources", "topicsReplaced.json"))); verify(source).offer(expected); // exception reading file @@ -167,19 +159,19 @@ public class TopicsTest { } @Test - public void testCreateListenerStringClassOfTPolicyController() { - Listener<String> listener = topics.createListener(MY_SINK_TOPIC, String.class, controller); + void testCreateListenerStringClassOfTPolicyController() { + var listener = topics.createListener(MY_SINK_TOPIC, String.class, controller); listener.onTopicEvent(CommInfrastructure.NOOP, MY_SINK_TOPIC, MESSAGE); assertEquals(TEXT, listener.await()); } @Test - public void testCreateListenerStringClassOfTCoder() { - Listener<Data> listener = topics.createListener(MY_SINK_TOPIC, Data.class, new StandardCoder()); + void testCreateListenerStringClassOfTCoder() { + var listener = topics.createListener(MY_SINK_TOPIC, Data.class, new StandardCoder()); listener.onTopicEvent(CommInfrastructure.NOOP, MY_SINK_TOPIC, MESSAGE); - Data expected = new Data(); + var expected = new Data(); expected.text = TEXT; assertEquals(expected.toString(), listener.await().toString()); } @@ -188,15 +180,15 @@ public class TopicsTest { * Tests createListener() when the coder throws an exception. */ @Test - public void testCreateListenerStringClassOfTCoderException() { - StandardCoder coder = new StandardCoder() { + void testCreateListenerStringClassOfTCoderException() { + var coder = new StandardCoder() { @Override public <T> T decode(String arg0, Class<T> arg1) throws CoderException { throw new CoderException(EXPECTED_EXCEPTION); } }; - Listener<Data> listener = topics.createListener(MY_SINK_TOPIC, Data.class, coder); + var listener = topics.createListener(MY_SINK_TOPIC, Data.class, coder); // onTopicEvent() should not throw an exception assertThatCode(() -> listener.onTopicEvent(CommInfrastructure.NOOP, MY_SINK_TOPIC, MESSAGE)) @@ -207,15 +199,15 @@ public class TopicsTest { } @Test - public void testCreateListenerStringFunctionOfStringT() { - Listener<String> listener = topics.createListener(MY_SINK_TOPIC, msg -> msg); + void testCreateListenerStringFunctionOfStringT() { + var listener = topics.createListener(MY_SINK_TOPIC, msg -> msg); listener.onTopicEvent(CommInfrastructure.NOOP, MY_SINK_TOPIC, MESSAGE); assertEquals(MESSAGE, listener.await()); } @Test - public void testGetTopicManager_testGetProtocolCoder() { + void testGetTopicManager_testGetProtocolCoder() { // use a topic with a real manager topics = new Topics(); diff --git a/controlloop/common/rules-test/src/test/resources/rulesTest.drl b/controlloop/common/rules-test/src/test/resources/rulesTest.drl index 734282ee9..a1a89714a 100644 --- a/controlloop/common/rules-test/src/test/resources/rulesTest.drl +++ b/controlloop/common/rules-test/src/test/resources/rulesTest.drl @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -52,7 +53,7 @@ rule "INSERT.PARAMS" $params : ControlLoopParams() then - Logger logger = LoggerFactory.getLogger(drools.getRule().getPackage()); + Logger logger = LoggerFactory.getLogger(drools.getRule().getPackageName()); logger.info("{}: {} : TOSCA-POLICY=[{}]", $params.getClosedLoopControlName(), $params.getPolicyName() + "." + drools.getRule().getName(), $params.getToscaPolicy()); end @@ -67,7 +68,7 @@ rule "NEW.TOSCA.POLICY" $policy : ToscaPolicy() then - Logger logger = LoggerFactory.getLogger(drools.getRule().getPackage()); + Logger logger = LoggerFactory.getLogger(drools.getRule().getPackageName()); logger.info("{}: [{}|{}|{}|{}]: CONTENT: {}", drools.getRule().getName(), $policy.getType(), $policy.getTypeVersion(), $policy.getName(), $policy.getVersion(), $policy); @@ -87,7 +88,7 @@ rule "REMOVE.PARAMS" not ( ToscaPolicy( getName() == $policyName, getVersion() == $policyVersion ) ) then - Logger logger = LoggerFactory.getLogger(drools.getRule().getPackage()); + Logger logger = LoggerFactory.getLogger(drools.getRule().getPackageName()); logger.info("{}: [{}|{}|{}]", drools.getRule().getName(), $params.getPolicyScope(), $params.getPolicyName(), $params.getPolicyVersion()); |