Search in sources :

Example 26 with DateRange

use of com.google.api.ads.admanager.axis.v202205.DateRange in project candlepin by candlepin.

the class InstalledProductStatusCalculatorTest method rangeRelativeToDate.

private DateRange rangeRelativeToDate(Date relativeTo, int startMonths, int endMonths) {
    Calendar cal = Calendar.getInstance();
    cal.setTime(relativeTo);
    cal.add(Calendar.MONTH, startMonths);
    Date start = cal.getTime();
    cal.setTime(relativeTo);
    cal.add(Calendar.MONTH, endMonths);
    Date end = cal.getTime();
    DateRange dr = new DateRange();
    dr.setEndDate(Util.toDateTime(end));
    dr.setStartDate(Util.toDateTime(start));
    return dr;
}
Also used : DateRange(org.candlepin.dto.api.v1.DateRange) Calendar(java.util.Calendar) Date(java.util.Date)

Example 27 with DateRange

use of com.google.api.ads.admanager.axis.v202205.DateRange in project candlepin by candlepin.

the class InstalledProductStatusCalculatorTest method validRangeIgnoresExpiredWithNoOverlap.

@Test
public void validRangeIgnoresExpiredWithNoOverlap() {
    Date now = new Date();
    Owner owner = TestUtil.createOwner();
    owner.setContentAccessMode("entitlement");
    Product product = TestUtil.createProduct("p1", "product1");
    Consumer consumer = this.mockConsumer(owner, product);
    consumer.setCreated(now);
    DateRange range1 = this.rangeRelativeToDate(now, -6, -3);
    DateRange range2 = this.rangeRelativeToDate(now, -1, 6);
    consumer.addEntitlement(this.mockEntitlement(owner, consumer, product, range2, product));
    consumer.addEntitlement(this.mockEntitlement(owner, consumer, product, range1, product));
    this.mockConsumerEntitlements(consumer, consumer.getEntitlements());
    this.mockOwnerProducts(owner, Arrays.asList(product));
    this.consumerEnricher.enrich(consumer);
    ConsumerInstalledProduct cip = this.getInstalledProduct(consumer, product);
    assertEquals(Util.toDate(range2.getStartDate()), cip.getStartDate());
    assertEquals(Util.toDate(range2.getEndDate()), cip.getEndDate());
}
Also used : Owner(org.candlepin.model.Owner) DateRange(org.candlepin.dto.api.v1.DateRange) Consumer(org.candlepin.model.Consumer) ConsumerInstalledProduct(org.candlepin.model.ConsumerInstalledProduct) Product(org.candlepin.model.Product) ConsumerInstalledProduct(org.candlepin.model.ConsumerInstalledProduct) Date(java.util.Date) Test(org.junit.jupiter.api.Test)

Example 28 with DateRange

use of com.google.api.ads.admanager.axis.v202205.DateRange in project candlepin by candlepin.

the class InstalledProductStatusCalculatorTest method validRangeForSingleValidEnitlement.

@Test
public void validRangeForSingleValidEnitlement() {
    Owner owner = TestUtil.createOwner();
    owner.setContentAccessMode("entitlement");
    Product product = TestUtil.createProduct("p1", "product1");
    Consumer consumer = this.mockConsumer(owner, product);
    DateRange range = this.rangeRelativeToDate(new Date(), -6, 6);
    Entitlement entitlement = this.mockEntitlement(owner, consumer, product, range, product);
    consumer.addEntitlement(entitlement);
    this.mockConsumerEntitlements(consumer, consumer.getEntitlements());
    this.mockOwnerProducts(owner, Arrays.asList(product));
    this.consumerEnricher.enrich(consumer);
    ConsumerInstalledProduct cip = this.getInstalledProduct(consumer, product);
    assertEquals(Util.toDate(range.getStartDate()), cip.getStartDate());
    assertEquals(Util.toDate(range.getEndDate()), cip.getEndDate());
}
Also used : Owner(org.candlepin.model.Owner) DateRange(org.candlepin.dto.api.v1.DateRange) Consumer(org.candlepin.model.Consumer) ConsumerInstalledProduct(org.candlepin.model.ConsumerInstalledProduct) Product(org.candlepin.model.Product) ConsumerInstalledProduct(org.candlepin.model.ConsumerInstalledProduct) Entitlement(org.candlepin.model.Entitlement) Date(java.util.Date) Test(org.junit.jupiter.api.Test)

Example 29 with DateRange

use of com.google.api.ads.admanager.axis.v202205.DateRange in project candlepin by candlepin.

the class InstalledProductStatusCalculatorTest method validRangeWithMultipleWhereOneConsumesTheOthersSpan.

