def main(options, log):

    if RhicCertificate.existsAndValid():
        facts = Facts(ent_dir=EntitlementDirectory(),
                              prod_dir=ProductDirectory())
        iproducts = managerlib.getInstalledProductStatus(ProductDirectory(),
                EntitlementDirectory(), facts.get_facts())

        product_certs = []
        for product in iproducts:
            product_certs.append(product[1])

        certs = []
        try:
            certs = rhiclib.getCerts(facts.to_dict(), product_certs)
        except connection.NetworkException, e:
            if e.code == 410:
                print _("RHIC was deleted by upstream server. See rhsm.log for more detail.")
                RhicCertificate.move()
                sys.exit(-1)
            else:
                raise
        except connection.RemoteServerException, e:
            if e.code == 404:
                print _("RHIC was not found by upstream server. See rhsm.log for more detail.")
                RhicCertificate.move()
                sys.exit(-1)
            else:
                raise
    def test_entitlement_for_not_installed_product_shows_not_installed(self):
        product_directory = StubCertificateDirectory([])
        entitlement_directory = StubCertificateDirectory([StubEntitlementCertificate(StubProduct("product1"))])

        product_status = getInstalledProductStatus(product_directory, entitlement_directory)

        # no product certs installed...
        self.assertEquals(0, len(product_status))
    def test_no_entitlement_for_installed_product_shows_no_subscribed(self):
        product = StubProduct("product1")
        product_directory = StubCertificateDirectory([StubProductCertificate(product)])
        entitlement_directory = StubCertificateDirectory([])

        product_status = getInstalledProductStatus(product_directory, entitlement_directory)

        self.assertEquals(1, len(product_status))
        self.assertEquals("not_subscribed", product_status[0][4])
Example #4
0
    def test_entitlement_for_not_installed_product_shows_not_installed(self):
        product_directory = StubCertificateDirectory([])
        entitlement_directory = StubCertificateDirectory(
            [StubEntitlementCertificate(StubProduct("product1"))])

        product_status = getInstalledProductStatus(product_directory,
                                                   entitlement_directory)

        # no product certs installed...
        self.assertEquals(0, len(product_status))
    def test_future_dated_entitlement_shows_future_subscribed(self):
        product = StubProduct("product1")
        product_directory = StubCertificateDirectory([StubProductCertificate(product)])
        entitlement_directory = StubCertificateDirectory(
            [StubEntitlementCertificate(product, start_date=(datetime.now() + timedelta(days=1365)))]
        )

        product_status = getInstalledProductStatus(product_directory, entitlement_directory)
        self.assertEquals(1, len(product_status))
        self.assertEquals("future_subscribed", product_status[0][4])
Example #6
0
    def test_no_entitlement_for_installed_product_shows_no_subscribed(self):
        product = StubProduct("product1")
        product_directory = StubCertificateDirectory(
            [StubProductCertificate(product)])
        entitlement_directory = StubCertificateDirectory([])

        product_status = getInstalledProductStatus(product_directory,
                                                   entitlement_directory)

        self.assertEquals(1, len(product_status))
        self.assertEquals("not_subscribed", product_status[0][4])
    def test_one_product_with_two_entitlements_lists_product_twice(self):
        product = StubProduct("product1")
        product_directory = StubCertificateDirectory([StubProductCertificate(product)])
        entitlement_directory = StubCertificateDirectory(
            [StubEntitlementCertificate(product), StubEntitlementCertificate(product)]
        )

        product_status = getInstalledProductStatus(product_directory, entitlement_directory)

        # only "product" is installed
        self.assertEquals(1, len(product_status))
    def test_expired_entitlement_for_installed_product_shows_expired(self):
        product = StubProduct("product1")
        product_directory = StubCertificateDirectory([StubProductCertificate(product)])
        entitlement_directory = StubCertificateDirectory(
            [StubEntitlementCertificate(product, end_date=(datetime.now() - timedelta(days=2)))]
        )

        product_status = getInstalledProductStatus(product_directory, entitlement_directory)

        self.assertEquals(1, len(product_status))
        self.assertEquals("expired", product_status[0][4])
Example #9
0
    def test_one_product_with_two_entitlements_lists_product_twice(self):
        product = StubProduct("product1")
        product_directory = StubCertificateDirectory(
            [StubProductCertificate(product)])
        entitlement_directory = StubCertificateDirectory([
            StubEntitlementCertificate(product),
            StubEntitlementCertificate(product)
        ])

        product_status = getInstalledProductStatus(product_directory,
                                                   entitlement_directory)

        # only "product" is installed
        self.assertEquals(1, len(product_status))
Example #10
0
    def test_future_dated_entitlement_shows_future_subscribed(self):
        product = StubProduct("product1")
        product_directory = StubCertificateDirectory(
            [StubProductCertificate(product)])
        entitlement_directory = StubCertificateDirectory([
            StubEntitlementCertificate(product,
                                       start_date=(datetime.now() +
                                                   timedelta(days=1365)))
        ])

        product_status = getInstalledProductStatus(product_directory,
                                                   entitlement_directory)
        self.assertEquals(1, len(product_status))
        self.assertEquals("future_subscribed", product_status[0][4])
Example #11
0
    def test_expired_entitlement_for_installed_product_shows_expired(self):
        product = StubProduct("product1")
        product_directory = StubCertificateDirectory(
            [StubProductCertificate(product)])
        entitlement_directory = StubCertificateDirectory([
            StubEntitlementCertificate(product,
                                       end_date=(datetime.now() -
                                                 timedelta(days=2)))
        ])

        product_status = getInstalledProductStatus(product_directory,
                                                   entitlement_directory)

        self.assertEquals(1, len(product_status))
        self.assertEquals("expired", product_status[0][4])
    def test_one_subscription_with_bundled_products_lists_once(self):
        product1 = StubProduct("product1")
        product2 = StubProduct("product2")
        product3 = StubProduct("product3")
        product_directory = StubCertificateDirectory([StubProductCertificate(product1)])
        entitlement_directory = StubCertificateDirectory(
            [StubEntitlementCertificate(product1, [product2, product3], sockets=10)]
        )

        product_status = getInstalledProductStatus(product_directory, entitlement_directory)

        # neither product3 or product 2 are installed
        self.assertEquals(1, len(product_status))
        #        self.assertEquals("product3", product_status[0][0])
        #        self.assertEquals("Not Installed", product_status[0][3])
        #       self.assertEquals("product2", product_status[1][0])
        #       self.assertEquals("Not Installed", product_status[1][3])
        self.assertEquals("product1", product_status[0][0])
        self.assertEquals("subscribed", product_status[0][4])
Example #13
0
    def test_one_subscription_with_bundled_products_lists_once(self):
        product1 = StubProduct("product1")
        product2 = StubProduct("product2")
        product3 = StubProduct("product3")
        product_directory = StubCertificateDirectory(
            [StubProductCertificate(product1)])
        entitlement_directory = StubCertificateDirectory([
            StubEntitlementCertificate(product1, [product2, product3],
                                       sockets=10)
        ])

        product_status = getInstalledProductStatus(product_directory,
                                                   entitlement_directory)

        # neither product3 or product 2 are installed
        self.assertEquals(1, len(product_status))
        #        self.assertEquals("product3", product_status[0][0])
        #        self.assertEquals("Not Installed", product_status[0][3])
        #       self.assertEquals("product2", product_status[1][0])
        #       self.assertEquals("Not Installed", product_status[1][3])
        self.assertEquals("product1", product_status[0][0])
        self.assertEquals("subscribed", product_status[0][4])