示例#1
0
    def test_list_consumed_with_pidonly(self):
        consumed = [
            StubEntitlementCertificate(
                product=StubProduct(name="Test Entitlement 1",
                                    product_id="123"),
                pool=StubPool("abc"),
                provided_products=[
                    "test product a", "beta product 1", "shared product",
                    "troll* product?"
                ],
            ),
            StubEntitlementCertificate(
                product=StubProduct(name="Test Entitlement 2",
                                    product_id="456"),
                pool=StubPool("def"),
                provided_products=[
                    "test product b", "beta product 1", "shared product",
                    "back\\slash"
                ],
            ),
        ]

        for stubby in consumed:
            self.ent_dir.certs.append(stubby)

        with Capture() as captured:
            list_command = managercli.ListCommand()
            list_command.main(["--consumed", "--pool-only"])

        for cert in consumed:
            self.assertFalse(cert.order.name in captured.out)
            self.assertTrue(cert.pool.id in captured.out)
示例#2
0
    def test_list_installed(self):
        """
        Test output of 'subscription-manager list --installed'
        """
        installed_product_certs = [
            StubProductCertificate(product=StubProduct(name="test product",
                                                       product_id="8675309")),
            StubProductCertificate(product=StubProduct(
                name="another test product", product_id="123456")),
        ]

        stub_sorter = StubCertSorter()

        for product_cert in installed_product_certs:
            product = product_cert.products[0]
            stub_sorter.installed_products[product.id] = product_cert

        provide(CERT_SORTER, stub_sorter)

        with Capture() as captured:
            list_command = managercli.ListCommand()
            list_command.main(["--installed"])
            assert "Product Name:" in captured.out
            assert "Product ID:" in captured.out
            assert "Version:" in captured.out
            assert "Arch:" in captured.out
            assert "Status:" in captured.out
            assert "Status Details:" in captured.out
            assert "Starts:" in captured.out
            assert "Ends:" in captured.out
示例#3
0
    def test_list_installed_with_pidonly(self):
        installed_product_certs = [
            StubProductCertificate(product=StubProduct(name="test product*",
                                                       product_id="8675309")),
            StubProductCertificate(product=StubProduct(
                name="another(?) test\\product", product_id="123456")),
        ]

        stub_sorter = StubCertSorter()

        for product_cert in installed_product_certs:
            product = product_cert.products[0]
            stub_sorter.installed_products[product.id] = product_cert

        provide(CERT_SORTER, stub_sorter)

        try:
            with Capture() as captured:
                list_command = managercli.ListCommand()
                list_command.main(["--installed", "--pool-only"])

            self.fail("Expected error did not occur")
        except SystemExit:
            for cert in installed_product_certs:
                self.assertFalse(cert.products[0].id in captured.out)
示例#4
0
    def test_list_installed_sca_mode(self, is_simple_content_access_mock):
        """
        Test output of 'subscription-manager list --installed', when SCA mode is used
        """
        is_simple_content_access_mock.return_value = True

        installed_product_certs = [
            StubProductCertificate(product=StubProduct(name="test product",
                                                       product_id="8675309")),
            StubProductCertificate(product=StubProduct(
                name="another test product", product_id="123456")),
        ]

        stub_sorter = StubCertSorter()

        for product_cert in installed_product_certs:
            product = product_cert.products[0]
            stub_sorter.installed_products[product.id] = product_cert

        provide(CERT_SORTER, stub_sorter)

        with Capture() as captured:
            list_command = managercli.ListCommand()
            list_command.main(["--installed"])
            assert "Product Name:" in captured.out
            assert "Product ID:" in captured.out
            assert "Version:" in captured.out
            assert "Arch:" in captured.out
            # Following attributes should not be printed in SCA mode, because it does not make
            # any sense to print them in SCA mode
            assert "Status:" not in captured.out
            assert "Status Details:" not in captured.out
            assert "Starts:" not in captured.out
            assert "Ends:" not in captured.out
示例#5
0
    def test_none_wrap_available_pool_id(self, mget_ents):
        list_command = managercli.ListCommand()

        def create_pool_list(*args, **kwargs):
            return [{
                "productName": "dummy-name",
                "productId": "dummy-id",
                "providedProducts": [],
                "id": "888888888888",
                "management_enabled": True,
                "attributes": [{
                    "name": "is_virt_only",
                    "value": "false"
                }],
                "pool_type": "Some Type",
                "quantity": "4",
                "service_type": "",
                "roles": "awesome server",
                "service_level": "",
                "usage": "Production",
                "addons": "",
                "contractNumber": "5",
                "multi-entitlement": "false",
                "startDate": "",
                "endDate": "",
                "suggested": "2",
            }]

        mget_ents.return_value = create_pool_list()

        with Capture() as cap:
            list_command.main(["--available"])
        self.assertTrue("888888888888" in cap.out)
    def test_none_wrap_available_pool_id(self, mcli, mc_exists,
                                         mc_exists_and_valid):
        listCommand = managercli.ListCommand()

        def create_pool_list(self, one, two, three, four):
            return [{
                'productName': 'dummy-name',
                'productId': 'dummy-id',
                'id': '888888888888',
                'attributes': [{
                    'name': 'is_virt_only',
                    'value': 'false'
                }],
                'quantity': '4',
                'service_level': '',
                'service_type': '',
                'multi-entitlement': 'false',
                'endDate': ''
            }]

        managerlib.get_available_entitlements = create_pool_list

        mc_exists_and_valid.return_value = True
        mc_exists.return_value = True

        mcli.return_value = {'consumer_name': 'stub_name', 'uuid': 'stub_uuid'}
        listCommand.main(['list', '--available'])
        self.assertTrue('888888888888' in sys.stdout.buffer)
