* Start a controller event.
*/
public synchronized void start(@NonNull PolicyController controller) {
- logger.info("lifecycle event: start controller: {}" + controller.getName());
+ logger.info("lifecycle event: start controller: {}", controller.getName());
for (ToscaPolicyTypeIdentifier id : controller.getPolicyTypes()) {
policyTypesMap.put(id, controller);
}
status.setResponse(response);
}
- return client.send(statusPayload(state));
+ return client.send(status);
}
protected void setGroupAction(String group, String subgroup) {
package org.onap.policy.drools.lifecycle;
+import java.util.Collections;
import lombok.NonNull;
import lombok.ToString;
import org.onap.policy.drools.system.PolicyController;
@Override
protected boolean stateChangeToPassive(PdpStateChange change) {
+ undeployPolicies(Collections.emptyList());
fsm.transitionToAction(new LifecycleStatePassive(fsm));
return fsm.statusAction(response(change.getRequestId(), PdpResponseStatus.SUCCESS, null));
}
* Create controller.
*/
public PolicyController createController() throws IOException {
+ try {
+ getController();
+ } catch (IllegalArgumentException e) {
+ ;
+ }
+
ReleaseId coordinates =
KieUtils.installArtifact(Paths.get(JUNIT_KMODULE_PATH).toFile(),
Paths.get(JUNIT_KMODULE_POM_PATH).toFile(),
PdpUpdate update = new PdpUpdate();
update.setName(NetworkUtil.getHostname());
- update.setPdpGroup("Z");
- update.setPdpSubgroup("z");
+ update.setPdpGroup("W");
+ update.setPdpSubgroup("w");
update.setPolicies(Collections.emptyList());
- long originalInterval = fsm.getStatusTimerSeconds();
- long interval = 10 * originalInterval;
- update.setPdpHeartbeatIntervalMs(interval * 1000L);
-
fsm.start(controllerSupport.getController());
-
assertTrue(fsm.update(update));
assertEquals(PdpState.ACTIVE, fsm.state());
- assertEquals(interval, fsm.getStatusTimerSeconds());
- assertEquals("Z", fsm.getGroup());
- assertEquals("z", fsm.getSubgroup());
+ assertEquals("W", fsm.getGroup());
+ assertEquals("w", fsm.getSubgroup());
String restartV1 =
new String(Files.readAllBytes(Paths.get("src/test/resources/tosca-policy-operational-restart.json")));
assertTrue(factPolicies.stream().anyMatch((ff) -> Objects.equals(toscaPolicyFirewall, ff)));
assertEquals(2, fsm.policiesMap.size());
+ long originalInterval = fsm.getStatusTimerSeconds();
+ long interval = 10 * originalInterval;
+ update.setPdpHeartbeatIntervalMs(interval * 1000L);
+
+ assertTrue(fsm.update(update));
+
+ assertEquals(PdpState.ACTIVE, fsm.state());
+ assertEquals(interval, fsm.getStatusTimerSeconds());
+
fsm.shutdown();
}
}
assertTrue(fsm.update(update));
+ int qlength = fsm.client.getSink().getRecentEvents().length;
+ PdpStatus lastStatus = new StandardCoder()
+ .decode(fsm.client.getSink().getRecentEvents()[qlength - 1], PdpStatus.class);
+ assertEquals(update.getRequestId(), lastStatus.getRequestId());
+ assertEquals(update.getRequestId(), lastStatus.getResponse().getResponseTo());
+
assertEquals(PdpState.PASSIVE, fsm.state());
assertEquals(interval, fsm.getStatusTimerSeconds());
assertEquals("Z", fsm.getGroup());
LoggerUtil.setLevel(LoggerUtil.ROOT_LOGGER, "INFO");
LoggerUtil.setLevel("org.onap.policy.common.endpoints", "WARN");
LoggerUtil.setLevel("org.onap.policy.drools", "INFO");
- SystemPersistence.manager.setConfigurationDir("src/test/resources");
+ SystemPersistence.manager.setConfigurationDir("target/test-classes");
controllerSupport.createController();
}
*/
@AfterClass
public static void tearDown() {
- controllerSupport.destroyController();
try {
Files.deleteIfExists(Paths.get(SystemPersistence.manager.getConfigurationPath().toString(),
CONTROLLER_NAME + "-controller.properties.bak"));
--- /dev/null
+<!--
+ ============LICENSE_START=======================================================
+ Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ ============LICENSE_END=========================================================
+-->
+
+<configuration>
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+ <encoder>
+ <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{50}:%M:%line - %msg%n</pattern>
+ </encoder>
+ </appender>
+ <root level="INFO">
+ <appender-ref ref="STDOUT" />
+ </root>
+</configuration>
\ No newline at end of file