def test_filter_no_overlap_with_future_entitlement(self): product1 = "Test Product 1" provided1 = "Provided By Test Product 1" cert_start = datetime.now() + timedelta(days=365) cert_end = cert_start + timedelta(days=365) cert1 = StubProductCertificate(StubProduct(provided1), start_date=cert_start, end_date=cert_end) ent_dir = StubCertificateDirectory([cert1]) pool_filter = PoolFilter(product_dir=StubCertificateDirectory([]), entitlement_dir=ent_dir) begin_date = datetime.now() - timedelta(days=100) end_date = datetime.now() + timedelta(days=100) pools = [ create_pool(product1, product1, provided_products=[provided1], start_end_range=DateRange(begin_date, end_date)), ] result = pool_filter.filter_out_overlapping(pools) self.assertEquals(1, len(result)) result = pool_filter.filter_out_non_overlapping(pools) self.assertEquals(0, len(result))
def test_filter_product_name_matches_provided(self): product1 = 'Foo Product' product2 = 'Bar Product' pd = StubCertificateDirectory([]) pool_filter = PoolFilter(product_dir=pd, entitlement_dir=StubCertificateDirectory([])) pools = [ create_pool(product1, product1, provided_products=[product2]), ] result = pool_filter.filter_product_name(pools, "Bar") self.assertEquals(1, len(result)) self.assertEquals(product1, result[0]['productId'])
def test_installed_filter_provided_match(self): product1 = 'product1' product2 = 'product2' provided = 'providedProduct' pd = StubCertificateDirectory( [StubProductCertificate(StubProduct(provided))]) pool_filter = PoolFilter(product_dir=pd, entitlement_dir=StubCertificateDirectory([])) pools = [ create_pool(product1, product1), create_pool(product2, product2, provided_products=[provided]), ] result = pool_filter.filter_out_installed(pools) self.assertEquals(1, len(result)) self.assertEquals(product1, result[0]['productId'])
def test_filter_no_overlap(self): product1 = "Test Product 1" provided1 = "Provided By Test Product 1" pd = StubCertificateDirectory([]) pool_filter = PoolFilter(product_dir=pd, entitlement_dir=StubCertificateDirectory([])) begin_date = datetime.now() - timedelta(days=10) end_date = datetime.now() + timedelta(days=365) pools = [ create_pool(product1, product1, provided_products=[provided1], start_end_range=DateRange(begin_date, end_date)), ] result = pool_filter.filter_out_overlapping(pools) self.assertEquals(1, len(result)) result = pool_filter.filter_out_non_overlapping(pools) self.assertEquals(0, len(result))