diff --git a/robottelo/cli/contentview.py b/robottelo/cli/contentview.py index 57d69b7dd29..5dfcd87721b 100644 --- a/robottelo/cli/contentview.py +++ b/robottelo/cli/contentview.py @@ -209,3 +209,9 @@ def component_list(cls, options=None): """List components attached to the content view""" cls.command_sub = 'component list' return cls.execute(cls._construct_command(options), output_format='csv') + + @classmethod + def list(cls, options=None): + """List information about content views""" + cls.command_sub = 'list' + return cls.execute(cls._construct_command(options), output_format='csv') diff --git a/tests/foreman/cli/test_contentview.py b/tests/foreman/cli/test_contentview.py index f9b6829f348..4fb072c1939 100644 --- a/tests/foreman/cli/test_contentview.py +++ b/tests/foreman/cli/test_contentview.py @@ -3228,6 +3228,46 @@ def test_version_info_by_lce(self, module_org, module_target_sat): ) assert content_view['version'] == '1.0' + @pytest.mark.tier2 + def test_show_all_repo_ids(self, module_org, module_product, module_target_sat): + """Hammer content-view list shows all repo ids + + :id: 56d716f1-85cf-47d7-a8e6-29788374d318 + + :steps: + 1. Add a large number of repositories to a CV + 2. Publish the CV + 3. Run hammer content-view list + + :expectedresults: All IDs for the repo are listed, and not truncated + + :BZ: 2141421 + + :customerscenario: true + """ + # Create 30 repositories + repolist = [] + id_list = [] + for _ in range(30): + repo = module_target_sat.api.Repository( + product=module_product, + checksum_type='sha256', + mirroring_policy='additive', + download_policy='immediate', + ).create() + repolist.append(repo) + id_list.append(str(repo.id)) + # Sync and publish all repos + cv = module_target_sat.api.ContentView( + organization=module_org, repository=repolist + ).create() + for repo in repolist: + repo.sync() + cv.publish() + # Run content-view list --name cv.name + list_info = module_target_sat.cli.ContentView.list({'name': cv.name}) + assert set(list_info[0]['repository-ids'].split(', ')) == set(id_list) + def test_positive_validate_force_promote_warning(self, target_sat, function_org): """Test cv promote shows warning of 'force promotion' for out of sequence LCE