Make filters on TOSCA entities generic
[policy/models.git] / models-tosca / src / test / java / org / onap / policy / models / tosca / authorative / concepts / ToscaPolicyTest.java
1 /*
2  * ============LICENSE_START=======================================================
3  * ONAP Policy Models
4  * ================================================================================
5  * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
6  * Modifications Copyright (C) 2020-2021 Nordix Foundation.
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END=========================================================
20  */
21
22 package org.onap.policy.models.tosca.authorative.concepts;
23
24 import static org.assertj.core.api.Assertions.assertThatThrownBy;
25 import static org.junit.Assert.assertEquals;
26 import static org.junit.Assert.assertNull;
27
28 import java.util.LinkedHashMap;
29 import org.junit.Test;
30
31 /**
32  * Tests methods not tested by {@link PojosTest}.
33  */
34 public class ToscaPolicyTest {
35
36     @Test
37     public void testGetIdentifier_testGetTypeIdentifier() {
38         assertThatThrownBy(() -> {
39             new ToscaPolicy(null);
40         }).hasMessageMatching("copyObject is marked .*on.*ull but is null");
41
42         ToscaPolicy policy = new ToscaPolicy();
43
44         policy.setName("my_name");
45         policy.setVersion("1.2.3");
46         policy.setType("my_type");
47         policy.setTypeVersion("3.2.1");
48
49         ToscaEntity te = new ToscaEntity();
50         assertNull(te.getType());
51         assertNull(te.getTypeVersion());
52
53         assertEquals("ToscaEntityKey(name=my_name, version=1.2.3)", policy.getKey().toString());
54         assertEquals(new ToscaConceptIdentifier("my_name", "1.2.3"), policy.getKey().asIdentifier());
55
56         ToscaConceptIdentifier ident = policy.getIdentifier();
57         assertEquals("my_name", ident.getName());
58         assertEquals("1.2.3", ident.getVersion());
59
60         ToscaConceptIdentifier type = policy.getTypeIdentifier();
61         assertEquals("my_type", type.getName());
62         assertEquals("3.2.1", type.getVersion());
63
64         ToscaPolicy clonedPolicy0 = new ToscaPolicy(policy);
65         assertEquals(0, new ToscaEntityComparator<ToscaPolicy>().compare(policy, clonedPolicy0));
66
67         policy.setProperties(new LinkedHashMap<String, Object>());
68         policy.getProperties().put("PropertyKey", "PropertyValue");
69         ToscaPolicy clonedPolicy1 = new ToscaPolicy(policy);
70         assertEquals(0, new ToscaEntityComparator<ToscaPolicy>().compare(policy, clonedPolicy1));
71     }
72 }