bf91168ff4d73ea47b2221d621046cab62935b2b
[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.LinkedHashMap;\r
28 import java.util.Map;\r
29 import java.util.UUID;\r
30 import org.junit.jupiter.api.Test;\r
31 import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionElement;\r
32 import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionRollback;\r
33 \r
34 class JpaAutomationCompositionRollbackTest {\r
35 \r
36     private static final String NULL_INSTANCE_ID_ERROR = "instanceId is marked .*ull but is null";\r
37     private static final String NULL_ERROR = " is marked .*ull but is null";\r
38     private static final String INSTANCE_ID = "709c62b3-8918-41b9-a747-d21eb79c6c20";\r
39     private static final String COMPOSITION_ID = "709c62b3-8918-41b9-a747-e21eb79c6c41";\r
40 \r
41     @Test\r
42     void testJpaAutomationCompositionRollbackConstructor() {\r
43         assertThatThrownBy(() -> {\r
44             new JpaAutomationCompositionRollback((JpaAutomationCompositionRollback) null);\r
45         }).hasMessageMatching("copyConcept" + NULL_ERROR);\r
46 \r
47         assertThatThrownBy(() -> {\r
48             new JpaAutomationCompositionRollback((AutomationCompositionRollback) null);\r
49         }).hasMessageMatching("authorativeConcept" + NULL_ERROR);\r
50 \r
51         assertThatThrownBy(() -> {\r
52             new JpaAutomationCompositionRollback(null, null, null);\r
53         }).hasMessageMatching(NULL_INSTANCE_ID_ERROR);\r
54 \r
55         assertThatThrownBy(() -> {\r
56             new JpaAutomationCompositionRollback(INSTANCE_ID, null, null);\r
57         }).hasMessageMatching("compositionId" + NULL_ERROR);\r
58 \r
59         assertThatThrownBy(() -> {\r
60             new JpaAutomationCompositionRollback(INSTANCE_ID, COMPOSITION_ID, null);\r
61         }).hasMessageMatching("elements" + NULL_ERROR);\r
62 \r
63         assertDoesNotThrow(() -> new JpaAutomationCompositionRollback());\r
64         Map<String, Object> map = new LinkedHashMap<>();\r
65         map.put("test", "test");\r
66         assertDoesNotThrow(() -> new JpaAutomationCompositionRollback(INSTANCE_ID, COMPOSITION_ID, map));\r
67     }\r
68 \r
69     @Test\r
70     void testJpaAutomationCompositionRollback() {\r
71         var automationCompositionRollback = createAutomationCompositionRollbackInstance();\r
72         var jpaAutomationCompositionRollback = new JpaAutomationCompositionRollback(automationCompositionRollback);\r
73 \r
74 \r
75         assertEquals(automationCompositionRollback, jpaAutomationCompositionRollback.toAuthorative());\r
76         assertDoesNotThrow(() -> new JpaAutomationCompositionRollback(jpaAutomationCompositionRollback));\r
77     }\r
78 \r
79     @Test\r
80     void testJpaCompositionRollbackCompareTo() {\r
81         var jpaAutomationCompositionRollback =\r
82                 new JpaAutomationCompositionRollback(createAutomationCompositionRollbackInstance());\r
83 \r
84         var otherJpaAutomationComposition =\r
85                 new JpaAutomationCompositionRollback(jpaAutomationCompositionRollback);\r
86 \r
87         assertEquals(0, jpaAutomationCompositionRollback.compareTo(otherJpaAutomationComposition));\r
88         assertEquals(-1, jpaAutomationCompositionRollback.compareTo(null));\r
89         assertEquals(0, jpaAutomationCompositionRollback.compareTo(jpaAutomationCompositionRollback));\r
90     }\r
91 \r
92     private AutomationCompositionRollback createAutomationCompositionRollbackInstance() {\r
93         var testAcmRollback = new AutomationCompositionRollback();\r
94         testAcmRollback.setInstanceId(UUID.fromString(INSTANCE_ID));\r
95         testAcmRollback.setCompositionId(UUID.fromString(COMPOSITION_ID));\r
96         var acElement = new AutomationCompositionElement();\r
97         testAcmRollback.setElements(Map.of(acElement.getId(), acElement));\r
98 \r
99         return testAcmRollback;\r
100     }\r
101 }\r