4 * Copyright © 2017-2018 European Support Limited
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
10 * http://www.apache.org/licenses/LICENSE-2.0
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.
20 package org.openecomp.sdc.versioning;
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;
28 import java.util.Arrays;
29 import java.util.HashSet;
32 public class VersioningUtilTest {
35 public void testResolveVersion() {
36 Version version = new Version();
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());
51 @Test(expected = CoreException.class)
52 public void testResolveVersionNegative() {
53 Version version = new Version();
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");
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));
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);
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));
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);
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);
117 @Test(expected = CoreException.class)
118 public void testValidateEntityExistence() {
119 VersioningUtil.validateEntityExistence(null, new VersionableEntityImplStub(), "firstClassCitizenType");
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");
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");
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);
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);