aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/backend/openecomp-sdc-vendor-license-manager
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/backend/openecomp-sdc-vendor-license-manager')
-rw-r--r--openecomp-be/backend/openecomp-sdc-vendor-license-manager/pom.xml.versionsBackup77
-rw-r--r--openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/main/java/org/openecomp/sdc/vendorlicense/impl/VendorLicenseManagerImpl.java106
-rw-r--r--openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/test/java/org/openecomp/sdc/vendorlicense/EntitlementPoolTest.java6
-rw-r--r--openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/test/java/org/openecomp/sdc/vendorlicense/LicenseKeyGroupTest.java199
-rw-r--r--openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/test/java/org/openecomp/sdc/vendorlicense/VendorLicenseFacadeImplTest.java144
5 files changed, 350 insertions, 182 deletions
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-license-manager/pom.xml.versionsBackup b/openecomp-be/backend/openecomp-sdc-vendor-license-manager/pom.xml.versionsBackup
deleted file mode 100644
index 85b34a187e..0000000000
--- a/openecomp-be/backend/openecomp-sdc-vendor-license-manager/pom.xml.versionsBackup
+++ /dev/null
@@ -1,77 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <name>openecomp-sdc-vendor-license-manager</name>
- <artifactId>openecomp-sdc-vendor-license-manager</artifactId>
-
- <parent>
- <artifactId>backend</artifactId>
- <groupId>org.openecomp.sdc</groupId>
- <version>1.0-SNAPSHOT</version>
- </parent>
-
- <dependencies>
- <dependency>
- <groupId>org.openecomp.sdc</groupId>
- <artifactId>openecomp-sdc-vendor-license-core</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
- <scope>test</scope>
- <version>1.10.19</version>
- </dependency>
- <dependency>
- <groupId>org.testng</groupId>
- <artifactId>testng</artifactId>
- <scope>test</scope>
- <version>6.8.5</version>
- <exclusions>
- <exclusion>
- <artifactId>snakeyaml</artifactId>
- <groupId>org.yaml</groupId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- <version>4.11</version>
- </dependency>
- <dependency>
- <groupId>javax.el</groupId>
- <artifactId>javax.el-api</artifactId>
- <version>${javax.el-api.version}</version>
- </dependency>
- <dependency>
- <groupId>org.glassfish.web</groupId>
- <artifactId>javax.el</artifactId>
- <version>2.2.4</version>
- </dependency>
- <dependency>
- <groupId>org.codehaus.woodstox</groupId>
- <artifactId>woodstox-core-asl</artifactId>
- <version>4.4.1</version>
- </dependency>
- <dependency>
- <groupId>org.openecomp.sdc</groupId>
- <artifactId>openecomp-sdc-vendor-software-product-manager</artifactId>
- <version>1.0-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>com.fasterxml.jackson.dataformat</groupId>
- <artifactId>jackson-dataformat-xml</artifactId>
- <version>2.7.4</version>
- </dependency>
- <!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
- <dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- <version>${commons.io.version}</version>
- </dependency>
-
- </dependencies>
-</project> \ No newline at end of file
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/main/java/org/openecomp/sdc/vendorlicense/impl/VendorLicenseManagerImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/main/java/org/openecomp/sdc/vendorlicense/impl/VendorLicenseManagerImpl.java
index 622ff02501..b570170985 100644
--- a/openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/main/java/org/openecomp/sdc/vendorlicense/impl/VendorLicenseManagerImpl.java
+++ b/openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/main/java/org/openecomp/sdc/vendorlicense/impl/VendorLicenseManagerImpl.java
@@ -365,9 +365,7 @@ public class VendorLicenseManagerImpl implements VendorLicenseManager {
String user) {
mdcDataDebugMessage.debugEntryMessage("VLM id", vlmId);
mdcDataDebugMessage.debugExitMessage("VLM id", vlmId);
- return featureGroupDao.list(new FeatureGroupEntity(vlmId, VersioningUtil
- .resolveVersion(version, getVersionInfo(vlmId, VersionableEntityAction.Read, user), user),
- null));
+ return vendorLicenseFacade.listFeatureGroups(vlmId, version, user);
}
@Override
@@ -487,15 +485,6 @@ public class VendorLicenseManagerImpl implements VendorLicenseManager {
.debugEntryMessage("VLM id", entitlementPool.getVendorLicenseModelId());
mdcDataDebugMessage
.debugExitMessage("VLM id", entitlementPool.getVendorLicenseModelId());
- validateCreateDate(entitlementPool);
- return vendorLicenseFacade.createEntitlementPool(entitlementPool, user);
- }
-
- private void validateCreateDate(EntitlementPoolEntity entitlementPool){
- mdcDataDebugMessage.debugEntryMessage("Start date and end date", entitlementPool.getStartDate
- ()+" "+entitlementPool.getExpiryDate());
-
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd/yyyy'T'HH:mm:ss'Z'");
entitlementPool.setStartDate(entitlementPool.getStartDate() != null ? (entitlementPool
.getStartDate().trim().length() != 0 ? entitlementPool.getStartDate()+"T00:00:00Z"
@@ -504,40 +493,49 @@ public class VendorLicenseManagerImpl implements VendorLicenseManager {
.getExpiryDate().trim().length() != 0 ? entitlementPool.getExpiryDate()+"T23:59:59Z"
: null) : null);
- if(entitlementPool.getStartDate() != null && entitlementPool.getExpiryDate() != null) {
- if (LocalDate.parse(entitlementPool.getStartDate(), formatter).atStartOfDay().isBefore
- (LocalDate.now().atStartOfDay()) ||
- LocalDate.parse(entitlementPool.getExpiryDate(), formatter).atStartOfDay()
- .isEqual(LocalDate.now().atStartOfDay()) ||
- LocalDate.parse(entitlementPool.getExpiryDate(), formatter)
- .isBefore(LocalDate.parse(entitlementPool.getStartDate(), formatter))) {
+ validateCreateDate(entitlementPool.getStartDate(), entitlementPool.getExpiryDate(),
+ entitlementPool.getVendorLicenseModelId());
+ return vendorLicenseFacade.createEntitlementPool(entitlementPool, user);
+ }
+
+ private void validateCreateDate(String startDate, String expiryDate, String vendorLicenseModelId){
+ mdcDataDebugMessage.debugEntryMessage("Start date and end date", startDate
+ +" "+expiryDate);
+
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd/yyyy'T'HH:mm:ss'Z'");
+
+ if(startDate != null && expiryDate != null) {
+ if (LocalDate.parse(startDate, formatter).atStartOfDay().isBefore
+ (LocalDate.now().atStartOfDay()) || LocalDate.parse(expiryDate, formatter).atStartOfDay()
+ .isEqual(LocalDate.parse(startDate, formatter).atStartOfDay()) || LocalDate
+ .parse(expiryDate, formatter).isBefore(LocalDate.parse(startDate, formatter))) {
MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB,
LoggerTragetServiceName.VALIDATE_DATE_RANGE,ErrorLevel.ERROR.name(),
LoggerErrorCode.DATA_ERROR.getErrorCode(), LoggerErrorDescription.INVALID_VALUE);
throw new CoreException(
- new InvalidDateErrorBuilder(entitlementPool.getVendorLicenseModelId())
+ new InvalidDateErrorBuilder(vendorLicenseModelId)
.build());
}
}
- if(entitlementPool.getStartDate() != null && entitlementPool.getExpiryDate() == null) {
- if (LocalDate.parse(entitlementPool.getStartDate(), formatter).atStartOfDay().isBefore
+ if(startDate != null && expiryDate == null) {
+ if (LocalDate.parse(startDate, formatter).atStartOfDay().isBefore
(LocalDate.now().atStartOfDay())) {
MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB,
LoggerTragetServiceName.VALIDATE_DATE_RANGE,ErrorLevel.ERROR.name(),
LoggerErrorCode.DATA_ERROR.getErrorCode(), LoggerErrorDescription.INVALID_VALUE);
throw new CoreException(
- new InvalidDateErrorBuilder(entitlementPool.getVendorLicenseModelId())
+ new InvalidDateErrorBuilder(vendorLicenseModelId)
.build());
}
}
- if(entitlementPool.getStartDate() == null && entitlementPool.getExpiryDate() != null) {
+ if(startDate == null && expiryDate != null) {
MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB,
LoggerTragetServiceName.VALIDATE_DATE_RANGE,ErrorLevel.ERROR.name(),
LoggerErrorCode.DATA_ERROR.getErrorCode(), LoggerErrorDescription.INVALID_VALUE);
throw new CoreException(
- new InvalidDateErrorBuilder(entitlementPool.getVendorLicenseModelId())
+ new InvalidDateErrorBuilder(vendorLicenseModelId)
.build());
}
@@ -545,39 +543,31 @@ public class VendorLicenseManagerImpl implements VendorLicenseManager {
mdcDataDebugMessage.debugExitMessage(null,null);
}
- private void validateUpdateDate(EntitlementPoolEntity entitlementPool){
- mdcDataDebugMessage.debugEntryMessage("Start date and end date", entitlementPool.getStartDate
- ()+" "+entitlementPool.getExpiryDate());
+ private void validateUpdateDate(String startDate, String expiryDate, String vendorLicenseModelId){
+ mdcDataDebugMessage.debugEntryMessage("Start date and end date", startDate
+ +" "+ expiryDate);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd/yyyy'T'HH:mm:ss'Z'");
- entitlementPool.setStartDate(entitlementPool.getStartDate() != null ? (entitlementPool
- .getStartDate().trim().length() != 0 ? entitlementPool.getStartDate()+"T00:00:00Z"
- : null) : null);
- entitlementPool.setExpiryDate(entitlementPool.getExpiryDate() != null ? (entitlementPool
- .getExpiryDate().trim().length() != 0 ? entitlementPool.getExpiryDate()+"T23:59:59Z"
- : null) : null);
-
- if(entitlementPool.getStartDate() != null && entitlementPool.getExpiryDate() != null) {
- if (LocalDate.parse(entitlementPool.getExpiryDate(), formatter).atStartOfDay()
- .isEqual(LocalDate.parse(entitlementPool.getStartDate(), formatter).atStartOfDay()) ||
- LocalDate.parse(entitlementPool.getExpiryDate(), formatter)
- .isBefore(LocalDate.parse(entitlementPool.getStartDate(), formatter))) {
+ if(startDate != null && expiryDate != null) {
+ if (LocalDate.parse(expiryDate, formatter).atStartOfDay()
+ .isEqual(LocalDate.parse(startDate, formatter).atStartOfDay()) ||
+ LocalDate.parse(expiryDate, formatter).isBefore(LocalDate.parse(startDate, formatter))) {
MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB,
LoggerTragetServiceName.VALIDATE_DATE_RANGE,ErrorLevel.ERROR.name(),
LoggerErrorCode.DATA_ERROR.getErrorCode(), LoggerErrorDescription.INVALID_VALUE);
throw new CoreException(
- new InvalidDateErrorBuilder(entitlementPool.getVendorLicenseModelId())
+ new InvalidDateErrorBuilder(vendorLicenseModelId)
.build());
}
}
- if(entitlementPool.getStartDate() == null && entitlementPool.getExpiryDate() != null) {
+ if(startDate == null && expiryDate != null) {
MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB,
LoggerTragetServiceName.VALIDATE_DATE_RANGE,ErrorLevel.ERROR.name(),
LoggerErrorCode.DATA_ERROR.getErrorCode(), LoggerErrorDescription.INVALID_VALUE);
throw new CoreException(
- new InvalidDateErrorBuilder(entitlementPool.getVendorLicenseModelId())
+ new InvalidDateErrorBuilder(vendorLicenseModelId)
.build());
}
@@ -590,7 +580,15 @@ public class VendorLicenseManagerImpl implements VendorLicenseManager {
mdcDataDebugMessage.debugEntryMessage("VLM id, EP id", entitlementPool
.getVendorLicenseModelId(), entitlementPool.getId());
- validateUpdateDate(entitlementPool);
+ entitlementPool.setStartDate(entitlementPool.getStartDate() != null ? (entitlementPool
+ .getStartDate().trim().length() != 0 ? entitlementPool.getStartDate()+"T00:00:00Z"
+ : null) : null);
+ entitlementPool.setExpiryDate(entitlementPool.getExpiryDate() != null ? (entitlementPool
+ .getExpiryDate().trim().length() != 0 ? entitlementPool.getExpiryDate()+"T23:59:59Z"
+ : null) : null);
+
+ validateUpdateDate(entitlementPool.getStartDate(), entitlementPool.getExpiryDate(),
+ entitlementPool.getVendorLicenseModelId());
Version version = VersioningUtil.resolveVersion(entitlementPool.getVersion(),
getVersionInfo(entitlementPool.getVendorLicenseModelId(), VersionableEntityAction.Write,
user), user);
@@ -692,6 +690,16 @@ public class VendorLicenseManagerImpl implements VendorLicenseManager {
mdcDataDebugMessage.debugExitMessage("VLM id", licenseKeyGroup
.getVendorLicenseModelId());
+
+ licenseKeyGroup.setStartDate(licenseKeyGroup.getStartDate() != null ? (licenseKeyGroup
+ .getStartDate().trim().length() != 0 ? licenseKeyGroup.getStartDate()+"T00:00:00Z"
+ : null) : null);
+ licenseKeyGroup.setExpiryDate(licenseKeyGroup.getExpiryDate() != null ? (licenseKeyGroup
+ .getExpiryDate().trim().length() != 0 ? licenseKeyGroup.getExpiryDate()+"T23:59:59Z"
+ : null) : null);
+
+ validateCreateDate(licenseKeyGroup.getStartDate(), licenseKeyGroup.getExpiryDate(),
+ licenseKeyGroup.getVendorLicenseModelId());
return vendorLicenseFacade.createLicenseKeyGroup(licenseKeyGroup, user);
}
@@ -700,6 +708,16 @@ public class VendorLicenseManagerImpl implements VendorLicenseManager {
mdcDataDebugMessage.debugEntryMessage("VLM id, LKG id", licenseKeyGroup
.getVendorLicenseModelId(), licenseKeyGroup.getId());
+ licenseKeyGroup.setStartDate(licenseKeyGroup.getStartDate() != null ? (licenseKeyGroup
+ .getStartDate().trim().length() != 0 ? licenseKeyGroup.getStartDate()+"T00:00:00Z"
+ : null) : null);
+ licenseKeyGroup.setExpiryDate(licenseKeyGroup.getExpiryDate() != null ? (licenseKeyGroup
+ .getExpiryDate().trim().length() != 0 ? licenseKeyGroup.getExpiryDate()+"T23:59:59Z"
+ : null) : null);
+
+ validateUpdateDate(licenseKeyGroup.getStartDate(), licenseKeyGroup.getExpiryDate(),
+ licenseKeyGroup.getVendorLicenseModelId());
+
Version version = VersioningUtil.resolveVersion(licenseKeyGroup.getVersion(),
getVersionInfo(licenseKeyGroup.getVendorLicenseModelId(), VersionableEntityAction.Write,
user), user);
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/test/java/org/openecomp/sdc/vendorlicense/EntitlementPoolTest.java b/openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/test/java/org/openecomp/sdc/vendorlicense/EntitlementPoolTest.java
index 9b079de3fa..620c6fbf91 100644
--- a/openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/test/java/org/openecomp/sdc/vendorlicense/EntitlementPoolTest.java
+++ b/openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/test/java/org/openecomp/sdc/vendorlicense/EntitlementPoolTest.java
@@ -89,15 +89,9 @@ public class EntitlementPoolTest {
entitlementPool.setDescription(desc);
entitlementPool.setThresholdValue(threshold);
entitlementPool.setThresholdUnit(thresholdUnit);
- entitlementPool
- .setEntitlementMetric(new ChoiceOrOther<>(entitlementMetricChoice, entitlementMetricOther));
entitlementPool.setIncrements(increments);
- entitlementPool.setAggregationFunction(
- new ChoiceOrOther<>(aggregationFunctionChoice, aggregationFunctionOther));
entitlementPool.setOperationalScope(
new MultiChoiceOrOther<>(operationalScopeChoices, operationalScopeOther));
- entitlementPool.setTime(new ChoiceOrOther<>(timeChoice, timeOther));
- entitlementPool.setManufacturerReferenceNumber(sku);
return entitlementPool;
}
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/test/java/org/openecomp/sdc/vendorlicense/LicenseKeyGroupTest.java b/openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/test/java/org/openecomp/sdc/vendorlicense/LicenseKeyGroupTest.java
index 782d93a885..04f7c794bc 100644
--- a/openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/test/java/org/openecomp/sdc/vendorlicense/LicenseKeyGroupTest.java
+++ b/openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/test/java/org/openecomp/sdc/vendorlicense/LicenseKeyGroupTest.java
@@ -29,6 +29,7 @@ import org.openecomp.sdc.common.errors.CoreException;
import org.openecomp.sdc.vendorlicense.dao.LicenseKeyGroupDao;
import org.openecomp.sdc.vendorlicense.dao.LimitDao;
import org.openecomp.sdc.vendorlicense.dao.types.*;
+import org.openecomp.sdc.vendorlicense.errors.VendorLicenseErrorCodes;
import org.openecomp.sdc.vendorlicense.facade.VendorLicenseFacade;
import org.openecomp.sdc.vendorlicense.impl.VendorLicenseManagerImpl;
import org.openecomp.sdc.versioning.dao.types.Version;
@@ -41,6 +42,10 @@ import org.testng.annotations.Test;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+import java.util.Collection;
+import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
@@ -54,6 +59,8 @@ public class LicenseKeyGroupTest {
private final String USER = "lkgTestUser";
private final String LKG_NAME = "LKG name";
private final String LT_NAME = "LT name";
+ private final String LKG1_NAME = "LKG1 name";
+ private final String USER1 = "user1";
@Mock
private VendorLicenseFacade vendorLicenseFacade;
@@ -186,8 +193,193 @@ public class LicenseKeyGroupTest {
}
}
+ @Test
+ public void createTest() {
+ Set<OperationalScope> opScopeChoices;
+ opScopeChoices = new HashSet<>();
+ opScopeChoices.add(OperationalScope.Core);
+ opScopeChoices.add(OperationalScope.CPU);
+ opScopeChoices.add(OperationalScope.Network_Wide);
+ LicenseKeyGroupEntity lkg =
+ createLicenseKeyGroup("vlm1Id", null, LKG1_NAME, "LKG1 dec",LicenseKeyType.Unique,
+ new MultiChoiceOrOther<>(opScopeChoices, null));
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd/yyyy");
+ lkg.setStartDate(LocalDate.now().format(formatter));
+ lkg.setExpiryDate(LocalDate.now().plusDays(1L).format(formatter));
+
+ vendorLicenseManagerImpl.createLicenseKeyGroup(lkg, USER1);
+ }
+
+ @Test
+ public void createWithInvalidStartExpiryDateTest() {
+ try {
+
+ Set<OperationalScope> opScopeChoices;
+ opScopeChoices = new HashSet<>();
+ opScopeChoices.add(OperationalScope.Core);
+ opScopeChoices.add(OperationalScope.CPU);
+ opScopeChoices.add(OperationalScope.Network_Wide);
+ LicenseKeyGroupEntity lkg =
+ createLicenseKeyGroup("vlm1Id", null, LKG1_NAME, "LKG1 dec",LicenseKeyType.Unique,
+ new MultiChoiceOrOther<>(opScopeChoices, null));
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd/yyyy");
+ lkg.setStartDate(LocalDate.now().format(formatter));
+ lkg.setExpiryDate(LocalDate.now().minusDays(2L).format(formatter));
+ vendorLicenseManagerImpl.createLicenseKeyGroup(lkg, USER1);
+ Assert.fail();
+ } catch (CoreException exception) {
+ Assert.assertEquals(exception.code().id(), VendorLicenseErrorCodes.DATE_RANGE_INVALID);
+ }
+ }
+
+ @Test
+ public void createWithoutStartDateTest() {
+ try {
+
+ Set<OperationalScope> opScopeChoices;
+ opScopeChoices = new HashSet<>();
+ opScopeChoices.add(OperationalScope.Core);
+ opScopeChoices.add(OperationalScope.CPU);
+ opScopeChoices.add(OperationalScope.Network_Wide);
+ LicenseKeyGroupEntity lkg =
+ createLicenseKeyGroup("vlm1Id", null, LKG1_NAME, "LKG1 dec",LicenseKeyType.Unique,
+ new MultiChoiceOrOther<>(opScopeChoices, null));
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd/yyyy");
+ lkg.setExpiryDate(LocalDate.now().plusDays(2L).format(formatter));
+ vendorLicenseManagerImpl.createLicenseKeyGroup(lkg, USER1).getId();
+ Assert.fail();
+ } catch (CoreException exception) {
+ Assert.assertEquals(exception.code().id(), VendorLicenseErrorCodes.DATE_RANGE_INVALID);
+ }
+ }
+
+ @Test
+ public void createWithSameStartExpiryDateTest() {
+ try {
+
+ Set<OperationalScope> opScopeChoices;
+ opScopeChoices = new HashSet<>();
+ opScopeChoices.add(OperationalScope.Core);
+ opScopeChoices.add(OperationalScope.CPU);
+ opScopeChoices.add(OperationalScope.Network_Wide);
+ LicenseKeyGroupEntity lkg =
+ createLicenseKeyGroup("vlm1Id", null, LKG1_NAME, "LKG1 dec",LicenseKeyType.Unique,
+ new MultiChoiceOrOther<>(opScopeChoices, null));
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd/yyyy");
+ lkg.setStartDate(LocalDate.now().plusDays(2L).format(formatter));
+ lkg.setExpiryDate(LocalDate.now().plusDays(2L).format(formatter));
+ vendorLicenseManagerImpl.createLicenseKeyGroup(lkg, USER1).getId();
+ Assert.fail();
+ } catch (CoreException exception) {
+ Assert.assertEquals(exception.code().id(), VendorLicenseErrorCodes.DATE_RANGE_INVALID);
+ }
+ }
+
+ @Test
+ public void createUpdate() {
+ Set<OperationalScope> opScopeChoices;
+ opScopeChoices = new HashSet<>();
+ opScopeChoices.add(OperationalScope.Core);
+ opScopeChoices.add(OperationalScope.CPU);
+ opScopeChoices.add(OperationalScope.Network_Wide);
+ LicenseKeyGroupEntity lkg =
+ createLicenseKeyGroup("vlm1Id", null, LKG1_NAME, "LKG1 dec",LicenseKeyType.Unique,
+ new MultiChoiceOrOther<>(opScopeChoices, null));
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd/yyyy");
+ lkg.setStartDate(LocalDate.now().minusDays(3L).format(formatter));
+ lkg.setExpiryDate(LocalDate.now().minusDays(2L).format(formatter));
+ VersionInfo info = new VersionInfo();
+ Version version = new Version();
+ info.getViewableVersions().add(version);
+ info.setActiveVersion(version);
+ doReturn(info).when(vendorLicenseFacade).getVersionInfo(anyObject(),anyObject(),anyObject());
+
+ vendorLicenseManagerImpl.updateLicenseKeyGroup(lkg, USER1);
+ }
+
+ @Test
+ public void updateWithInvalidStartExpiryDateTest() {
+ try {
+
+ Set<OperationalScope> opScopeChoices;
+ opScopeChoices = new HashSet<>();
+ opScopeChoices.add(OperationalScope.Core);
+ opScopeChoices.add(OperationalScope.CPU);
+ opScopeChoices.add(OperationalScope.Network_Wide);
+ LicenseKeyGroupEntity lkg =
+ createLicenseKeyGroup("vlm1Id", null, LKG1_NAME, "LKG1 dec",LicenseKeyType.Unique,
+ new MultiChoiceOrOther<>(opScopeChoices, null));
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd/yyyy");
+ lkg.setStartDate(LocalDate.now().format(formatter));
+ lkg.setExpiryDate(LocalDate.now().minusDays(2L).format(formatter));
+ vendorLicenseManagerImpl.updateLicenseKeyGroup(lkg, USER1);
+ Assert.fail();
+ } catch (CoreException exception) {
+ Assert.assertEquals(exception.code().id(), VendorLicenseErrorCodes.DATE_RANGE_INVALID);
+ }
+ }
+
+ @Test
+ public void updateWithoutStartDateTest() {
+ try {
+
+ Set<OperationalScope> opScopeChoices;
+ opScopeChoices = new HashSet<>();
+ opScopeChoices.add(OperationalScope.Core);
+ opScopeChoices.add(OperationalScope.CPU);
+ opScopeChoices.add(OperationalScope.Network_Wide);
+ LicenseKeyGroupEntity lkg =
+ createLicenseKeyGroup("vlm1Id", null, LKG1_NAME, "LKG1 dec",LicenseKeyType.Unique,
+ new MultiChoiceOrOther<>(opScopeChoices, null));
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd/yyyy");
+ lkg.setExpiryDate(LocalDate.now().plusDays(2L).format(formatter));
+ vendorLicenseManagerImpl.updateLicenseKeyGroup(lkg, USER1);
+ Assert.fail();
+ } catch (CoreException exception) {
+ Assert.assertEquals(exception.code().id(), VendorLicenseErrorCodes.DATE_RANGE_INVALID);
+ }
+ }
+
+ @Test
+ public void updateWithSameStartExpiryDateTest() {
+ try {
+
+ Set<OperationalScope> opScopeChoices;
+ opScopeChoices = new HashSet<>();
+ opScopeChoices.add(OperationalScope.Core);
+ opScopeChoices.add(OperationalScope.CPU);
+ opScopeChoices.add(OperationalScope.Network_Wide);
+ LicenseKeyGroupEntity lkg =
+ createLicenseKeyGroup("vlm1Id", null, LKG1_NAME, "LKG1 dec",LicenseKeyType.Unique,
+ new MultiChoiceOrOther<>(opScopeChoices, null));
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd/yyyy");
+ lkg.setStartDate(LocalDate.now().format(formatter));
+ lkg.setExpiryDate(LocalDate.now().format(formatter));
+ vendorLicenseManagerImpl.updateLicenseKeyGroup(lkg, USER1);
+ Assert.fail();
+ } catch (CoreException exception) {
+ Assert.assertEquals(exception.code().id(), VendorLicenseErrorCodes.DATE_RANGE_INVALID);
+ }
+ }
+
+
+ public static LicenseKeyGroupEntity createLicenseKeyGroup(String vlmId, Version version,
+ String name, String desc,
+ LicenseKeyType type,
+ MultiChoiceOrOther<OperationalScope> operationalScope) {
+ LicenseKeyGroupEntity licenseKeyGroup = new LicenseKeyGroupEntity();
+ licenseKeyGroup.setVendorLicenseModelId(vlmId);
+ licenseKeyGroup.setVersion(version);
+ licenseKeyGroup.setName(name);
+ licenseKeyGroup.setDescription(desc);
+ licenseKeyGroup.setType(type);
+ licenseKeyGroup.setOperationalScope(operationalScope);
+ return licenseKeyGroup;
+ }
+
/*public static final String LKG1_NAME = "LKG1 name";
private static final Version VERSION01 = new Version(0, 1);
+ public static final String LKG1_NAME = "LKG1 name";
private static final String USER1 = "user1";
public static String vlm1Id;
public static String vlm2Id;
@@ -211,7 +403,12 @@ public class LicenseKeyGroupTest {
return licenseKeyGroup;
}
- @BeforeClass
+ @BeforeMethod
+ public void setUp() throws Exception {
+ MockitoAnnotations.initMocks(this);
+ }
+
+ /*@BeforeClass
private void init() {
licenseKeyGroupDao = LicenseKeyGroupDaoFactory.getInstance().createInterface();
noSqlDb = NoSqlDbFactory.getInstance().createInterface();
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/test/java/org/openecomp/sdc/vendorlicense/VendorLicenseFacadeImplTest.java b/openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/test/java/org/openecomp/sdc/vendorlicense/VendorLicenseFacadeImplTest.java
index 58db488d86..40bbc77faa 100644
--- a/openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/test/java/org/openecomp/sdc/vendorlicense/VendorLicenseFacadeImplTest.java
+++ b/openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/test/java/org/openecomp/sdc/vendorlicense/VendorLicenseFacadeImplTest.java
@@ -1,18 +1,27 @@
package org.openecomp.sdc.vendorlicense;
+import org.junit.Assert;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.mockito.Spy;
import org.openecomp.sdc.vendorlicense.dao.*;
+import org.openecomp.sdc.vendorlicense.dao.types.EntitlementPoolEntity;
import org.openecomp.sdc.vendorlicense.dao.types.FeatureGroupEntity;
import org.openecomp.sdc.vendorlicense.facade.impl.VendorLicenseFacadeImpl;
+import org.openecomp.sdc.vendorlicense.impl.VendorLicenseManagerImpl;
import org.openecomp.sdc.versioning.VersioningManager;
import org.openecomp.sdc.versioning.dao.types.Version;
+import org.openecomp.sdc.versioning.types.VersionInfo;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
+import java.util.ArrayList;
+import java.util.Collection;
import java.util.HashSet;
+import java.util.List;
import java.util.Set;
import static org.mockito.Matchers.anyObject;
@@ -21,12 +30,16 @@ import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
/**
- * Created by diveshm on 7/3/2017.
+ * This test just verifies Feature Group Get and List APIs.
*/
public class VendorLicenseFacadeImplTest {
//JUnit Test Cases using Mockito
private static final Version VERSION01 = new Version(0, 1);
- private final String FG1_NAME = "FG1 name";
+ public static final String EP1 = "ep1";
+ public static final String MRN = "mrn";
+ public static final String VLM_ID = "VLM_ID";
+ public static final String USER = "USER1";
+
@Mock
private VendorLicenseModelDao vendorLicenseModelDao;
@@ -50,78 +63,101 @@ public class VendorLicenseFacadeImplTest {
@Spy
private VendorLicenseFacadeImpl vendorLicenseFacadeImpl;
- public FeatureGroupEntity createFeatureGroup(String vlmId, Version version, String id, String name, String desc,
- String partNumber, String manufacturerReferenceNumber, Set<String>
- licenseKeyGroupIds, Set<String> entitlementPoolIds, Set<String>
- referencingLicenseAgreements){
- FeatureGroupEntity featureGroup = new FeatureGroupEntity(vlmId, version, id);
- featureGroup.setVendorLicenseModelId(vlmId);
- featureGroup.setVersion(version);
- featureGroup.setId(id);
- featureGroup.setName(name);
- featureGroup.setDescription(desc);
- featureGroup.setPartNumber(partNumber);
- //featureGroup.setManufacturerReferenceNumber(manufacturerReferenceNumber);
- featureGroup.setLicenseKeyGroupIds(licenseKeyGroupIds);
- featureGroup.setEntitlementPoolIds(entitlementPoolIds);
- featureGroup.setReferencingLicenseAgreements(referencingLicenseAgreements);
-
- return featureGroup;
- }
-
@BeforeMethod
public void setUp() throws Exception{
MockitoAnnotations.initMocks(this);
}
@Test
- public void testCreate(){
- Set<String> licenseKeyGroupIds;
- licenseKeyGroupIds = new HashSet<>();
- licenseKeyGroupIds.add("lkg1");
+ public void testGetFeatureGroupWhenMRNNull () {
+ resetFieldModifiers();
+
+ FeatureGroupEntity featureGroup = createFeatureGroup();
+
+ VersionInfo info = new VersionInfo();
+ info.getViewableVersions().add(VERSION01);
+ info.setActiveVersion(VERSION01);
Set<String> entitlementPoolIds;
entitlementPoolIds = new HashSet<>();
- entitlementPoolIds.add("ep1");
-
- Set<String> referencingLicenseAgreements;
- referencingLicenseAgreements = new HashSet<>();
- referencingLicenseAgreements.add("la1");
+ entitlementPoolIds.add(EP1);
- FeatureGroupEntity featureGroupEntity = createFeatureGroup("vlmId", VERSION01, "fgId", FG1_NAME, "fg1 desc",
- "partNumber", "MRN", licenseKeyGroupIds, entitlementPoolIds,
- referencingLicenseAgreements);
+ EntitlementPoolEntity ep = createEP();
- doReturn(featureGroupEntity).when(featureGroupDao).get(anyObject());
+ featureGroup.setEntitlementPoolIds(entitlementPoolIds);
- /*if(featureGroupEntity.getManufacturerReferenceNumber() != null)
- featureGroupDao.create(featureGroupEntity);
- verify(featureGroupDao).create(anyObject());*/
+ doReturn(info).when(vendorLicenseFacadeImpl).getVersionInfo(anyObject(),anyObject(),anyObject());
+ doReturn(featureGroup).when(featureGroupDao).get(featureGroup);
+ doReturn(ep).when(entitlementPoolDao).get(anyObject());
+ doReturn(MRN).when(entitlementPoolDao).getManufacturerReferenceNumber(anyObject());
+ FeatureGroupEntity retrieved = vendorLicenseFacadeImpl.getFeatureGroup(featureGroup, USER);
+ Assert.assertEquals(MRN, retrieved.getManufacturerReferenceNumber());
}
@Test
- public void testCreateWithoutManufacturerReferenceNumber(){
- Set<String> licenseKeyGroupIds;
- licenseKeyGroupIds = new HashSet<>();
- licenseKeyGroupIds.add("lkg1");
+ public void testListFeatureGroups () {
+ resetFieldModifiers();
- Set<String> entitlementPoolIds;
- entitlementPoolIds = new HashSet<>();
- entitlementPoolIds.add("ep1");
+ FeatureGroupEntity featureGroup = createFeatureGroup();
- Set<String> referencingLicenseAgreements;
- referencingLicenseAgreements = new HashSet<>();
- referencingLicenseAgreements.add("la1");
+ Collection<FeatureGroupEntity> featureGroups = new ArrayList<FeatureGroupEntity>();
+ featureGroups.add(featureGroup);
- FeatureGroupEntity featureGroupEntity = createFeatureGroup("vlmId", VERSION01, "fgId", FG1_NAME, "fg1 desc",
- "partNumber", null, licenseKeyGroupIds, entitlementPoolIds,
- referencingLicenseAgreements);
- doReturn(featureGroupEntity).when(featureGroupDao).get(anyObject());
+ VersionInfo info = new VersionInfo();
+ info.getViewableVersions().add(VERSION01);
+ info.setActiveVersion(VERSION01);
- /*if(featureGroupEntity.getManufacturerReferenceNumber() != null)
- featureGroupDao.create(featureGroupEntity);
+ EntitlementPoolEntity ep = createEP();
- verify(featureGroupDao, never()).create(anyObject());*/
+ doReturn(info).when(vendorLicenseFacadeImpl).getVersionInfo(anyObject(),anyObject(),anyObject());
+ doReturn(featureGroup).when(featureGroupDao).get(featureGroup);
+ doReturn(ep).when(entitlementPoolDao).get(anyObject());
+ doReturn(MRN).when(entitlementPoolDao).getManufacturerReferenceNumber(anyObject());
+ Collection<FeatureGroupEntity> retrieved = vendorLicenseFacadeImpl.listFeatureGroups(VLM_ID,
+ VERSION01, USER);
+ retrieved.stream().forEach(fg -> Assert.assertEquals(MRN,fg.getManufacturerReferenceNumber()));
+ }
+
+ private void resetFieldModifiers() {
+ try {
+ Field fgField = VendorLicenseFacadeImpl.class.getDeclaredField("featureGroupDao");
+ fgField.setAccessible(true);
+ Field modifiersField = Field.class.getDeclaredField("modifiers");
+ modifiersField.setAccessible(true);
+ modifiersField.setInt(fgField, fgField.getModifiers() & ~Modifier.FINAL);
+ fgField.set(null, featureGroupDao);
+
+ Field epField = VendorLicenseFacadeImpl.class.getDeclaredField("entitlementPoolDao");
+ epField.setAccessible(true);
+ modifiersField = Field.class.getDeclaredField("modifiers");
+ modifiersField.setAccessible(true);
+ modifiersField.setInt(epField, epField.getModifiers() & ~Modifier.FINAL);
+ epField.set(null, entitlementPoolDao);
+ } catch(NoSuchFieldException | IllegalAccessException e)
+ {
+ org.testng.Assert.fail();
+ }
+ }
+
+ private FeatureGroupEntity createFeatureGroup() {
+ FeatureGroupEntity featureGroup = new FeatureGroupEntity(VLM_ID, VERSION01, USER);
+ featureGroup.setManufacturerReferenceNumber(null);
+ VersionInfo info = new VersionInfo();
+ info.getViewableVersions().add(VERSION01);
+ info.setActiveVersion(VERSION01);
+
+ Set<String> entitlementPoolIds;
+ entitlementPoolIds = new HashSet<>();
+ entitlementPoolIds.add(EP1);
+
+ featureGroup.setEntitlementPoolIds(entitlementPoolIds);
+ return featureGroup;
+ }
+ private EntitlementPoolEntity createEP() {
+ EntitlementPoolEntity ep = new EntitlementPoolEntity(VLM_ID,VERSION01, EP1);
+ ep.setManufacturerReferenceNumber(MRN);
+ return ep;
}
+
}