a6273a9e4a9c64b8eeb730027b3081c3e6841e28
[policy/clamp.git] /
1 /*-\r
2  * ============LICENSE_START=======================================================\r
3  *  Copyright (C) 2025 OpenInfra Foundation Europe. All rights reserved.\r
4  * ================================================================================\r
5  * Licensed under the Apache License, Version 2.0 (the "License");\r
6  * you may not use this file except in compliance with the License.\r
7  * You may obtain a copy of the License at\r
8  *\r
9  *      http://www.apache.org/licenses/LICENSE-2.0\r
10  *\r
11  * Unless required by applicable law or agreed to in writing, software\r
12  * distributed under the License is distributed on an "AS IS" BASIS,\r
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
14  * See the License for the specific language governing permissions and\r
15  * limitations under the License.\r
16  *\r
17  * SPDX-License-Identifier: Apache-2.0\r
18  * ============LICENSE_END=========================================================\r
19  */\r
20 \r
21 package org.onap.policy.clamp.models.acm.persistence.concepts;\r
22 \r
23 import static org.assertj.core.api.Assertions.assertThatThrownBy;\r
24 import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;\r
25 import static org.junit.jupiter.api.Assertions.assertEquals;\r
26 \r
27 import java.util.HashMap;\r
28 import java.util.LinkedHashMap;\r
29 import java.util.Map;\r
30 import java.util.UUID;\r
31 import java.util.function.UnaryOperator;\r
32 import org.junit.jupiter.api.Test;\r
33 import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionRollback;\r
34 import org.onap.policy.models.base.PfUtils;\r
35 \r
36 \r
37 public class JpaAutomationCompositionRollbackTest {\r
38 \r
39     private static final String NULL_INSTANCE_ID_ERROR = "instanceId is marked .*ull but is null";\r
40     private static final String NULL_ERROR = " is marked .*ull but is null";\r
41     private static final String INSTANCE_ID = "709c62b3-8918-41b9-a747-d21eb79c6c20";\r
42     private static final String COMPOSITION_ID = "709c62b3-8918-41b9-a747-e21eb79c6c41";\r
43 \r
44     @Test\r
45     void testJpaAutomationCompositionRollbackConstructor() {\r
46         assertThatThrownBy(() -> {\r
47             new JpaAutomationCompositionRollback((JpaAutomationCompositionRollback) null);\r
48         }).hasMessageMatching("copyConcept" + NULL_ERROR);\r
49 \r
50         assertThatThrownBy(() -> {\r
51             new JpaAutomationCompositionRollback((AutomationCompositionRollback) null);\r
52         }).hasMessageMatching("authorativeConcept" + NULL_ERROR);\r
53 \r
54         assertThatThrownBy(() -> {\r
55             new JpaAutomationCompositionRollback(null, null, null);\r
56         }).hasMessageMatching(NULL_INSTANCE_ID_ERROR);\r
57 \r
58         assertThatThrownBy(() -> {\r
59             new JpaAutomationCompositionRollback(INSTANCE_ID, null, null);\r
60         }).hasMessageMatching("compositionId" + NULL_ERROR);\r
61 \r
62         assertThatThrownBy(() -> {\r
63             new JpaAutomationCompositionRollback(INSTANCE_ID, COMPOSITION_ID, null);\r
64         }).hasMessageMatching("elements" + NULL_ERROR);\r
65 \r
66         assertDoesNotThrow(() -> new JpaAutomationCompositionRollback());\r
67         Map<String, Object> map = new LinkedHashMap<>();\r
68         map.put("test", "test");\r
69         assertDoesNotThrow(() -> new JpaAutomationCompositionRollback(INSTANCE_ID, COMPOSITION_ID, map));\r
70     }\r
71 \r
72     @Test\r
73     void testJpaAutomationCompositionRollback() {\r
74         var automationCompositionRollback = createAutomationCompositionRollbackInstance();\r
75         var jpaAutomationCompositionRollback = new JpaAutomationCompositionRollback(automationCompositionRollback);\r
76 \r
77 \r
78         assertEquals(automationCompositionRollback, jpaAutomationCompositionRollback.toAuthorative());\r
79         assertDoesNotThrow(() -> new JpaAutomationCompositionRollback(jpaAutomationCompositionRollback));\r
80     }\r
81 \r
82     @Test\r
83     void testJpaCompositionRollbackCompareTo() {\r
84         var jpaAutomationCompositionRollback =\r
85                 new JpaAutomationCompositionRollback(createAutomationCompositionRollbackInstance());\r
86 \r
87         var otherJpaAutomationComposition =\r
88                 new JpaAutomationCompositionRollback(jpaAutomationCompositionRollback);\r
89 \r
90         assertEquals(0, jpaAutomationCompositionRollback.compareTo(otherJpaAutomationComposition));\r
91         assertEquals(-1, jpaAutomationCompositionRollback.compareTo(null));\r
92         assertEquals(0, jpaAutomationCompositionRollback.compareTo(jpaAutomationCompositionRollback));\r
93     }\r
94 \r
95     private AutomationCompositionRollback createAutomationCompositionRollbackInstance() {\r
96         var testAcmRollback = new AutomationCompositionRollback();\r
97         testAcmRollback.setInstanceId(UUID.fromString(INSTANCE_ID));\r
98         testAcmRollback.setCompositionId(UUID.fromString(COMPOSITION_ID));\r
99         Map<String, Object> map = new HashMap<>();\r
100         map.put("test", "test");\r
101         testAcmRollback.setElements(PfUtils.mapMap(map, UnaryOperator.identity()));\r
102 \r
103         return testAcmRollback;\r
104     }\r
105 }\r