mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-10 06:55:32 +00:00
Convert LicenseVerificationTests to use date math
Original commit: elastic/x-pack-elasticsearch@481b9eb821
This commit is contained in:
parent
41e9d5db6d
commit
b480d1f23c
@ -22,23 +22,6 @@ public class DateUtils {
|
|||||||
return dateFormat;
|
return dateFormat;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static long expiryDateAfterDays(long startDate, int days) {
|
|
||||||
Date dateObj = new Date(startDate);
|
|
||||||
|
|
||||||
Calendar calendar = Calendar.getInstance();
|
|
||||||
calendar.clear();
|
|
||||||
calendar.setTimeZone(TIME_ZONE);
|
|
||||||
calendar.setTimeInMillis(dateObj.getTime());
|
|
||||||
|
|
||||||
calendar.add(Calendar.DAY_OF_YEAR, days);
|
|
||||||
|
|
||||||
calendar.set(Calendar.HOUR, 23);
|
|
||||||
calendar.set(Calendar.MINUTE, 59);
|
|
||||||
calendar.set(Calendar.SECOND, 59);
|
|
||||||
|
|
||||||
return calendar.getTimeInMillis();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static long longExpiryDateFromDate(long date) {
|
public static long longExpiryDateFromDate(long date) {
|
||||||
Date dateObj = new Date(date);
|
Date dateObj = new Date(date);
|
||||||
|
|
||||||
|
@ -6,6 +6,9 @@
|
|||||||
package org.elasticsearch.license.manager;
|
package org.elasticsearch.license.manager;
|
||||||
|
|
||||||
import net.nicholaswilliams.java.licensing.exception.InvalidLicenseException;
|
import net.nicholaswilliams.java.licensing.exception.InvalidLicenseException;
|
||||||
|
import org.elasticsearch.common.joda.DateMathParser;
|
||||||
|
import org.elasticsearch.common.joda.FormatDateTimeFormatter;
|
||||||
|
import org.elasticsearch.common.joda.Joda;
|
||||||
import org.elasticsearch.license.AbstractLicensingTestBase;
|
import org.elasticsearch.license.AbstractLicensingTestBase;
|
||||||
import org.elasticsearch.license.TestUtils;
|
import org.elasticsearch.license.TestUtils;
|
||||||
import org.elasticsearch.license.core.DateUtils;
|
import org.elasticsearch.license.core.DateUtils;
|
||||||
@ -18,6 +21,7 @@ import org.junit.Test;
|
|||||||
|
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
import static org.junit.Assert.*;
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
@ -29,6 +33,12 @@ public class LicenseVerificationTests extends AbstractLicensingTestBase {
|
|||||||
|
|
||||||
private final static Set<ESLicense> EMPTY_LICENSES = new HashSet<>();
|
private final static Set<ESLicense> EMPTY_LICENSES = new HashSet<>();
|
||||||
|
|
||||||
|
private final FormatDateTimeFormatter formatDateTimeFormatter = Joda.forPattern("yyyy-MM-dd");
|
||||||
|
|
||||||
|
private final org.elasticsearch.common.joda.time.format.DateTimeFormatter dateTimeFormatter = formatDateTimeFormatter.printer();
|
||||||
|
|
||||||
|
private final DateMathParser dateMathParser = new DateMathParser(formatDateTimeFormatter, TimeUnit.MILLISECONDS);
|
||||||
|
|
||||||
@BeforeClass
|
@BeforeClass
|
||||||
public static void setupManager() {
|
public static void setupManager() {
|
||||||
esLicenseProvider = new FileBasedESLicenseProvider(EMPTY_LICENSES);
|
esLicenseProvider = new FileBasedESLicenseProvider(EMPTY_LICENSES);
|
||||||
@ -41,12 +51,15 @@ public class LicenseVerificationTests extends AbstractLicensingTestBase {
|
|||||||
esLicenseProvider.setLicenses(EMPTY_LICENSES);
|
esLicenseProvider.setLicenses(EMPTY_LICENSES);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String dateMathString(String time, long now) {
|
||||||
|
return dateTimeFormatter.print(dateMathParser.parse(time, now));
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testGeneratedLicenses() throws Exception {
|
public void testGeneratedLicenses() throws Exception {
|
||||||
Date issueDate = new Date();
|
long now = System.currentTimeMillis();
|
||||||
String issueDateStr = DateUtils.dateStringFromLongDate(issueDate.getTime());
|
String issueDateStr = dateMathString("now/d", now);
|
||||||
String expiryDateStr = DateUtils.dateStringFromLongDate(DateUtils.longExpiryDateFromDate(issueDate.getTime() + 24 * 60 * 60l));
|
String expiryDateStr = dateMathString("now+2d/d", now);
|
||||||
Map<String, TestUtils.FeatureAttributes> map = new HashMap<>();
|
Map<String, TestUtils.FeatureAttributes> map = new HashMap<>();
|
||||||
TestUtils.FeatureAttributes featureAttributes =
|
TestUtils.FeatureAttributes featureAttributes =
|
||||||
new TestUtils.FeatureAttributes("shield", "subscription", "platinum", "foo bar Inc.", "elasticsearch", 2, issueDateStr, expiryDateStr);
|
new TestUtils.FeatureAttributes("shield", "subscription", "platinum", "foo bar Inc.", "elasticsearch", 2, issueDateStr, expiryDateStr);
|
||||||
@ -64,9 +77,9 @@ public class LicenseVerificationTests extends AbstractLicensingTestBase {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testMultipleFeatureLicenses() throws Exception {
|
public void testMultipleFeatureLicenses() throws Exception {
|
||||||
Date issueDate = new Date();
|
long now = System.currentTimeMillis();
|
||||||
String issueDateStr = DateUtils.dateStringFromLongDate(issueDate.getTime());
|
String issueDateStr = dateMathString("now/d", now);
|
||||||
String expiryDateStr = DateUtils.dateStringFromLongDate(DateUtils.longExpiryDateFromDate(issueDate.getTime() + 24 * 60 * 60 * 1000l));
|
String expiryDateStr = dateMathString("now+2d/d", now);
|
||||||
|
|
||||||
Map<String, TestUtils.FeatureAttributes> map = new HashMap<>();
|
Map<String, TestUtils.FeatureAttributes> map = new HashMap<>();
|
||||||
TestUtils.FeatureAttributes shildFeatureAttributes =
|
TestUtils.FeatureAttributes shildFeatureAttributes =
|
||||||
@ -86,42 +99,12 @@ public class LicenseVerificationTests extends AbstractLicensingTestBase {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Date getDateBeforeDays(Date originalDate, int days) {
|
|
||||||
Calendar calendar = Calendar.getInstance();
|
|
||||||
calendar.clear();
|
|
||||||
calendar.setTimeZone(DateUtils.TIME_ZONE);
|
|
||||||
calendar.setTimeInMillis(originalDate.getTime());
|
|
||||||
|
|
||||||
int originalDays = calendar.get(Calendar.DAY_OF_YEAR);
|
|
||||||
calendar.set(Calendar.DAY_OF_YEAR, originalDays - days);
|
|
||||||
|
|
||||||
return calendar.getTime();
|
|
||||||
}
|
|
||||||
|
|
||||||
private static Date getDateAfterDays(Date originalDate, int days) {
|
|
||||||
Calendar calendar = Calendar.getInstance();
|
|
||||||
calendar.clear();
|
|
||||||
calendar.setTimeZone(DateUtils.TIME_ZONE);
|
|
||||||
calendar.setTimeInMillis(originalDate.getTime());
|
|
||||||
|
|
||||||
calendar.add(Calendar.DAY_OF_YEAR, days);
|
|
||||||
|
|
||||||
return calendar.getTime();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testLicenseExpiry() throws Exception {
|
public void testLicenseExpiry() throws Exception {
|
||||||
|
long now = System.currentTimeMillis();
|
||||||
Date issueDate = getDateBeforeDays(new Date(), 60);
|
String issueDateStr = dateMathString("now-60d/d", now);
|
||||||
Date expiryDate = getDateAfterDays(new Date(), 30);
|
String expiryDateStr = dateMathString("now+30d/d", now);
|
||||||
Date expiredExpiryDate = getDateBeforeDays(new Date(), 10);
|
String expiredExpiryDateStr = dateMathString("now-10d/d", now);
|
||||||
String issueDateStr = DateUtils.dateStringFromLongDate(issueDate.getTime());
|
|
||||||
String expiryDateStr = DateUtils.dateStringFromLongDate(DateUtils.longExpiryDateFromDate(expiryDate.getTime()));
|
|
||||||
|
|
||||||
final long longExpiryDateFromDate = DateUtils.longExpiryDateFromDate(expiredExpiryDate.getTime());
|
|
||||||
assert longExpiryDateFromDate < System.currentTimeMillis();
|
|
||||||
String expiredExpiryDateStr = DateUtils.dateStringFromLongDate(longExpiryDateFromDate);
|
|
||||||
|
|
||||||
Map<String, TestUtils.FeatureAttributes> map = new HashMap<>();
|
Map<String, TestUtils.FeatureAttributes> map = new HashMap<>();
|
||||||
TestUtils.FeatureAttributes shildFeatureAttributes =
|
TestUtils.FeatureAttributes shildFeatureAttributes =
|
||||||
@ -144,10 +127,9 @@ public class LicenseVerificationTests extends AbstractLicensingTestBase {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testLicenseTampering() throws Exception {
|
public void testLicenseTampering() throws Exception {
|
||||||
|
long now = System.currentTimeMillis();
|
||||||
Date issueDate = new Date();
|
String issueDateStr = dateMathString("now/d", now);
|
||||||
String issueDateStr = DateUtils.dateStringFromLongDate(issueDate.getTime());
|
String expiryDateStr = dateMathString("now+2d/d", now);
|
||||||
String expiryDateStr = DateUtils.dateStringFromLongDate(DateUtils.longExpiryDateFromDate(issueDate.getTime() + 24 * 60 * 60l));
|
|
||||||
Map<String, TestUtils.FeatureAttributes> map = new HashMap<>();
|
Map<String, TestUtils.FeatureAttributes> map = new HashMap<>();
|
||||||
TestUtils.FeatureAttributes featureAttributes =
|
TestUtils.FeatureAttributes featureAttributes =
|
||||||
new TestUtils.FeatureAttributes("shield", "subscription", "platinum", "foo bar Inc.", "elasticsearch", 2, issueDateStr, expiryDateStr);
|
new TestUtils.FeatureAttributes("shield", "subscription", "platinum", "foo bar Inc.", "elasticsearch", 2, issueDateStr, expiryDateStr);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user