3 * Copyright © 2017-2018 European Support Limited
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
19 package org.openecomp.sdc.versioning;
21 import org.junit.Assert;
22 import org.junit.Test;
23 import org.openecomp.sdc.common.errors.CoreException;
24 import org.openecomp.sdc.versioning.dao.types.Version;
25 import org.openecomp.sdc.versioning.types.VersionInfo;
27 import java.util.Arrays;
28 import java.util.HashSet;
31 public class VersioningUtilTest {
34 public void testResolveVersion() {
35 Version version = new Version();
39 VersionInfo versionInfo = new VersionInfo();
40 versionInfo.setActiveVersion(version);
41 versionInfo.setViewableVersions(Arrays.asList(version));
42 versionInfo.setLockingUser("user");
43 Version resolveVersion = VersioningUtil.resolveVersion(version, versionInfo, "user");
44 Assert.assertNotNull(resolveVersion);
45 Assert.assertEquals(1,resolveVersion.getMajor());
46 Assert.assertEquals(1,resolveVersion.getMinor());
50 @Test(expected = CoreException.class)
51 public void testResolveVersionNegative() {
52 Version version = new Version();
56 VersionInfo versionInfo = new VersionInfo();
57 versionInfo.setActiveVersion(version);
58 versionInfo.setViewableVersions(Arrays.asList(new Version()));
59 versionInfo.setLockingUser("user");
60 VersioningUtil.resolveVersion(null, versionInfo, "user");
65 public void testResolveVersionFinalOnly() {
66 Version version = new Version();
67 VersionInfo versionInfo = new VersionInfo();
68 versionInfo.setActiveVersion(version);
69 versionInfo.setViewableVersions(Arrays.asList(version));
70 versionInfo.setLatestFinalVersion(version);
71 Assert.assertNotNull(VersioningUtil.resolveVersion(null, versionInfo, true));
75 @Test(expected = CoreException.class)
76 public void testResolveVersionWithNonFinalVersions() {
77 Version version = new Version();
78 VersionInfo versionInfo = new VersionInfo();
79 versionInfo.setActiveVersion(version);
80 versionInfo.setViewableVersions(Arrays.asList(new Version()));
81 versionInfo.setLatestFinalVersion(version);
82 VersioningUtil.resolveVersion(version, versionInfo,true);
86 public void testResolveVersionWithoutFinal() {
87 Version version = new Version();
88 VersionInfo versionInfo = new VersionInfo();
89 versionInfo.setActiveVersion(version);
90 versionInfo.setViewableVersions(Arrays.asList(version));
91 Assert.assertNotNull(VersioningUtil.resolveVersion(null, versionInfo, false));
95 @Test(expected = CoreException.class)
96 public void testResolveVersionWithoutFinalVersion() {
97 Version version = new Version();
98 VersionInfo versionInfo = new VersionInfo();
99 versionInfo.setActiveVersion(version);
100 versionInfo.setViewableVersions(Arrays.asList(version));
101 VersioningUtil.resolveVersion(null, versionInfo, true);
105 @Test(expected = CoreException.class)
106 public void testResolveVersionFinalOnlyNegative() {
107 Version version = new Version();
108 VersionInfo versionInfo = new VersionInfo();
109 versionInfo.setActiveVersion(version);
110 versionInfo.setViewableVersions(Arrays.asList(version));
111 versionInfo.setLatestFinalVersion(version);
112 VersioningUtil.resolveVersion(version, versionInfo, true);
116 @Test(expected = CoreException.class)
117 public void testValidateEntityExistence() {
118 VersioningUtil.validateEntityExistence(null, new VersionableEntityImplStub(), "firstClassCitizenType");
121 @Test(expected = CoreException.class)
122 public void testValidateEntitiesExistence() {
123 Set<String> entityIds = new HashSet<>();
124 entityIds.add("id1");
125 entityIds.add("id2");
126 VersioningUtil.validateEntitiesExistence(entityIds, new VersionableEntityImplStub(),
127 new VersionInfoDaoImplStub(),"firstClassCitizenType");
130 @Test(expected = CoreException.class)
131 public void testValidateEntitiesExistenceSizeOne() {
132 Set<String> entityIds = new HashSet<>();
133 entityIds.add("id1");
134 VersioningUtil.validateEntitiesExistence(entityIds, new VersionableEntityImplStub(),
135 new VersionInfoDaoImplStub(),"firstClassCitizenType");
138 @Test(expected = CoreException.class)
139 public void testValidateContainedEntitiesExistence() {
140 Set<String> inputContainedEntityIds = new HashSet<>();
141 inputContainedEntityIds.add("id1");
142 inputContainedEntityIds.add("id2");
143 Set<String> retrievedContainedEntityIds = new HashSet<>();
144 VersioningUtil.validateContainedEntitiesExistence("containedEntityType",
145 inputContainedEntityIds, new VersionableEntityImplStub(), retrievedContainedEntityIds);
148 @Test(expected = CoreException.class)
149 public void testValidateContainedEntitiesExistenceWithIdOne() {
150 Set<String> inputContainedEntityIds = new HashSet<>();
151 inputContainedEntityIds.add("id1");
152 inputContainedEntityIds.add("id2");
153 Set<String> retrievedContainedEntityIds = new HashSet<>();
154 retrievedContainedEntityIds.add("id1");
155 VersioningUtil.validateContainedEntitiesExistence("containedEntityType",
156 inputContainedEntityIds, new VersionableEntityImplStub(), retrievedContainedEntityIds);