Add PolicyIdentOptVersion
[policy/models.git] / models-pdp / src / test / java / org / onap / policy / models / pdp / concepts / TestPolicyIdentOptVersion.java
1 /*
2  * ============LICENSE_START=======================================================
3  * ONAP Policy Models
4  * ================================================================================
5  * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.policy.models.pdp.concepts;
22
23 import static org.assertj.core.api.Assertions.assertThatThrownBy;
24 import static org.junit.Assert.assertEquals;
25 import static org.junit.Assert.assertFalse;
26 import static org.junit.Assert.assertTrue;
27
28 import org.junit.Test;
29 import org.onap.policy.models.base.PfValidationResult;
30
31 /**
32  * Test the other constructors, as {@link TestModels} tests the other methods.
33  */
34 public class TestPolicyIdentOptVersion extends IdentTestBase<PolicyIdentOptVersion> {
35     private static final String NAME = "my-name";
36     private static final String VERSION = "1.2.3";
37
38     public TestPolicyIdentOptVersion() {
39         super(PolicyIdentOptVersion.class);
40     }
41
42     @Test
43     public void testCopyConstructor() throws Exception {
44         assertThatThrownBy(() -> new PolicyIdentOptVersion(null)).isInstanceOf(NullPointerException.class);
45
46         PolicyIdentOptVersion orig = new PolicyIdentOptVersion();
47
48         // verify with null values
49         assertEquals(orig.toString(), new PolicyIdentOptVersion(orig).toString());
50
51         // verify with all values
52         orig = makeIdent(NAME, VERSION);
53         assertEquals(orig.toString(), new PolicyIdentOptVersion(orig).toString());
54     }
55
56     @Test
57     public void testValidate() throws Exception {
58         assertThatThrownBy(() -> makeIdent(NAME, VERSION).validate(null)).isInstanceOf(NullPointerException.class);
59         assertTrue(makeIdent(NAME, VERSION).validate(new PfValidationResult()).isValid());
60         assertTrue(makeIdent(NAME, null).validate(new PfValidationResult()).isValid());
61
62         // everything is null
63         PfValidationResult result = makeIdent(null, null).validate(new PfValidationResult());
64         assertFalse(result.isValid());
65         assertEquals(1, result.getMessageList().size());
66
67         // name is null
68         result = makeIdent(null, VERSION).validate(new PfValidationResult());
69         assertFalse(result.isValid());
70         assertEquals(1, result.getMessageList().size());
71
72         // name is null, version is invalid
73         result = makeIdent(null, "$$$" + VERSION).validate(new PfValidationResult());
74         assertFalse(result.isValid());
75         assertEquals(2, result.getMessageList().size());
76
77         // name is invalid
78         result = makeIdent("!!!invalid name$$$", VERSION).validate(new PfValidationResult());
79         assertFalse(result.isValid());
80         assertEquals(1, result.getMessageList().size());
81
82         // version is invalid
83         result = makeIdent(NAME, "!!!" + VERSION).validate(new PfValidationResult());
84         assertFalse(result.isValid());
85         assertEquals(1, result.getMessageList().size());
86     }
87 }