Some unit tests for catalog-be
[sdc.git] / catalog-be / src / test / java / org / openecomp / sdc / be / info / MergedArtifactInfoTest.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 static com.google.code.beanmatchers.BeanMatchers.hasValidBeanConstructor;
25 import static org.hamcrest.CoreMatchers.is;
26 import static org.hamcrest.MatcherAssert.assertThat;
27
28 import java.util.ArrayList;
29 import java.util.Collections;
30 import java.util.List;
31 import org.junit.Test;
32 import org.openecomp.sdc.be.datatypes.elements.ArtifactDataDefinition;
33 import org.openecomp.sdc.be.datatypes.enums.JsonPresentationFields;
34 import org.openecomp.sdc.be.model.ArtifactDefinition;
35
36 public class MergedArtifactInfoTest {
37
38         private static final String NAME = "NAME";
39         private static final String FILE = "FILE";
40         private static final String ENV = "ENV";
41         private static final String URL = "URL";
42         private static final String CHECKSUM = "CHECKSUM";
43         private static final String CREATOR = "CREATOR";
44         private static final String DISPLAY_NAME = "DISPLAY_NAME";
45         private static final String LABEL = "LABEL";
46         private static final String REF = "REF";
47         private static final String REPOSITORY = "REPOSITORY";
48         private static final String TYPE = "TYPE";
49         private static final String UUID = "UUID";
50         private static final String ES_ID = "ES_ID";
51         private static final String UNIQUE_ID = "UNIQUE_ID";
52         private static final String GENERATED_FROM = "GENERATED_FROM";
53
54         @Test
55         public void shouldHaveValidDefaultConstructor() {
56                 assertThat(MergedArtifactInfo.class, hasValidBeanConstructor());
57         }
58
59         @Test
60         public void shouldCorrectlySetCreatedArtifact() {
61                 MergedArtifactInfo mergedArtifactInfo = createMergedArtifactInfo();
62                 assertJsonArtifactTemplate(mergedArtifactInfo.getJsonArtifactTemplate());
63                 assertCreatedArtifact(mergedArtifactInfo.getCreatedArtifact());
64         }
65
66         @Test
67         public void shouldReturnListToDisassociateArtifactFromGroup() {
68                 MergedArtifactInfo mergedArtifactInfo = createMergedArtifactInfo();
69                 mergedArtifactInfo.getCreatedArtifact().get(0).setToscaPresentationValue(JsonPresentationFields.GENERATED_FROM_ID,
70                         GENERATED_FROM);
71                 List<ArtifactDefinition> listToDissotiateArtifactFromGroup = mergedArtifactInfo
72                         .getListToDissotiateArtifactFromGroup(Collections.emptyList());
73                 assertThat(listToDissotiateArtifactFromGroup.size(), is(1));
74                 assertThat(listToDissotiateArtifactFromGroup.get(0).getUniqueId(), is(UNIQUE_ID));
75         }
76
77         @Test
78         public void shouldReturnEmptyListToDisassociateArtifactFromGroupWhenGeneratedFormIdIsEmpty() {
79                 MergedArtifactInfo mergedArtifactInfo = createMergedArtifactInfo();
80                 List<ArtifactDefinition> artifactDefinitions = new ArrayList<>();
81                 artifactDefinitions.add(new ArtifactDefinition(createArtifactDataDefinition()));
82                 List<ArtifactDefinition> listToDissotiateArtifactFromGroup = mergedArtifactInfo
83                         .getListToDissotiateArtifactFromGroup(artifactDefinitions);
84                 assertThat(listToDissotiateArtifactFromGroup.isEmpty(), is(true));
85         }
86
87         private MergedArtifactInfo createMergedArtifactInfo() {
88                 MergedArtifactInfo mergedArtifactInfo = new MergedArtifactInfo();
89                 List<ArtifactTemplateInfo> relatedArtifactsInfo = new ArrayList<>();
90                 relatedArtifactsInfo.add(new ArtifactTemplateInfo(TYPE, FILE, ENV, Collections.emptyList()));
91                 mergedArtifactInfo.setJsonArtifactTemplate(new ArtifactTemplateInfo(NAME, FILE, ENV, relatedArtifactsInfo));
92                 List<ArtifactDefinition> createdArtifact = new ArrayList<>();
93                 createdArtifact.add(new ArtifactDefinition(createArtifactDataDefinition()));
94                 mergedArtifactInfo.setCreatedArtifact(createdArtifact);
95                 return mergedArtifactInfo;
96         }
97
98         private ArtifactDataDefinition createArtifactDataDefinition() {
99                 ArtifactDataDefinition artifactDataDefinition = new ArtifactDataDefinition();
100                 artifactDataDefinition.setApiUrl(URL);
101                 artifactDataDefinition.setUniqueId(UNIQUE_ID);
102                 artifactDataDefinition.setArtifactChecksum(CHECKSUM);
103                 artifactDataDefinition.setArtifactCreator(CREATOR);
104                 artifactDataDefinition.setArtifactDisplayName(DISPLAY_NAME);
105                 artifactDataDefinition.setArtifactLabel(LABEL);
106                 artifactDataDefinition.setArtifactName(NAME);
107                 artifactDataDefinition.setArtifactRef(REF);
108                 artifactDataDefinition.setArtifactRepository(REPOSITORY);
109                 artifactDataDefinition.setArtifactType(TYPE);
110                 artifactDataDefinition.setArtifactUUID(UUID);
111                 artifactDataDefinition.setEsId(ES_ID);
112                 return artifactDataDefinition;
113         }
114
115         private void assertCreatedArtifact(List<ArtifactDefinition> artifactDefinitions){
116                 assertThat(artifactDefinitions.size(), is(1));
117                 ArtifactDefinition artifactDefinition = artifactDefinitions.get(0);
118                 assertThat(artifactDefinition.getArtifactType(), is(TYPE));
119                 assertThat(artifactDefinition.getArtifactRef(), is(REF));
120                 assertThat(artifactDefinition.getArtifactName(), is(NAME));
121                 assertThat(artifactDefinition.getArtifactRepository(), is(REPOSITORY));
122                 assertThat(artifactDefinition.getArtifactChecksum(), is(CHECKSUM));
123                 assertThat(artifactDefinition.getEsId(), is(ES_ID));
124                 assertThat(artifactDefinition.getArtifactLabel(), is(LABEL));
125                 assertThat(artifactDefinition.getArtifactCreator(), is(CREATOR));
126                 assertThat(artifactDefinition.getArtifactDisplayName(), is(DISPLAY_NAME));
127                 assertThat(artifactDefinition.getApiUrl(), is(URL));
128                 assertThat(artifactDefinition.getServiceApi(), is(false));
129                 assertThat(artifactDefinition.getArtifactUUID(), is(UUID));
130         }
131
132         private void assertJsonArtifactTemplate(ArtifactTemplateInfo artifactTemplateInfo){
133                 assertThat(artifactTemplateInfo.getType(), is(NAME));
134                 assertThat(artifactTemplateInfo.getFileName(), is(FILE));
135                 assertThat(artifactTemplateInfo.getEnv(), is(ENV));
136         }
137 }