Catalog alignment
[sdc.git] / catalog-be / src / test / java / org / openecomp / sdc / be / info / GroupDefinitionInfoTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2018 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  * Modifications copyright (c) 2019 Nokia
20  * ================================================================================
21  */
22 package org.openecomp.sdc.be.info;
23
24 import com.google.code.beanmatchers.BeanMatchers;
25 import org.junit.Test;
26 import org.openecomp.sdc.be.datatypes.elements.GroupDataDefinition;
27 import org.openecomp.sdc.be.datatypes.elements.GroupInstanceDataDefinition;
28 import org.openecomp.sdc.be.model.GroupDefinition;
29 import org.openecomp.sdc.be.model.GroupInstance;
30
31 import java.util.ArrayList;
32 import java.util.List;
33
34 import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanConstructor;
35 import static org.hamcrest.CoreMatchers.is;
36 import static org.hamcrest.MatcherAssert.assertThat;
37 import static org.hamcrest.Matchers.matchesPattern;
38
39 public class GroupDefinitionInfoTest {
40
41     private static final String ARTIFACT_NAME = "artifactName";
42     private static final String TO_STRING_REGEXP = "GroupDefinitionInfo \\[org.openecomp.sdc.be.info.GroupDefinitionInfo@" +
43         ".*" + ", isBase=true, artifacts=\\[org.openecomp.sdc.be.info.ArtifactDefinitionInfo@" + ".*" + "\\]\\]";
44     private static final String GROUP_UUID = "GROUP_UUID";
45     private static final String INVARIANT_UUID = "INVARIANT_UUID";
46     private static final String VERSION = "VERSION";
47     private static final String UNIQUE_ID = "UNIQUE_ID";
48     private static final String DESC = "DESC";
49     private static final String NAME = "NAME";
50
51     @Test
52     public void shouldHaveValidDefaultConstructor() {
53         assertThat(GroupDefinitionInfo.class, hasValidBeanConstructor());
54     }
55
56     @Test
57     public void testShouldConstructObjectFromGroupDefinition() {
58         GroupDefinition groupDefinition = createGroupDefinition();
59         GroupDefinitionInfo groupDefinitionInfo = new GroupDefinitionInfo(groupDefinition);
60         assertThat(groupDefinitionInfo.getName(), is(groupDefinition.getName()));
61         assertThat(groupDefinitionInfo.getDescription(), is(groupDefinition.getDescription()));
62         assertThat(groupDefinitionInfo.getUniqueId(), is(groupDefinition.getUniqueId()));
63         assertThat(groupDefinitionInfo.getVersion(), is(groupDefinition.getVersion()));
64         assertThat(groupDefinitionInfo.getInvariantUUID(), is(groupDefinition.getInvariantUUID()));
65         assertThat(groupDefinitionInfo.getGroupUUID(), is(groupDefinition.getGroupUUID()));
66     }
67
68     @Test
69     public void testShouldConstructObjectFromGroupInstance() {
70         GroupInstanceDataDefinition groupInstanceDataDefinition = createGroupInstanceDataDefinition();
71         GroupInstance groupInstance = new GroupInstance(groupInstanceDataDefinition);
72         GroupDefinitionInfo groupDefinitionInfo = new GroupDefinitionInfo(groupInstance);
73         assertThat(groupDefinitionInfo.getName(), is(groupInstanceDataDefinition.getGroupName()));
74         assertThat(groupDefinitionInfo.getDescription(), is(groupInstanceDataDefinition.getDescription()));
75         assertThat(groupDefinitionInfo.getGroupInstanceUniqueId(), is(groupInstanceDataDefinition.getUniqueId()));
76         assertThat(groupDefinitionInfo.getVersion(), is(groupInstanceDataDefinition.getVersion()));
77         assertThat(groupDefinitionInfo.getInvariantUUID(), is(groupInstanceDataDefinition.getInvariantUUID()));
78         assertThat(groupDefinitionInfo.getGroupUUID(), is(groupInstanceDataDefinition.getGroupUUID()));
79     }
80
81     @Test
82     public void shouldHaveValidGettersAndSetters() {
83         assertThat(GroupDefinitionInfo.class, BeanMatchers.hasValidGettersAndSettersExcluding("artifacts", "properties"));
84     }
85
86     @Test
87     public void testToString() {
88         GroupDefinitionInfo groupDefinitionInfo = new GroupDefinitionInfo();
89         List<ArtifactDefinitionInfo> artifacts = new ArrayList<>();
90         ArtifactDefinitionInfo artifactDefinitionInfo = new ArtifactDefinitionInfo();
91         artifactDefinitionInfo.setArtifactName(ARTIFACT_NAME);
92         artifacts.add(artifactDefinitionInfo);
93         groupDefinitionInfo.setArtifacts(artifacts);
94         groupDefinitionInfo.setIsBase(true);
95         assertThat(groupDefinitionInfo.toString(), matchesPattern(TO_STRING_REGEXP));
96     }
97
98     private GroupDefinition createGroupDefinition() {
99         GroupDataDefinition groupDataDefinition = new GroupDataDefinition();
100         groupDataDefinition.setName(NAME);
101         groupDataDefinition.setDescription(DESC);
102         groupDataDefinition.setUniqueId(UNIQUE_ID);
103         groupDataDefinition.setVersion(VERSION);
104         groupDataDefinition.setInvariantUUID(INVARIANT_UUID);
105         groupDataDefinition.setGroupUUID(GROUP_UUID);
106         return new GroupDefinition(groupDataDefinition);
107     }
108
109     private GroupInstanceDataDefinition createGroupInstanceDataDefinition() {
110         GroupInstanceDataDefinition groupInstanceDataDefinition = new GroupInstanceDataDefinition();
111         groupInstanceDataDefinition.setGroupName(NAME);
112         groupInstanceDataDefinition.setDescription(DESC);
113         groupInstanceDataDefinition.setUniqueId(UNIQUE_ID);
114         groupInstanceDataDefinition.setVersion(VERSION);
115         groupInstanceDataDefinition.setInvariantUUID(INVARIANT_UUID);
116         groupInstanceDataDefinition.setGroupUUID(GROUP_UUID);
117         return groupInstanceDataDefinition;
118     }
119
120 }