74481007924c14814ee496e2e62a89bdf313aef4
[sdc.git] /
1
2 /*
3  *
4  *  Copyright © 2017-2018 European Support Limited
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  */
19
20 package org.openecomp.sdc.versioning;
21
22 import org.junit.Assert;
23 import org.junit.Test;
24 import org.openecomp.sdc.common.errors.CoreException;
25 import org.openecomp.sdc.versioning.dao.types.Version;
26 import org.openecomp.sdc.versioning.types.VersionInfo;
27
28 import java.util.Arrays;
29 import java.util.HashSet;
30 import java.util.Set;
31
32 public class VersioningUtilTest {
33
34     @Test
35     public void testResolveVersion() {
36         Version version = new Version();
37         version.setMajor(1);
38         version.setMinor(1);
39
40         VersionInfo versionInfo = new VersionInfo();
41         versionInfo.setActiveVersion(version);
42         versionInfo.setViewableVersions(Arrays.asList(version));
43         versionInfo.setLockingUser("user");
44         Version resolveVersion = VersioningUtil.resolveVersion(version, versionInfo, "user");
45         Assert.assertNotNull(resolveVersion);
46         Assert.assertEquals(1,resolveVersion.getMajor());
47         Assert.assertEquals(1,resolveVersion.getMinor());
48
49     }
50
51     @Test(expected = CoreException.class)
52     public void testResolveVersionNegative() {
53         Version version = new Version();
54         version.setMajor(1);
55         version.setMinor(1);
56
57         VersionInfo versionInfo = new VersionInfo();
58         versionInfo.setActiveVersion(version);
59         versionInfo.setViewableVersions(Arrays.asList(new Version()));
60         versionInfo.setLockingUser("user");
61         VersioningUtil.resolveVersion(null, versionInfo, "user");
62
63     }
64
65     @Test
66     public void testResolveVersionFinalOnly() {
67         Version version = new Version();
68         VersionInfo versionInfo = new VersionInfo();
69         versionInfo.setActiveVersion(version);
70         versionInfo.setViewableVersions(Arrays.asList(version));
71         versionInfo.setLatestFinalVersion(version);
72         Assert.assertNotNull(VersioningUtil.resolveVersion(null, versionInfo, true));
73
74     }
75
76     @Test(expected = CoreException.class)
77     public void testResolveVersionWithNonFinalVersions() {
78         Version version = new Version();
79         VersionInfo versionInfo = new VersionInfo();
80         versionInfo.setActiveVersion(version);
81         versionInfo.setViewableVersions(Arrays.asList(new Version()));
82         versionInfo.setLatestFinalVersion(version);
83         VersioningUtil.resolveVersion(version, versionInfo,true);
84     }
85
86     @Test
87     public void testResolveVersionWithoutFinal() {
88         Version version = new Version();
89         VersionInfo versionInfo = new VersionInfo();
90         versionInfo.setActiveVersion(version);
91         versionInfo.setViewableVersions(Arrays.asList(version));
92         Assert.assertNotNull(VersioningUtil.resolveVersion(null, versionInfo, false));
93
94     }
95
96     @Test(expected = CoreException.class)
97     public void testResolveVersionWithoutFinalVersion() {
98         Version version = new Version();
99         VersionInfo versionInfo = new VersionInfo();
100         versionInfo.setActiveVersion(version);
101         versionInfo.setViewableVersions(Arrays.asList(version));
102         VersioningUtil.resolveVersion(null, versionInfo, true);
103
104     }
105
106     @Test(expected = CoreException.class)
107     public void testResolveVersionFinalOnlyNegative() {
108         Version version = new Version();
109         VersionInfo versionInfo = new VersionInfo();
110         versionInfo.setActiveVersion(version);
111         versionInfo.setViewableVersions(Arrays.asList(version));
112         versionInfo.setLatestFinalVersion(version);
113         VersioningUtil.resolveVersion(version, versionInfo, true);
114
115     }
116
117     @Test(expected = CoreException.class)
118     public void testValidateEntityExistence() {
119         VersioningUtil.validateEntityExistence(null, new VersionableEntityImplStub(), "firstClassCitizenType");
120     }
121
122     @Test(expected = CoreException.class)
123     public void testValidateEntitiesExistence() {
124         Set<String> entityIds = new HashSet<>();
125         entityIds.add("id1");
126         entityIds.add("id2");
127         VersioningUtil.validateEntitiesExistence(entityIds, new VersionableEntityImplStub(),
128                 new VersionInfoDaoImplStub(),"firstClassCitizenType");
129     }
130
131     @Test(expected = CoreException.class)
132     public void testValidateEntitiesExistenceSizeOne() {
133         Set<String> entityIds = new HashSet<>();
134         entityIds.add("id1");
135         VersioningUtil.validateEntitiesExistence(entityIds, new VersionableEntityImplStub(),
136                 new VersionInfoDaoImplStub(),"firstClassCitizenType");
137     }
138
139     @Test(expected = CoreException.class)
140     public void testValidateContainedEntitiesExistence() {
141         Set<String> inputContainedEntityIds = new HashSet<>();
142         inputContainedEntityIds.add("id1");
143         inputContainedEntityIds.add("id2");
144         Set<String> retrievedContainedEntityIds = new HashSet<>();
145         VersioningUtil.validateContainedEntitiesExistence("containedEntityType",
146                 inputContainedEntityIds, new VersionableEntityImplStub(), retrievedContainedEntityIds);
147     }
148
149     @Test(expected = CoreException.class)
150     public void testValidateContainedEntitiesExistenceWithIdOne() {
151         Set<String> inputContainedEntityIds = new HashSet<>();
152         inputContainedEntityIds.add("id1");
153         inputContainedEntityIds.add("id2");
154         Set<String> retrievedContainedEntityIds = new HashSet<>();
155         retrievedContainedEntityIds.add("id1");
156         VersioningUtil.validateContainedEntitiesExistence("containedEntityType",
157                 inputContainedEntityIds, new VersionableEntityImplStub(), retrievedContainedEntityIds);
158     }
159 }