From ac42c4b3e7161a76bfa67cae9636ea63d7bd81f8 Mon Sep 17 00:00:00 2001 From: xuegao Date: Wed, 9 Oct 2019 16:12:37 +0200 Subject: [PATCH] Fix policy status issue Change the initial status of policy from SENT_AND_DEPLOYED to NOT_SENT. Issue-ID: CLAMP-533 Change-Id: If4fa22fc2e3fb33500502bab41e49de9000dd7e7 Signed-off-by: xuegao --- .../loop/components/external/PolicyComponent.java | 2 +- .../org/onap/clamp/loop/PolicyComponentTest.java | 227 --------------------- ui-react/src/LoopUI.js | 10 +- 3 files changed, 10 insertions(+), 229 deletions(-) delete mode 100644 src/test/java/org/onap/clamp/loop/PolicyComponentTest.java diff --git a/src/main/java/org/onap/clamp/loop/components/external/PolicyComponent.java b/src/main/java/org/onap/clamp/loop/components/external/PolicyComponent.java index 13ccea5e..9321423a 100644 --- a/src/main/java/org/onap/clamp/loop/components/external/PolicyComponent.java +++ b/src/main/java/org/onap/clamp/loop/components/external/PolicyComponent.java @@ -62,7 +62,7 @@ public class PolicyComponent extends ExternalComponent { * on by one, each time we increase the level we can't decrease it anymore. * That's why it starts with the lowest one SENT_AND_DEPLOYED. */ - super(NOT_SENT); + super(SENT_AND_DEPLOYED); } @Override diff --git a/src/test/java/org/onap/clamp/loop/PolicyComponentTest.java b/src/test/java/org/onap/clamp/loop/PolicyComponentTest.java deleted file mode 100644 index 4be8d231..00000000 --- a/src/test/java/org/onap/clamp/loop/PolicyComponentTest.java +++ /dev/null @@ -1,227 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP CLAMP - * ================================================================================ - * 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============================================ - * =================================================================== - * - */ - -package org.onap.clamp.loop; - -import static org.assertj.core.api.Assertions.assertThat; - -import java.io.IOException; - -import org.apache.camel.Exchange; -import org.apache.camel.Message; -import org.junit.Test; -import org.mockito.Mockito; -import org.onap.clamp.loop.components.external.ExternalComponentState; -import org.onap.clamp.loop.components.external.PolicyComponent; - -public class PolicyComponentTest { - - /** - * Test the computeState method. oldState newState expectedFinalState NOT_SENT - * SENT_AND_DEPLOYED NOT_SENT NOT_SENT SENT NOT_SENT NOT_SENT NOT_SENT NOT_SENT - * NOT_SENT IN_ERROR IN_ERROR - */ - @Test - public void computeStateTestOriginalStateNotSent() { - Exchange exchange = Mockito.mock(Exchange.class); - Message message = Mockito.mock(Message.class); - Exchange exchange2 = Mockito.mock(Exchange.class); - Mockito.when(exchange.getIn()).thenReturn(message); - Mockito.when(message.getExchange()).thenReturn(exchange2); - - // policy found + deployed - Mockito.when(exchange2.getProperty("policyFound")).thenReturn(true); - Mockito.when(exchange2.getProperty("policyDeployed")).thenReturn(true); - - PolicyComponent policy = new PolicyComponent(); - ExternalComponentState state = policy.computeState(exchange); - - assertThat(state.getStateName()).isEqualTo("NOT_SENT"); - - // policy found + not deployed - Mockito.when(exchange2.getProperty("policyFound")).thenReturn(true); - Mockito.when(exchange2.getProperty("policyDeployed")).thenReturn(false); - ExternalComponentState state2 = policy.computeState(exchange); - - assertThat(state2.getStateName()).isEqualTo("NOT_SENT"); - - // policy not found + not deployed - Mockito.when(exchange2.getProperty("policyFound")).thenReturn(false); - Mockito.when(exchange2.getProperty("policyDeployed")).thenReturn(false); - ExternalComponentState state4 = policy.computeState(exchange); - - assertThat(state4.getStateName()).isEqualTo("NOT_SENT"); - - // policy not found + deployed - Mockito.when(exchange2.getProperty("policyFound")).thenReturn(false); - Mockito.when(exchange2.getProperty("policyDeployed")).thenReturn(true); - ExternalComponentState state3 = policy.computeState(exchange); - - assertThat(state3.getStateName()).isEqualTo("IN_ERROR"); - - } - - /** - * Test the computeState method. oldState newState expectedFinalState SENT SENT - * SENT SENT SENT_AND_DEPLOYED SENT SENT IN_ERROR IN_ERROR SENT NOT_SENT - * NOT_SENT - */ - @Test - public void computeStateTestOriginalStateSent() throws IOException { - Exchange exchange = Mockito.mock(Exchange.class); - Message message = Mockito.mock(Message.class); - Exchange exchange2 = Mockito.mock(Exchange.class); - Mockito.when(exchange.getIn()).thenReturn(message); - Mockito.when(message.getExchange()).thenReturn(exchange2); - - PolicyComponent policy = new PolicyComponent(); - ExternalComponentState SENT = new ExternalComponentState("SENT", - "The policies defined have been created but NOT deployed on the policy engine", 50); - policy.setState(SENT); - - // new policy state SENT - Mockito.when(exchange2.getProperty("policyFound")).thenReturn(true); - Mockito.when(exchange2.getProperty("policyDeployed")).thenReturn(false); - ExternalComponentState state = policy.computeState(exchange); - - assertThat(state.getStateName()).isEqualTo("SENT"); - - // new policy state SENT_AND_DEPLOYED - Mockito.when(exchange2.getProperty("policyFound")).thenReturn(true); - Mockito.when(exchange2.getProperty("policyDeployed")).thenReturn(true); - ExternalComponentState state2 = policy.computeState(exchange); - - assertThat(state2.getStateName()).isEqualTo("SENT"); - - // new policy state IN_ERROR - Mockito.when(exchange2.getProperty("policyFound")).thenReturn(false); - Mockito.when(exchange2.getProperty("policyDeployed")).thenReturn(true); - ExternalComponentState state3 = policy.computeState(exchange); - - assertThat(state3.getStateName()).isEqualTo("IN_ERROR"); - - // new policy state NOT_SENT - policy.setState(SENT); - Mockito.when(exchange2.getProperty("policyFound")).thenReturn(false); - Mockito.when(exchange2.getProperty("policyDeployed")).thenReturn(false); - ExternalComponentState state4 = policy.computeState(exchange); - - assertThat(state4.getStateName()).isEqualTo("NOT_SENT"); - } - - /** - * Test the computeState method. oldState newState expectedFinalState - * SENT_AND_DEPLOYED SENT_AND_DEPLOYED SENT_AND_DEPLOYED SENT_AND_DEPLOYED SENT - * SENT SENT_AND_DEPLOYED IN_ERROR IN_ERROR SENT_AND_DEPLOYED NOT_SENT NOT_SENT - */ - @Test - public void computeStateTestOriginalStateSentAndDeployed() throws IOException { - Exchange exchange = Mockito.mock(Exchange.class); - Message message = Mockito.mock(Message.class); - Exchange exchange2 = Mockito.mock(Exchange.class); - Mockito.when(exchange.getIn()).thenReturn(message); - Mockito.when(message.getExchange()).thenReturn(exchange2); - - PolicyComponent policy = new PolicyComponent(); - ExternalComponentState SENT_AND_DEPLOYED = new ExternalComponentState("SENT_AND_DEPLOYED", - "The policies defined have been created and deployed on the policy engine", 10); - policy.setState(SENT_AND_DEPLOYED); - - // new policy state SENT_AND_DEPLOYED - Mockito.when(exchange2.getProperty("policyFound")).thenReturn(true); - Mockito.when(exchange2.getProperty("policyDeployed")).thenReturn(true); - ExternalComponentState state = policy.computeState(exchange); - - assertThat(state.getStateName()).isEqualTo("SENT_AND_DEPLOYED"); - - // new policy state SENT - Mockito.when(exchange2.getProperty("policyFound")).thenReturn(true); - Mockito.when(exchange2.getProperty("policyDeployed")).thenReturn(false); - ExternalComponentState state2 = policy.computeState(exchange); - - assertThat(state2.getStateName()).isEqualTo("SENT"); - - // new policy state IN_ERROR - Mockito.when(exchange2.getProperty("policyFound")).thenReturn(false); - Mockito.when(exchange2.getProperty("policyDeployed")).thenReturn(true); - ExternalComponentState state3 = policy.computeState(exchange); - - assertThat(state3.getStateName()).isEqualTo("IN_ERROR"); - - // new policy state NOT_SENT - policy.setState(SENT_AND_DEPLOYED); - Mockito.when(exchange2.getProperty("policyFound")).thenReturn(false); - Mockito.when(exchange2.getProperty("policyDeployed")).thenReturn(false); - ExternalComponentState state4 = policy.computeState(exchange); - - assertThat(state4.getStateName()).isEqualTo("NOT_SENT"); - } - - /** - * Test the computeState method. oldState newState expectedFinalState IN_ERROR - * SENT_AND_DEPLOYED IN_ERROR IN_ERROR SENT IN_ERROR IN_ERROR IN_ERROR IN_ERROR - * IN_ERROR NOT_SENT IN_ERROR - */ - @Test - public void computeStateTestOriginalStateInError() throws IOException { - Exchange exchange = Mockito.mock(Exchange.class); - Message message = Mockito.mock(Message.class); - Exchange exchange2 = Mockito.mock(Exchange.class); - Mockito.when(exchange.getIn()).thenReturn(message); - Mockito.when(message.getExchange()).thenReturn(exchange2); - - PolicyComponent policy = new PolicyComponent(); - ExternalComponentState IN_ERROR = new ExternalComponentState("IN_ERROR", - "There was an error during the sending to policy, the policy engine may be corrupted or inconsistent", - 100); - policy.setState(IN_ERROR); - - // new policy state SENT_AND_DEPLOYED - Mockito.when(exchange2.getProperty("policyFound")).thenReturn(true); - Mockito.when(exchange2.getProperty("policyDeployed")).thenReturn(true); - ExternalComponentState state = policy.computeState(exchange); - - assertThat(state.getStateName()).isEqualTo("IN_ERROR"); - - // new policy state SENT - Mockito.when(exchange2.getProperty("policyFound")).thenReturn(true); - Mockito.when(exchange2.getProperty("policyDeployed")).thenReturn(false); - ExternalComponentState state2 = policy.computeState(exchange); - - assertThat(state2.getStateName()).isEqualTo("IN_ERROR"); - - // new policy state IN_ERROR - Mockito.when(exchange2.getProperty("policyFound")).thenReturn(false); - Mockito.when(exchange2.getProperty("policyDeployed")).thenReturn(true); - ExternalComponentState state3 = policy.computeState(exchange); - - assertThat(state3.getStateName()).isEqualTo("IN_ERROR"); - - // new policy state NOT_SENT - Mockito.when(exchange2.getProperty("policyFound")).thenReturn(false); - Mockito.when(exchange2.getProperty("policyDeployed")).thenReturn(false); - ExternalComponentState state4 = policy.computeState(exchange); - - assertThat(state4.getStateName()).isEqualTo("IN_ERROR"); - } -} diff --git a/ui-react/src/LoopUI.js b/ui-react/src/LoopUI.js index ad970d81..ff3c4445 100644 --- a/ui-react/src/LoopUI.js +++ b/ui-react/src/LoopUI.js @@ -33,6 +33,7 @@ import LoopLogs from './components/loop_viewer/logs/LoopLogs'; import LoopStatus from './components/loop_viewer/status/LoopStatus'; import UserService from './api/UserService'; import LoopCache from './api/LoopCache'; +import LoopActionService from './api/LoopActionService'; import { Route } from 'react-router-dom' import OpenLoopModal from './components/dialogs/OpenLoop/OpenLoopModal'; @@ -227,7 +228,14 @@ export default class LoopUI extends React.Component { loadLoop(loopName) { LoopService.getLoop(loopName).then(loop => { console.debug("Updating loopCache"); - this.updateLoopCache(loop); + LoopActionService.refreshStatus(loopName).then(data => { + this.updateLoopCache(data); + this.props.history.push('/'); + }) + .catch(error => { + this.updateLoopCache(loop); + this.props.history.push('/'); + }); }); } -- 2.16.6