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)
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
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)
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
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)
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_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)
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')