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