aboutsummaryrefslogtreecommitdiffstats
path: root/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/processor/ControlLoopProcessorTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/processor/ControlLoopProcessorTest.java')
-rw-r--r--controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/processor/ControlLoopProcessorTest.java254
1 files changed, 133 insertions, 121 deletions
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 87ccdb5b9..2a6dc7bbd 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
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* unit test
* ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2018 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.
@@ -20,7 +20,10 @@
package org.onap.policy.controlloop.processor;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.fail;
import java.io.File;
import java.io.FileInputStream;
@@ -30,7 +33,6 @@ import java.nio.charset.StandardCharsets;
import org.apache.commons.io.IOUtils;
import org.junit.Test;
-
import org.onap.policy.controlloop.ControlLoopException;
import org.onap.policy.controlloop.policy.FinalResult;
import org.onap.policy.controlloop.policy.Policy;
@@ -39,122 +41,132 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class ControlLoopProcessorTest {
- private static final Logger logger = LoggerFactory.getLogger(ControlLoopProcessorTest.class);
-
- @Test
- public void testControlLoopProcessor() throws IOException, ControlLoopException {
- InputStream is = new FileInputStream(new File("src/test/resources/test.yaml"));
- String yamlString = IOUtils.toString(is, StandardCharsets.UTF_8);
- this.testSuccess(yamlString);
- this.testFailure(yamlString);
- }
-
- @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);
-
- try {
- new ControlLoopProcessor(yamlString);
- fail("test should thrown an exception");
- }
- catch (Exception e) {
- assertEquals("Cannot create property=string for JavaBean=ControlLoopPolicy", e.getMessage().substring(0, 60));
- }
- }
-
- @Test
- public void testControlLoopProcessorBadTriggerYaml() throws IOException, ControlLoopException {
- InputStream is = new FileInputStream(new File("src/test/resources/badtriggerpolicy.yaml"));
- String yamlString = IOUtils.toString(is, StandardCharsets.UTF_8);
-
- ControlLoopProcessor clProcessor = new ControlLoopProcessor(yamlString);
- assertNull(clProcessor.getCurrentPolicy());
-
- try {
- clProcessor.nextPolicyForResult(PolicyResult.SUCCESS);
- fail("test shold throw an exception here");
- }
- catch (ControlLoopException e) {
- assertEquals("There is no current policy to determine where to go to.", e.getMessage());
- }
- }
-
- @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);
-
- ControlLoopProcessor clProcessor = new ControlLoopProcessor(yamlString);
-
- try {
- clProcessor.getCurrentPolicy();
- fail("test shold throw an exception here");
- }
- catch (ControlLoopException e) {
- assertEquals("There are no policies defined.", e.getMessage());
- }
- }
-
- @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);
-
- ControlLoopProcessor clProcessor = new ControlLoopProcessor(yamlString);
- clProcessor.getCurrentPolicy();
- clProcessor.nextPolicyForResult(PolicyResult.SUCCESS);
-
- clProcessor = new ControlLoopProcessor(yamlString);
- clProcessor.getCurrentPolicy();
- clProcessor.nextPolicyForResult(PolicyResult.FAILURE);
-
- clProcessor = new ControlLoopProcessor(yamlString);
- clProcessor.getCurrentPolicy();
- clProcessor.nextPolicyForResult(PolicyResult.FAILURE_EXCEPTION);
-
- clProcessor = new ControlLoopProcessor(yamlString);
- clProcessor.getCurrentPolicy();
- clProcessor.nextPolicyForResult(PolicyResult.FAILURE_GUARD);
-
- clProcessor = new ControlLoopProcessor(yamlString);
- clProcessor.getCurrentPolicy();
- clProcessor.nextPolicyForResult(PolicyResult.FAILURE_RETRIES);
-
- clProcessor = new ControlLoopProcessor(yamlString);
- clProcessor.getCurrentPolicy();
- clProcessor.nextPolicyForResult(PolicyResult.FAILURE_TIMEOUT);
- }
-
- public void testSuccess(String yaml) throws ControlLoopException {
- ControlLoopProcessor processor = new ControlLoopProcessor(yaml);
- logger.debug("testSuccess: {}", processor.getControlLoop());
- while (true) {
- FinalResult result = processor.checkIsCurrentPolicyFinal();
- if (result != null) {
- logger.debug("{}", result);
- break;
- }
- Policy policy = processor.getCurrentPolicy();
- assertNotNull(policy);
- logger.debug("current policy is: {} {}", policy.getId(), policy.getName());
- processor.nextPolicyForResult(PolicyResult.SUCCESS);
- }
- }
-
- public void testFailure(String yaml) throws ControlLoopException {
- ControlLoopProcessor processor = new ControlLoopProcessor(yaml);
- logger.debug("testFailure: {}", processor.getControlLoop());
- while (true) {
- FinalResult result = processor.checkIsCurrentPolicyFinal();
- if (result != null) {
- logger.debug("{}", result);
- break;
- }
- Policy policy = processor.getCurrentPolicy();
- assertNotNull(policy);
- logger.debug("current policy is: {} {}", policy.getId(), policy.getName());
- processor.nextPolicyForResult(PolicyResult.FAILURE);
- }
- }
+ private static final Logger logger = LoggerFactory.getLogger(ControlLoopProcessorTest.class);
+
+ @Test
+ public void testControlLoopProcessor() throws IOException, ControlLoopException {
+ InputStream is = new FileInputStream(new File("src/test/resources/test.yaml"));
+ String yamlString = IOUtils.toString(is, StandardCharsets.UTF_8);
+ this.testSuccess(yamlString);
+ this.testFailure(yamlString);
+ }
+
+ @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);
+
+ try {
+ new ControlLoopProcessor(yamlString);
+ fail("test should thrown an exception");
+ } catch (Exception e) {
+ assertEquals("Cannot create property=string for JavaBean=ControlLoopPolicy",
+ e.getMessage().substring(0, 60));
+ }
+ }
+
+ @Test
+ public void testControlLoopProcessorBadTriggerYaml() throws IOException, ControlLoopException {
+ InputStream is = new FileInputStream(new File("src/test/resources/badtriggerpolicy.yaml"));
+ String yamlString = IOUtils.toString(is, StandardCharsets.UTF_8);
+
+ ControlLoopProcessor clProcessor = new ControlLoopProcessor(yamlString);
+ assertNull(clProcessor.getCurrentPolicy());
+
+ try {
+ clProcessor.nextPolicyForResult(PolicyResult.SUCCESS);
+ fail("test shold throw an exception here");
+ } catch (ControlLoopException e) {
+ assertEquals("There is no current policy to determine where to go to.", e.getMessage());
+ }
+ }
+
+ @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);
+
+ ControlLoopProcessor clProcessor = new ControlLoopProcessor(yamlString);
+
+ try {
+ clProcessor.getCurrentPolicy();
+ fail("test shold throw an exception here");
+ } catch (ControlLoopException e) {
+ assertEquals("There are no policies defined.", e.getMessage());
+ }
+ }
+
+ @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);
+
+ ControlLoopProcessor clProcessor = new ControlLoopProcessor(yamlString);
+ clProcessor.getCurrentPolicy();
+ clProcessor.nextPolicyForResult(PolicyResult.SUCCESS);
+
+ clProcessor = new ControlLoopProcessor(yamlString);
+ clProcessor.getCurrentPolicy();
+ clProcessor.nextPolicyForResult(PolicyResult.FAILURE);
+
+ clProcessor = new ControlLoopProcessor(yamlString);
+ clProcessor.getCurrentPolicy();
+ clProcessor.nextPolicyForResult(PolicyResult.FAILURE_EXCEPTION);
+
+ clProcessor = new ControlLoopProcessor(yamlString);
+ clProcessor.getCurrentPolicy();
+ clProcessor.nextPolicyForResult(PolicyResult.FAILURE_GUARD);
+
+ clProcessor = new ControlLoopProcessor(yamlString);
+ clProcessor.getCurrentPolicy();
+ clProcessor.nextPolicyForResult(PolicyResult.FAILURE_RETRIES);
+
+ clProcessor = new ControlLoopProcessor(yamlString);
+ clProcessor.getCurrentPolicy();
+ clProcessor.nextPolicyForResult(PolicyResult.FAILURE_TIMEOUT);
+ }
+
+ /**
+ * Test policies in the given yaml following the successfull path.
+ *
+ * @param yaml yaml containing the policies to test
+ * @throws ControlLoopException if an error occurs
+ */
+ public void testSuccess(String yaml) throws ControlLoopException {
+ ControlLoopProcessor processor = new ControlLoopProcessor(yaml);
+ logger.debug("testSuccess: {}", processor.getControlLoop());
+ while (true) {
+ FinalResult result = processor.checkIsCurrentPolicyFinal();
+ if (result != null) {
+ logger.debug("{}", result);
+ break;
+ }
+ Policy policy = processor.getCurrentPolicy();
+ assertNotNull(policy);
+ logger.debug("current policy is: {} {}", policy.getId(), policy.getName());
+ processor.nextPolicyForResult(PolicyResult.SUCCESS);
+ }
+ }
+
+ /**
+ * Test policies in the given yaml following the failure path.
+ *
+ * @param yaml yaml containing the policies to test
+ * @throws ControlLoopException if an error occurs
+ */
+ public void testFailure(String yaml) throws ControlLoopException {
+ ControlLoopProcessor processor = new ControlLoopProcessor(yaml);
+ logger.debug("testFailure: {}", processor.getControlLoop());
+ while (true) {
+ FinalResult result = processor.checkIsCurrentPolicyFinal();
+ if (result != null) {
+ logger.debug("{}", result);
+ break;
+ }
+ Policy policy = processor.getCurrentPolicy();
+ assertNotNull(policy);
+ logger.debug("current policy is: {} {}", policy.getId(), policy.getName());
+ processor.nextPolicyForResult(PolicyResult.FAILURE);
+ }
+ }
}