JPA concepts for TOSCA
[policy/models.git] / models-base / src / test / java / org / onap / policy / models / base / ValidationTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  *  Copyright (C) 2019-2020 Nordix Foundation.
4  *  Modifications Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
5  * ================================================================================
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  *      http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  *
18  * SPDX-License-Identifier: Apache-2.0
19  * ============LICENSE_END=========================================================
20  */
21
22 package org.onap.policy.models.base;
23
24 import static org.junit.Assert.assertEquals;
25 import static org.junit.Assert.assertFalse;
26 import static org.junit.Assert.assertNotNull;
27 import static org.junit.Assert.assertTrue;
28
29 import org.junit.Test;
30 import org.onap.policy.models.base.PfValidationResult.ValidationResult;
31
32 public class ValidationTest {
33
34     private static final String HELLO = "hello";
35     private static final String SOME_MESSAGE = "Some message";
36
37     @Test
38     public void testValidation1() {
39         PfValidationResult result = new PfValidationResult();
40         PfConceptKey pfKeyey = new PfConceptKey("PK", "0.0.1");
41         result = pfKeyey.validate(result);
42
43         assertNotNull(result);
44         assertTrue(result.isOk());
45         assertTrue(result.isValid());
46         assertEquals(PfValidationResult.ValidationResult.VALID, result.getValidationResult());
47         assertNotNull(result.getMessageList());
48
49         PfValidationMessage vmess0 = new PfValidationMessage(PfConceptKey.getNullKey(), PfConceptKey.class,
50                 ValidationResult.VALID, SOME_MESSAGE);
51         result.addValidationMessage(vmess0);
52
53         assertTrue(result.isOk());
54         assertTrue(result.isValid());
55         assertEquals(PfValidationResult.ValidationResult.VALID, result.getValidationResult());
56         assertNotNull(result.getMessageList());
57         assertNotNull(HELLO, result.toString());
58
59         PfValidationMessage vmess1 = new PfValidationMessage(PfConceptKey.getNullKey(), PfConceptKey.class,
60                 ValidationResult.OBSERVATION, SOME_MESSAGE);
61         result.addValidationMessage(vmess1);
62
63         assertTrue(result.isOk());
64         assertTrue(result.isValid());
65         assertEquals(PfValidationResult.ValidationResult.OBSERVATION, result.getValidationResult());
66         assertNotNull(result.getMessageList());
67         assertNotNull(HELLO, result.toString());
68     }
69
70
71     @Test
72     public void testValidation2() {
73         PfValidationResult result = new PfValidationResult();
74
75         PfValidationMessage vmess2 = new PfValidationMessage(PfConceptKey.getNullKey(), PfConceptKey.class,
76                 ValidationResult.WARNING, SOME_MESSAGE);
77         result.addValidationMessage(vmess2);
78
79         assertFalse(result.isOk());
80         assertTrue(result.isValid());
81         assertEquals(PfValidationResult.ValidationResult.WARNING, result.getValidationResult());
82         assertNotNull(result.getMessageList());
83         assertNotNull(HELLO, result.toString());
84
85         PfValidationMessage vmess3 = new PfValidationMessage(PfConceptKey.getNullKey(), PfConceptKey.class,
86                 ValidationResult.INVALID, SOME_MESSAGE);
87         result.addValidationMessage(vmess3);
88
89         assertFalse(result.isOk());
90         assertFalse(result.isValid());
91         assertEquals(PfValidationResult.ValidationResult.INVALID, result.getValidationResult());
92         assertNotNull(result.getMessageList());
93         assertNotNull(HELLO, result.toString());
94
95         assertEquals(PfValidationResult.ValidationResult.INVALID, result.getMessageList().get(1).getValidationResult());
96         assertEquals(SOME_MESSAGE, result.getMessageList().get(1).getMessage());
97         assertEquals(PfConceptKey.class.getName(), result.getMessageList().get(1).getObservedClass());
98         assertEquals(PfConceptKey.getNullKey(), result.getMessageList().get(1).getObservedKey());
99     }
100
101     @Test
102     public void testValidationAppend() {
103         PfValidationResult result = new PfValidationResult();
104
105         PfValidationResult result2 = new PfValidationResult();
106         PfValidationMessage vmess1 = new PfValidationMessage(PfConceptKey.getNullKey(), PfConceptKey.class,
107                 ValidationResult.OBSERVATION, "Message 1");
108         result2.addValidationMessage(vmess1);
109
110         result.append(result2);
111         assertEquals(1, result.getMessageList().size());
112         assertEquals(ValidationResult.OBSERVATION, result.getValidationResult());
113
114         PfValidationResult result3 = new PfValidationResult();
115         PfValidationMessage vmess2 = new PfValidationMessage(PfConceptKey.getNullKey(), PfConceptKey.class,
116                 ValidationResult.WARNING, "Message 2");
117         result3.addValidationMessage(vmess2);
118         result.append(result3);
119         assertEquals(2, result.getMessageList().size());
120         assertEquals(ValidationResult.WARNING, result.getValidationResult());
121
122         PfValidationResult result4 = new PfValidationResult();
123         PfValidationMessage vmess3 = new PfValidationMessage(PfConceptKey.getNullKey(), PfConceptKey.class,
124                 ValidationResult.INVALID, "Message 3");
125         PfValidationMessage vmess4 = new PfValidationMessage(PfConceptKey.getNullKey(), PfConceptKey.class,
126                 ValidationResult.VALID, "Message 4");
127         result4.addValidationMessage(vmess3);
128         result4.addValidationMessage(vmess4);
129         result.append(result4);
130         assertEquals(4, result.getMessageList().size());
131         assertEquals(ValidationResult.INVALID, result.getValidationResult());
132     }
133 }