diff options
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.java | 254 |
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); + } + } } |