@Test
public void validRangeWithMultipleWhereOneConsumesTheOthersSpan() {
    Date now = new Date();
    Owner owner = TestUtil.createOwner();
    owner.setContentAccessMode("entitlement");
    Product product = TestUtil.createProduct("p1", "product1");
    Consumer consumer = this.mockConsumer(owner, product);
    consumer.setCreated(now);
    DateRange range1 = this.rangeRelativeToDate(now, -4, 4);
    DateRange range2 = this.rangeRelativeToDate(now, 0, 2);
    consumer.addEntitlement(this.mockEntitlement(owner, consumer, product, range2, product));
    consumer.addEntitlement(this.mockEntitlement(owner, consumer, product, range1, product));
    this.mockConsumerEntitlements(consumer, consumer.getEntitlements());
    this.mockOwnerProducts(owner, Arrays.asList(product));
    this.consumerEnricher.enrich(consumer);
    ConsumerInstalledProduct cip = this.getInstalledProduct(consumer, product);
    assertEquals(Util.toDate(range1.getStartDate()), cip.getStartDate());
    assertEquals(Util.toDate(range1.getEndDate()), cip.getEndDate());
}
Also used : Owner(org.candlepin.model.Owner) DateRange(org.candlepin.dto.api.v1.DateRange) Consumer(org.candlepin.model.Consumer) ConsumerInstalledProduct(org.candlepin.model.ConsumerInstalledProduct) Product(org.candlepin.model.Product) ConsumerInstalledProduct(org.candlepin.model.ConsumerInstalledProduct) Date(java.util.Date) Test(org.junit.jupiter.api.Test)

Example 30 with DateRange

use of com.google.api.ads.admanager.axis.v202205.DateRange in project candlepin by candlepin.

the class InstalledProductStatusCalculatorTest method validRangeIgnoresFutureWithNoOverlap.

@Test
public void validRangeIgnoresFutureWithNoOverlap() {
    Date now = new Date();
    Owner owner = TestUtil.createOwner();
    owner.setContentAccessMode("entitlement");
    Product product = TestUtil.createProduct("p1", "product1");
    Consumer consumer = this.mockConsumer(owner, product);
    consumer.setCreated(now);
    DateRange range1 = this.rangeRelativeToDate(now, 6, 12);
    DateRange range2 = this.rangeRelativeToDate(now, -1, 4);
    consumer.addEntitlement(this.mockEntitlement(owner, consumer, product, range2, product));
    consumer.addEntitlement(this.mockEntitlement(owner, consumer, product, range1, product));
    this.mockConsumerEntitlements(consumer, consumer.getEntitlements());
    this.mockOwnerProducts(owner, Arrays.asList(product));
    this.consumerEnricher.enrich(consumer);
    ConsumerInstalledProduct cip = this.getInstalledProduct(consumer, product);
    assertEquals(Util.toDate(range2.getStartDate()), cip.getStartDate());
    assertEquals(Util.toDate(range2.getEndDate()), cip.getEndDate());
}
Also used : Owner(org.candlepin.model.Owner) DateRange(org.candlepin.dto.api.v1.DateRange) Consumer(org.candlepin.model.Consumer) ConsumerInstalledProduct(org.candlepin.model.ConsumerInstalledProduct) Product(org.candlepin.model.Product) ConsumerInstalledProduct(org.candlepin.model.ConsumerInstalledProduct) Date(java.util.Date) Test(org.junit.jupiter.api.Test)

Aggregations

DateRange (org.candlepin.dto.api.v1.DateRange)30 Date (java.util.Date)29 ConsumerInstalledProduct (org.candlepin.model.ConsumerInstalledProduct)27 Product (org.candlepin.model.Product)27 Consumer (org.candlepin.model.Consumer)26 Owner (org.candlepin.model.Owner)26 Test (org.junit.jupiter.api.Test)26 Random (java.util.Random)4 DateTime (org.joda.time.DateTime)4 Interval (org.joda.time.Interval)4 HashSet (java.util.HashSet)3 Entitlement (org.candlepin.model.Entitlement)3 ComplianceStatus (org.candlepin.policy.js.compliance.ComplianceStatus)3 Date (com.google.api.ads.admanager.axis.v202108.Date)2 DateRange (com.google.api.ads.admanager.axis.v202108.DateRange)2 Date (com.google.api.ads.admanager.axis.v202111.Date)2 DateRange (com.google.api.ads.admanager.axis.v202111.DateRange)2 Date (com.google.api.ads.admanager.axis.v202202.Date)2 DateRange (com.google.api.ads.admanager.axis.v202202.DateRange)2 Date (com.google.api.ads.admanager.axis.v202205.Date)2