2 * ============LICENSE_START=======================================================
3 * Copyright (C) 2023-2024 Nordix Foundation.
4 * ================================================================================
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
17 * SPDX-License-Identifier: Apache-2.0
18 * ============LICENSE_END=========================================================
21 package org.onap.policy.clamp.models.acm.persistence.provider;
23 import static org.assertj.core.api.Assertions.assertThat;
25 import org.junit.jupiter.api.Test;
26 import org.onap.policy.clamp.models.acm.concepts.DeployState;
27 import org.onap.policy.clamp.models.acm.concepts.LockState;
28 import org.onap.policy.clamp.models.acm.concepts.StateChangeResult;
29 import org.onap.policy.clamp.models.acm.concepts.SubState;
30 import org.onap.policy.clamp.models.acm.messages.rest.instantiation.DeployOrder;
31 import org.onap.policy.clamp.models.acm.messages.rest.instantiation.LockOrder;
32 import org.onap.policy.clamp.models.acm.messages.rest.instantiation.SubOrder;
34 class AcInstanceStateResolverTest {
38 var acTypeStateResolver = new AcInstanceStateResolver();
40 var result = acTypeStateResolver.resolve(DeployOrder.DEPLOY, LockOrder.NONE, SubOrder.NONE,
41 DeployState.UNDEPLOYED, LockState.NONE, SubState.NONE, StateChangeResult.NO_ERROR);
42 assertThat(result).isEqualTo(AcInstanceStateResolver.DEPLOY);
45 result = acTypeStateResolver.resolve(DeployOrder.UNDEPLOY, LockOrder.NONE, SubOrder.NONE,
46 DeployState.DEPLOYED, LockState.LOCKED, SubState.NONE, StateChangeResult.NO_ERROR);
47 assertThat(result).isEqualTo(AcInstanceStateResolver.UNDEPLOY);
50 result = acTypeStateResolver.resolve(DeployOrder.NONE, LockOrder.UNLOCK, SubOrder.NONE,
51 DeployState.DEPLOYED, LockState.LOCKED, SubState.NONE, StateChangeResult.NO_ERROR);
52 assertThat(result).isEqualTo(AcInstanceStateResolver.UNLOCK);
55 result = acTypeStateResolver.resolve(DeployOrder.NONE, LockOrder.LOCK, SubOrder.NONE,
56 DeployState.DEPLOYED, LockState.UNLOCKED, SubState.NONE, StateChangeResult.NO_ERROR);
57 assertThat(result).isEqualTo(AcInstanceStateResolver.LOCK);
60 result = acTypeStateResolver.resolve(DeployOrder.MIGRATE, LockOrder.NONE, SubOrder.NONE,
61 DeployState.DEPLOYED, LockState.LOCKED, SubState.NONE, StateChangeResult.NO_ERROR);
62 assertThat(result).isEqualTo(AcInstanceStateResolver.MIGRATE);
65 result = acTypeStateResolver.resolve(DeployOrder.NONE, LockOrder.NONE, SubOrder.MIGRATE_PRECHECK,
66 DeployState.DEPLOYED, LockState.LOCKED, SubState.NONE, StateChangeResult.NO_ERROR);
67 assertThat(result).isEqualTo(AcInstanceStateResolver.MIGRATE_PRECHECK);
70 result = acTypeStateResolver.resolve(DeployOrder.NONE, LockOrder.NONE, SubOrder.PREPARE,
71 DeployState.UNDEPLOYED, LockState.NONE, SubState.NONE, StateChangeResult.NO_ERROR);
72 assertThat(result).isEqualTo(AcInstanceStateResolver.PREPARE);
75 result = acTypeStateResolver.resolve(DeployOrder.NONE, LockOrder.NONE, SubOrder.REVIEW,
76 DeployState.DEPLOYED, LockState.LOCKED, SubState.NONE, StateChangeResult.NO_ERROR);
77 assertThat(result).isEqualTo(AcInstanceStateResolver.REVIEW);
81 void testResolveWrongOrder() {
82 var acTypeStateResolver = new AcInstanceStateResolver();
84 var result = acTypeStateResolver.resolve(DeployOrder.NONE, LockOrder.NONE, SubOrder.NONE,
85 DeployState.UNDEPLOYED, LockState.NONE, SubState.NONE, StateChangeResult.NO_ERROR);
86 assertThat(result).isEqualTo(AcInstanceStateResolver.NONE);
88 result = acTypeStateResolver.resolve(DeployOrder.UNDEPLOY, LockOrder.UNLOCK, SubOrder.NONE,
89 DeployState.DEPLOYED, LockState.LOCKED, SubState.NONE, StateChangeResult.NO_ERROR);
90 assertThat(result).isEqualTo(AcInstanceStateResolver.NONE);
92 result = acTypeStateResolver.resolve(DeployOrder.NONE, LockOrder.UNLOCK, SubOrder.NONE,
93 DeployState.UNDEPLOYED, LockState.NONE, SubState.NONE, StateChangeResult.NO_ERROR);
94 assertThat(result).isEqualTo(AcInstanceStateResolver.NONE);
96 result = acTypeStateResolver.resolve(DeployOrder.UNDEPLOY, LockOrder.NONE, SubOrder.NONE,
97 DeployState.DEPLOYING, LockState.NONE, SubState.NONE, StateChangeResult.NO_ERROR);
98 assertThat(result).isEqualTo(AcInstanceStateResolver.NONE);
100 result = acTypeStateResolver.resolve(null, null, null, null, null, null, null);
101 assertThat(result).isEqualTo(AcInstanceStateResolver.NONE);