示例#7
0
    def test_none_wrap_available_pool_id(self, mget_ents):
        list_command = managercli.ListCommand()

        def create_pool_list(*args, **kwargs):
            return [{
                'productName': 'dummy-name',
                'productId': 'dummy-id',
                'providedProducts': [],
                'id': '888888888888',
                'management_enabled': True,
                'attributes': [{
                    'name': 'is_virt_only',
                    'value': 'false'
                }],
                'pool_type': 'Some Type',
                'quantity': '4',
                'service_type': '',
                'roles': 'awesome server',
                'service_level': '',
                'usage': 'Production',
                'addons': '',
                'contractNumber': '5',
                'multi-entitlement': 'false',
                'startDate': '',
                'endDate': '',
                'suggested': '2'
            }]

        mget_ents.return_value = create_pool_list()

        with Capture() as cap:
            list_command.main(['--available'])
        self.assertTrue('888888888888' in cap.out)
示例#8
0
    def test_list_consumed_with_ctfilter(self):
        consumed = [
            StubEntitlementCertificate(
                product=StubProduct(name="Test Entitlement 1",
                                    product_id="123"),
                provided_products=[
                    "test product a", "beta product 1", "shared product",
                    "troll* product?"
                ]),
            StubEntitlementCertificate(
                product=StubProduct(name="Test Entitlement 2",
                                    product_id="456"),
                provided_products=[
                    "test product b", "beta product 1", "shared product",
                    "back\\slash"
                ])
        ]

        test_data = [
            ("", (False, False)),
            ("test entitlement ?", (True, True)),
            ("*entitlement 1", (True, False)),
            ("*entitlement 2", (False, True)),
            ("input string", (False, False)),
            ("*product", (True, True)),
            ("*product*", (True, True)),
            ("shared pro*nopenopenope", (False, False)),
            ("*another*", (False, False)),
            ("*product\\?", (True, False)),
            ("*product ?", (True, True)),
            ("*product?*", (True, True)),
            ("*\\?*", (True, False)),
            ("*\\\\*", (False, True)),
            ("*k\\s*", (False, True)),
            ("*23", (True, False)),
            ("45?", (False, True)),
        ]

        for stubby in consumed:
            self.ent_dir.certs.append(stubby)

        for (test_num, data) in enumerate(test_data):
            with Capture() as captured:
                list_command = managercli.ListCommand()
                list_command.main(["--consumed", "--matches", data[0]])

            for (index, expected) in enumerate(data[1]):
                if expected:
                    self.assertTrue(
                        consumed[index].order.name in captured.out,
                        "Expected product was not found in output for test data %i"
                        % test_num)
                else:
                    self.assertFalse(
                        consumed[index].order.name in captured.out,
                        "Unexpected product was found in output for test data %i"
                        % test_num)
示例#9
0
    def test_list_installed_with_ctfilter(self):
        installed_product_certs = [
            StubProductCertificate(product=StubProduct(name="test product*",
                                                       product_id="8675309")),
            StubProductCertificate(product=StubProduct(
                name="another(?) test\\product", product_id="123456")),
        ]

        test_data = [
            ("", (True, True)),
            ("input string", (False, False)),
            ("*product", (False, True)),
            ("*product*", (True, True)),
            ("*test pro*uct*", (True, False)),
            ("*test pro?uct*", (True, False)),
            ("*test pr*ct*", (True, False)),
            ("*test pr?ct*", (False, False)),
            ("*another*", (False, True)),
            ("*product\\*", (True, False)),
            ("*product?", (True, False)),
            ("*product?*", (True, False)),
            ("*(\\?)*", (False, True)),
            ("*test\\\\product", (False, True)),
        ]

        stub_sorter = StubCertSorter()

        for product_cert in installed_product_certs:
            product = product_cert.products[0]
            stub_sorter.installed_products[product.id] = product_cert

        provide(CERT_SORTER, stub_sorter)

        for (test_num, data) in enumerate(test_data):
            with Capture() as captured:
                list_command = managercli.ListCommand()
                list_command.main(["--installed", "--matches", data[0]])

            for (index, expected) in enumerate(data[1]):
                if expected:
                    self.assertTrue(
                        installed_product_certs[index].name in captured.out,
                        "Expected product was not found in output for test data %i"
                        % test_num,
                    )
                else:
                    self.assertFalse(
                        installed_product_certs[index].name in captured.out,
                        "Unexpected product was found in output for test data %i"
                        % test_num,
                    )
 def test_none_wrap(self):
     listCommand = managercli.ListCommand()
     result = listCommand._none_wrap('foo %s %s', 'doberman pinscher', None)
     self.assertEquals(result, 'foo doberman pinscher None')