diff --git a/conf/container.yaml.template b/conf/container.yaml.template new file mode 100644 index 0000000000..d3b88322e5 --- /dev/null +++ b/conf/container.yaml.template @@ -0,0 +1,15 @@ +--- +CONTAINER: + CLIENTS: + - docker + - podman + REGISTRY_HUB: https://mirror.gcr.io + UPSTREAM_NAME: 'library/busybox' + DOCKER: + REPO_UPSTREAM_NAME: 'openshift3/logging-elasticsearch' + PULP: + REGISTRY_HUB: 'https://ghcr.io' + RH: + REGISTRY_HUB: 'https://registry.redhat.io/' + UPSTREAM_NAME: 'openshift3/ose-metrics-hawkular-openshift-agent' +... diff --git a/robottelo/config/validators.py b/robottelo/config/validators.py index 665347715b..277b2140d4 100644 --- a/robottelo/config/validators.py +++ b/robottelo/config/validators.py @@ -85,6 +85,47 @@ Validator('libvirt.libvirt_hostname', must_exist=True), Validator('libvirt.libvirt_image_dir', default='/var/lib/libvirt/images'), ], + container=[ + Validator( + 'container.clients', must_exist=True, is_type_of=list, default=['docker', 'podman'] + ), + Validator( + 'container.registry_hub', + must_exist=True, + is_type_of=str, + default='https://mirror.gcr.io', + ), + Validator( + 'container.upstream_name', + must_exist=True, + is_type_of=str, + default='library/busybox', + ), + Validator( + 'container.docker.repo_upstream_name', + must_exist=True, + is_type_of=str, + default='openshift3/logging-elasticsearch', + ), + Validator( + 'container.pulp.registry_hub', + must_exist=True, + is_type_of=str, + default='https://ghcr.io', + ), + Validator( + 'container.rh.registry_hub', + must_exist=True, + is_type_of=str, + default='https://registry.redhat.io/', + ), + Validator( + 'container.rh.upstream_name', + must_exist=True, + is_type_of=str, + default='openshift3/ose-metrics-hawkular-openshift-agent', + ), + ], container_repo=[ Validator( 'container_repo.registries.redhat.url', diff --git a/robottelo/constants/__init__.py b/robottelo/constants/__init__.py index b2a7125428..7c60c4b11c 100644 --- a/robottelo/constants/__init__.py +++ b/robottelo/constants/__init__.py @@ -715,12 +715,6 @@ FILTER_ERRATA_DATE = {'updated': "updated", 'issued': "issued"} REPORT_TEMPLATE_FILE = 'report_template.txt' -CONTAINER_REGISTRY_HUB = 'https://mirror.gcr.io' -RH_CONTAINER_REGISTRY_HUB = 'https://registry.redhat.io/' -CONTAINER_UPSTREAM_NAME = 'library/busybox' -DOCKER_REPO_UPSTREAM_NAME = 'openshift3/logging-elasticsearch' -CONTAINER_RH_REGISTRY_UPSTREAM_NAME = 'openshift3/ose-metrics-hawkular-openshift-agent' -CONTAINER_CLIENTS = ['docker', 'podman'] CUSTOM_LOCAL_FOLDER = '/var/lib/pulp/imports/myrepo/' CUSTOM_LOCAL_FILE = '/var/lib/pulp/imports/myrepo/test.txt' CUSTOM_FILE_REPO_FILES_COUNT = 3 diff --git a/tests/foreman/api/test_capsulecontent.py b/tests/foreman/api/test_capsulecontent.py index 69c3c5fd63..13c2479dd7 100644 --- a/tests/foreman/api/test_capsulecontent.py +++ b/tests/foreman/api/test_capsulecontent.py @@ -25,9 +25,6 @@ from robottelo.config import settings from robottelo.constants import ( - CONTAINER_CLIENTS, - CONTAINER_REGISTRY_HUB, - CONTAINER_UPSTREAM_NAME, ENVIRONMENT, FAKE_1_YUM_REPOS_COUNT, FAKE_3_YUM_REPO_RPMS, @@ -39,7 +36,6 @@ PRDS, REPOS, REPOSET, - RH_CONTAINER_REGISTRY_HUB, RPM_TO_UPLOAD, DataFile, ) @@ -961,7 +957,7 @@ def test_positive_sync_container_repo_end_to_end( for repo in repos ] - for con_client in CONTAINER_CLIENTS: + for con_client in settings.container.clients: result = module_container_contenthost.execute( f'{con_client} login -u {settings.server.admin_username}' f' -p {settings.server.admin_password} {module_capsule_configured.hostname}' @@ -1468,7 +1464,7 @@ def test_positive_capsule_sync_openstack_container_repos( content_type='docker', docker_upstream_name=ups_name, product=function_product, - url=RH_CONTAINER_REGISTRY_HUB, + url=settings.container.rh.registry_hub, upstream_username=settings.subscription.rhn_username, upstream_password=settings.subscription.rhn_password, ).create() @@ -1506,8 +1502,8 @@ def test_positive_capsule_sync_openstack_container_repos( 'YumRepository': {'url': settings.repos.module_stream_1.url}, 'FileRepository': {'url': CUSTOM_FILE_REPO}, 'DockerRepository': { - 'url': CONTAINER_REGISTRY_HUB, - 'upstream_name': CONTAINER_UPSTREAM_NAME, + 'url': settings.container.registry_hub, + 'upstream_name': settings.container.upstream_name, }, 'AnsibleRepository': { 'url': ANSIBLE_GALAXY, diff --git a/tests/foreman/api/test_contentview.py b/tests/foreman/api/test_contentview.py index f2366ec1b3..328a8ae573 100644 --- a/tests/foreman/api/test_contentview.py +++ b/tests/foreman/api/test_contentview.py @@ -20,7 +20,6 @@ from robottelo.config import settings, user_nailgun_config from robottelo.constants import ( - CONTAINER_REGISTRY_HUB, CUSTOM_RPM_SHA_512_FEED_COUNT, PERMISSIONS, PRDS, @@ -1105,7 +1104,7 @@ def initiate_testclass(self, request, module_product, class_target_sat): content_type='docker', docker_upstream_name='busybox', product=module_product, - url=CONTAINER_REGISTRY_HUB, + url=settings.container.registry_hub, ).create() self.docker_repo.sync() diff --git a/tests/foreman/api/test_contentviewfilter.py b/tests/foreman/api/test_contentviewfilter.py index be3dcc9835..02f05562dc 100644 --- a/tests/foreman/api/test_contentviewfilter.py +++ b/tests/foreman/api/test_contentviewfilter.py @@ -23,7 +23,6 @@ from requests.exceptions import HTTPError from robottelo.config import settings -from robottelo.constants import CONTAINER_REGISTRY_HUB from robottelo.utils.datafactory import ( parametrized, valid_data_list, @@ -217,7 +216,7 @@ def test_positive_create_with_docker_repos( content_type='docker', docker_upstream_name='busybox', product=module_product.id, - url=CONTAINER_REGISTRY_HUB, + url=settings.container.registry_hub, ).create() content_view.repository = [sync_repo, docker_repository] content_view.update(['repository']) @@ -428,7 +427,7 @@ def test_positive_update_repo_with_docker( content_type='docker', docker_upstream_name='busybox', product=module_product.id, - url=CONTAINER_REGISTRY_HUB, + url=settings.container.registry_hub, ).create() content_view.repository = [sync_repo, docker_repository] content_view = content_view.update(['repository']) diff --git a/tests/foreman/api/test_docker.py b/tests/foreman/api/test_docker.py index fe182dc44c..a79dc932c4 100644 --- a/tests/foreman/api/test_docker.py +++ b/tests/foreman/api/test_docker.py @@ -14,7 +14,7 @@ import pytest from requests.exceptions import HTTPError -from robottelo.constants import CONTAINER_REGISTRY_HUB, CONTAINER_UPSTREAM_NAME +from robottelo.config import settings from robottelo.utils.datafactory import ( generate_strings_list, invalid_docker_upstream_names, @@ -33,19 +33,19 @@ def _create_repository(module_target_sat, product, name=None, upstream_name=None :param str name: Name for the repository. If ``None`` then a random value will be generated. :param str upstream_name: A valid name of an existing upstream repository. - If ``None`` then defaults to CONTAINER_UPSTREAM_NAME. + If ``None`` then defaults to settings.container.upstream_name. :return: A ``Repository`` object. """ if name is None: name = choice(generate_strings_list(15, ['numeric', 'html'])) if upstream_name is None: - upstream_name = CONTAINER_UPSTREAM_NAME + upstream_name = settings.container.upstream_name return module_target_sat.api.Repository( content_type='docker', docker_upstream_name=upstream_name, name=name, product=product, - url=CONTAINER_REGISTRY_HUB, + url=settings.container.registry_hub, ).create() @@ -116,7 +116,7 @@ def test_positive_create_with_name(self, module_product, name, module_target_sat """ repo = _create_repository(module_target_sat, module_product, name) assert repo.name == name - assert repo.docker_upstream_name == CONTAINER_UPSTREAM_NAME + assert repo.docker_upstream_name == settings.container.upstream_name assert repo.content_type == 'docker' @pytest.mark.tier1 @@ -221,7 +221,7 @@ def test_positive_update_upstream_name(self, repo): :CaseImportance: Critical """ - assert repo.docker_upstream_name == CONTAINER_UPSTREAM_NAME + assert repo.docker_upstream_name == settings.container.upstream_name # Update the repository upstream name new_upstream_name = 'fedora/ssh' @@ -240,14 +240,14 @@ def test_positive_update_url(self, repo): :BZ: 1489322 """ - assert repo.url == CONTAINER_REGISTRY_HUB + assert repo.url == settings.container.registry_hub # Update the repository URL new_url = gen_url() repo.url = new_url repo = repo.update() assert repo.url == new_url - assert repo.url != CONTAINER_REGISTRY_HUB + assert repo.url != settings.container.registry_hub @pytest.mark.tier1 def test_positive_delete(self, repo): diff --git a/tests/foreman/api/test_http_proxy.py b/tests/foreman/api/test_http_proxy.py index cbfe356554..565b3b7f9f 100644 --- a/tests/foreman/api/test_http_proxy.py +++ b/tests/foreman/api/test_http_proxy.py @@ -17,10 +17,6 @@ from robottelo import constants from robottelo.config import settings -from robottelo.constants import ( - CONTAINER_REGISTRY_HUB, - CONTAINER_UPSTREAM_NAME, -) from robottelo.constants.repos import ANSIBLE_GALAXY, CUSTOM_FILE_REPO @@ -43,8 +39,8 @@ 'YumRepository': {'url': settings.repos.module_stream_1.url}, 'FileRepository': {'url': CUSTOM_FILE_REPO}, 'DockerRepository': { - 'url': CONTAINER_REGISTRY_HUB, - 'upstream_name': CONTAINER_UPSTREAM_NAME, + 'url': settings.container.registry_hub, + 'upstream_name': settings.container.upstream_name, }, 'AnsibleRepository': { 'url': ANSIBLE_GALAXY, diff --git a/tests/foreman/api/test_product.py b/tests/foreman/api/test_product.py index cbaf08fbd7..5d54e4c462 100644 --- a/tests/foreman/api/test_product.py +++ b/tests/foreman/api/test_product.py @@ -21,8 +21,6 @@ from robottelo.config import settings from robottelo.constants import ( - CONTAINER_REGISTRY_HUB, - CONTAINER_UPSTREAM_NAME, REPO_TYPE, DataFile, ) @@ -348,9 +346,9 @@ def test_positive_sync_several_repos(module_org, module_target_sat): ).create() docker_repo = module_target_sat.api.Repository( content_type=REPO_TYPE['docker'], - docker_upstream_name=CONTAINER_UPSTREAM_NAME, + docker_upstream_name=settings.container.upstream_name, product=product, - url=CONTAINER_REGISTRY_HUB, + url=settings.container.registry_hub, ).create() assert rpm_repo.read().content_counts['rpm'] == 0 assert docker_repo.read().content_counts['docker_tag'] == 0 diff --git a/tests/foreman/api/test_repository.py b/tests/foreman/api/test_repository.py index 9f786e04cf..19cf6ee46b 100644 --- a/tests/foreman/api/test_repository.py +++ b/tests/foreman/api/test_repository.py @@ -1561,9 +1561,9 @@ class TestDockerRepository: [ { 'content_type': 'docker', - 'docker_upstream_name': constants.CONTAINER_UPSTREAM_NAME, + 'docker_upstream_name': settings.container.upstream_name, 'name': name, - 'url': constants.CONTAINER_REGISTRY_HUB, + 'url': settings.container.registry_hub, } for name in datafactory.valid_docker_repository_names() ] @@ -1591,9 +1591,9 @@ def test_positive_create(self, repo_options, repo): { 'large_repo': { 'content_type': 'docker', - 'docker_upstream_name': constants.DOCKER_REPO_UPSTREAM_NAME, + 'docker_upstream_name': settings.container.docker.repo_upstream_name, 'name': gen_string('alphanumeric', 10), - 'url': constants.RH_CONTAINER_REGISTRY_HUB, + 'url': settings.container.rh.registry_hub, 'upstream_username': settings.subscription.rhn_username, 'upstream_password': settings.subscription.rhn_password, } @@ -1634,11 +1634,11 @@ def test_positive_cancel_docker_repo_sync(self, repo, target_sat): 'repo_options_custom_product', **datafactory.parametrized( { - constants.CONTAINER_UPSTREAM_NAME: { + settings.container.upstream_name: { 'content_type': 'docker', - 'docker_upstream_name': constants.CONTAINER_UPSTREAM_NAME, + 'docker_upstream_name': settings.container.upstream_name, 'name': gen_string('alphanumeric', 10), - 'url': constants.CONTAINER_REGISTRY_HUB, + 'url': settings.container.registry_hub, } } ), @@ -1813,12 +1813,12 @@ def test_negative_synchronize_private_registry_no_passwd( 'repo_options', **datafactory.parametrized( { - constants.CONTAINER_UPSTREAM_NAME: { + settings.container.upstream_name: { 'content_type': 'docker', 'include_tags': ['latest'], - 'docker_upstream_name': constants.CONTAINER_UPSTREAM_NAME, + 'docker_upstream_name': settings.container.upstream_name, 'name': gen_string('alphanumeric', 10), - 'url': constants.CONTAINER_REGISTRY_HUB, + 'url': settings.container.registry_hub, } } ), @@ -1846,11 +1846,11 @@ def test_positive_synchronize_docker_repo_with_included_tags(self, repo_options, 'repo_options', **datafactory.parametrized( { - constants.CONTAINER_UPSTREAM_NAME: { + settings.container.upstream_name: { 'content_type': 'docker', - 'docker_upstream_name': constants.CONTAINER_UPSTREAM_NAME, + 'docker_upstream_name': settings.container.upstream_name, 'name': gen_string('alphanumeric', 10), - 'url': constants.CONTAINER_REGISTRY_HUB, + 'url': settings.container.registry_hub, } } ), @@ -1887,12 +1887,12 @@ def test_positive_synchronize_docker_repo_set_tags_later(self, repo): 'repo_options', **datafactory.parametrized( { - constants.CONTAINER_UPSTREAM_NAME: { + settings.container.upstream_name: { 'content_type': 'docker', 'include_tags': ['latest', gen_string('alpha')], - 'docker_upstream_name': constants.CONTAINER_UPSTREAM_NAME, + 'docker_upstream_name': settings.container.upstream_name, 'name': gen_string('alphanumeric', 10), - 'url': constants.CONTAINER_REGISTRY_HUB, + 'url': settings.container.registry_hub, } } ), @@ -1918,12 +1918,12 @@ def test_negative_synchronize_docker_repo_with_mix_valid_invalid_tags(self, repo 'repo_options', **datafactory.parametrized( { - constants.CONTAINER_UPSTREAM_NAME: { + settings.container.upstream_name: { 'content_type': 'docker', 'include_tags': [gen_string('alpha') for _ in range(3)], - 'docker_upstream_name': constants.CONTAINER_UPSTREAM_NAME, + 'docker_upstream_name': settings.container.upstream_name, 'name': gen_string('alphanumeric', 10), - 'url': constants.CONTAINER_REGISTRY_HUB, + 'url': settings.container.registry_hub, } } ), diff --git a/tests/foreman/cli/test_capsulecontent.py b/tests/foreman/cli/test_capsulecontent.py index a075414144..868553b45c 100644 --- a/tests/foreman/cli/test_capsulecontent.py +++ b/tests/foreman/cli/test_capsulecontent.py @@ -16,8 +16,6 @@ from robottelo.config import settings from robottelo.constants import ( - CONTAINER_REGISTRY_HUB, - CONTAINER_UPSTREAM_NAME, PULP_EXPORT_DIR, ) from robottelo.constants.repos import ANSIBLE_GALAXY, CUSTOM_FILE_REPO @@ -31,8 +29,8 @@ 'YumRepository': {'url': settings.repos.module_stream_1.url}, 'FileRepository': {'url': CUSTOM_FILE_REPO}, 'DockerRepository': { - 'url': CONTAINER_REGISTRY_HUB, - 'upstream_name': CONTAINER_UPSTREAM_NAME, + 'url': settings.container.registry_hub, + 'upstream_name': settings.container.upstream_name, }, 'AnsibleRepository': { 'url': ANSIBLE_GALAXY, diff --git a/tests/foreman/cli/test_container_management.py b/tests/foreman/cli/test_container_management.py index 065acf4dde..e13c40e665 100644 --- a/tests/foreman/cli/test_container_management.py +++ b/tests/foreman/cli/test_container_management.py @@ -16,8 +16,6 @@ from robottelo.config import settings from robottelo.constants import ( - CONTAINER_REGISTRY_HUB, - CONTAINER_UPSTREAM_NAME, REPO_TYPE, ) from robottelo.logging import logger @@ -30,18 +28,18 @@ def _repo(sat, product_id, name=None, upstream_name=None, url=None): :param str name: Name for the repository. If ``None`` then a random value will be generated. :param str upstream_name: A valid name of an existing upstream repository. - If ``None`` then defaults to CONTAINER_UPSTREAM_NAME constant. + If ``None`` then defaults to settings.container.upstream_name constant. :param str url: URL of repository. If ``None`` then defaults to - CONTAINER_REGISTRY_HUB constant. + settings.container.registry_hub constant. :return: A ``Repository`` object. """ return sat.cli_factory.make_repository( { 'content-type': REPO_TYPE['docker'], - 'docker-upstream-name': upstream_name or CONTAINER_UPSTREAM_NAME, + 'docker-upstream-name': upstream_name or settings.container.upstream_name, 'name': name or gen_string('alpha', 5), 'product-id': product_id, - 'url': url or CONTAINER_REGISTRY_HUB, + 'url': url or settings.container.registry_hub, } ) @@ -149,7 +147,7 @@ def test_positive_container_admin_end_to_end_search( # create lifecycle environment and promote content view to it lce = target_sat.cli_factory.make_lifecycle_environment({'organization-id': module_org.id}) product = target_sat.cli_factory.make_product_wait({'organization-id': module_org.id}) - repo = _repo(target_sat, product['id'], upstream_name=CONTAINER_UPSTREAM_NAME) + repo = _repo(target_sat, product['id'], upstream_name=settings.container.upstream_name) target_sat.cli.Repository.synchronize({'id': repo['id']}) content_view = target_sat.cli_factory.make_content_view( {'composite': False, 'organization-id': module_org.id} @@ -172,11 +170,13 @@ def test_positive_container_admin_end_to_end_search( ) docker_repo_uri = ( f'{target_sat.hostname}/{pattern_prefix}-{content_view["label"]}/' - f'{CONTAINER_UPSTREAM_NAME}' + f'{settings.container.upstream_name}' ).lower() # 3. Try to search for docker images on Satellite - remote_search_command = f'docker search {target_sat.hostname}/{CONTAINER_UPSTREAM_NAME}' + remote_search_command = ( + f'docker search {target_sat.hostname}/{settings.container.upstream_name}' + ) result = module_container_contenthost.execute(remote_search_command) assert result.status == 0 assert docker_repo_uri not in result.stdout @@ -250,7 +250,7 @@ def test_positive_container_admin_end_to_end_pull( :parametrized: yes """ pattern_prefix = gen_string('alpha', 5) - docker_upstream_name = CONTAINER_UPSTREAM_NAME + docker_upstream_name = settings.container.upstream_name registry_name_pattern = ( f'{pattern_prefix}-<%= content_view.label %>/<%= repository.docker_upstream_name %>' ) @@ -370,7 +370,10 @@ def test_negative_pull_content_with_longer_name( ) repo = _repo( - target_sat, product['id'], name=repo_name, upstream_name=CONTAINER_UPSTREAM_NAME + target_sat, + product['id'], + name=repo_name, + upstream_name=settings.container.upstream_name, ) # 2. Sync the repos diff --git a/tests/foreman/cli/test_contentview.py b/tests/foreman/cli/test_contentview.py index 0996a1c871..eb6eda15fb 100644 --- a/tests/foreman/cli/test_contentview.py +++ b/tests/foreman/cli/test_contentview.py @@ -1465,7 +1465,7 @@ def test_positive_republish_after_content_removed( 'content-type': 'docker', 'docker-upstream-name': 'quay/busybox', 'product-id': module_product.id, - 'url': constants.CONTAINER_REGISTRY_HUB, + 'url': settings.container.registry_hub, } ) # Sync all three repos @@ -2475,10 +2475,10 @@ def test_positive_remove_cv_version_from_multi_env(self, module_org, module_targ docker_repository = module_target_sat.cli_factory.make_repository( { 'content-type': 'docker', - 'docker-upstream-name': constants.CONTAINER_UPSTREAM_NAME, + 'docker-upstream-name': settings.container.upstream_name, 'name': gen_string('alpha', 20), 'product-id': docker_product['id'], - 'url': constants.CONTAINER_REGISTRY_HUB, + 'url': settings.container.registry_hub, } ) module_target_sat.cli.Repository.synchronize({'id': docker_repository['id']}) @@ -2705,10 +2705,10 @@ def test_positive_remove_cv_version_from_multi_env_capsule_scenario( docker_repository = module_target_sat.cli_factory.make_repository( { 'content-type': 'docker', - 'docker-upstream-name': constants.CONTAINER_UPSTREAM_NAME, + 'docker-upstream-name': settings.container.upstream_name, 'name': gen_string('alpha', 20), 'product-id': docker_product['id'], - 'url': constants.CONTAINER_REGISTRY_HUB, + 'url': settings.container.registry_hub, } ) module_target_sat.cli.Repository.synchronize({'id': docker_repository['id']}) @@ -3486,10 +3486,10 @@ def test_promote_ccv_to_lce_with_nondefault_pattern( repo = module_target_sat.cli_factory.make_repository( { 'content-type': 'docker', - 'docker-upstream-name': constants.CONTAINER_UPSTREAM_NAME, + 'docker-upstream-name': settings.container.upstream_name, 'name': gen_string('alpha', 20), 'product-id': module_product.id, - 'url': constants.CONTAINER_REGISTRY_HUB, + 'url': settings.container.registry_hub, } ) module_target_sat.cli.Repository.synchronize({'id': repo['id']}) diff --git a/tests/foreman/cli/test_contentviewfilter.py b/tests/foreman/cli/test_contentviewfilter.py index 3490b16f53..ef17461bc8 100644 --- a/tests/foreman/cli/test_contentviewfilter.py +++ b/tests/foreman/cli/test_contentviewfilter.py @@ -18,7 +18,7 @@ import pytest from robottelo.cli.defaults import Defaults -from robottelo.constants import CONTAINER_REGISTRY_HUB +from robottelo.config import settings from robottelo.exceptions import CLIReturnCodeError from robottelo.utils.datafactory import ( invalid_values_list, @@ -435,7 +435,7 @@ def test_positive_create_with_repos_yum_and_docker( 'docker-upstream-name': 'busybox', 'organization-id': module_org.id, 'product-id': module_product.id, - 'url': CONTAINER_REGISTRY_HUB, + 'url': settings.container.registry_hub, }, ) @@ -699,7 +699,7 @@ def test_positive_update_repo_with_different_type( 'docker-upstream-name': 'busybox', 'organization-id': module_org.id, 'product-id': module_product.id, - 'url': CONTAINER_REGISTRY_HUB, + 'url': settings.container.registry_hub, }, ) module_target_sat.cli.ContentView.add_repository( diff --git a/tests/foreman/cli/test_docker.py b/tests/foreman/cli/test_docker.py index 4612dbbdfa..11d208d592 100644 --- a/tests/foreman/cli/test_docker.py +++ b/tests/foreman/cli/test_docker.py @@ -15,9 +15,6 @@ from robottelo.config import settings from robottelo.constants import ( - CONTAINER_REGISTRY_HUB, - CONTAINER_RH_REGISTRY_UPSTREAM_NAME, - CONTAINER_UPSTREAM_NAME, REPO_TYPE, ) from robottelo.exceptions import CLIReturnCodeError @@ -36,18 +33,18 @@ def _repo(sat, product_id, name=None, upstream_name=None, url=None): :param str name: Name for the repository. If ``None`` then a random value will be generated. :param str upstream_name: A valid name of an existing upstream repository. - If ``None`` then defaults to CONTAINER_UPSTREAM_NAME constant. + If ``None`` then defaults to settings.container.upstream_name constant. :param str url: URL of repository. If ``None`` then defaults to - CONTAINER_REGISTRY_HUB constant. + settings.container.registry_hub constant. :return: A ``Repository`` object. """ return sat.cli_factory.make_repository( { 'content-type': REPO_TYPE['docker'], - 'docker-upstream-name': upstream_name or CONTAINER_UPSTREAM_NAME, + 'docker-upstream-name': upstream_name or settings.container.upstream_name, 'name': name or gen_string('alpha', 5), 'product-id': product_id, - 'url': url or CONTAINER_REGISTRY_HUB, + 'url': url or settings.container.registry_hub, } ) @@ -151,7 +148,7 @@ def test_positive_create_with_name(self, module_product, name, module_target_sat """ repo = _repo(module_target_sat, module_product.id, name) assert repo['name'] == name - assert repo['upstream-repository-name'] == CONTAINER_UPSTREAM_NAME + assert repo['upstream-repository-name'] == settings.container.upstream_name assert repo['content-type'] == REPO_TYPE['docker'] @pytest.mark.tier2 @@ -303,10 +300,10 @@ def test_positive_create_with_long_upstream_name(self, module_product, module_ta repo = _repo( module_target_sat, module_product.id, - upstream_name=CONTAINER_RH_REGISTRY_UPSTREAM_NAME, + upstream_name=settings.container.rh.upstream_name, url=settings.docker.external_registry_1, ) - assert repo['upstream-repository-name'] == CONTAINER_RH_REGISTRY_UPSTREAM_NAME + assert repo['upstream-repository-name'] == settings.container.rh.upstream_name @pytest.mark.skip_if_not_set('docker') @pytest.mark.tier1 @@ -324,13 +321,13 @@ def test_positive_update_with_long_upstream_name(self, repo, module_target_sat): """ module_target_sat.cli.Repository.update( { - 'docker-upstream-name': CONTAINER_RH_REGISTRY_UPSTREAM_NAME, + 'docker-upstream-name': settings.container.rh.upstream_name, 'id': repo['id'], 'url': settings.docker.external_registry_1, } ) repo = module_target_sat.cli.Repository.info({'id': repo['id']}) - assert repo['upstream-repository-name'] == CONTAINER_RH_REGISTRY_UPSTREAM_NAME + assert repo['upstream-repository-name'] == settings.container.rh.upstream_name @pytest.mark.tier2 def test_positive_update_url(self, repo, module_target_sat): diff --git a/tests/foreman/cli/test_repository.py b/tests/foreman/cli/test_repository.py index 02c197cfe5..7a5ab1ebe6 100644 --- a/tests/foreman/cli/test_repository.py +++ b/tests/foreman/cli/test_repository.py @@ -22,8 +22,6 @@ from robottelo.config import settings from robottelo.constants import ( - CONTAINER_REGISTRY_HUB, - CONTAINER_UPSTREAM_NAME, CUSTOM_FILE_REPO_FILES_COUNT, CUSTOM_LOCAL_FOLDER, DOWNLOAD_POLICIES, @@ -475,9 +473,9 @@ def test_positive_create_yum_repo_with_checksum_type(self, repo_options, repo): [ { 'content-type': 'docker', - 'docker-upstream-name': CONTAINER_UPSTREAM_NAME, + 'docker-upstream-name': settings.container.upstream_name, 'name': valid_docker_repository_names()[0], - 'url': CONTAINER_REGISTRY_HUB, + 'url': settings.container.registry_hub, } ] ), @@ -505,9 +503,9 @@ def test_positive_create_docker_repo_with_upstream_name(self, repo_options, repo [ { 'content-type': 'docker', - 'docker-upstream-name': CONTAINER_UPSTREAM_NAME, + 'docker-upstream-name': settings.container.upstream_name, 'name': name, - 'url': CONTAINER_REGISTRY_HUB, + 'url': settings.container.registry_hub, } for name in valid_docker_repository_names() ] @@ -794,9 +792,9 @@ def test_negative_synchronize_auth_yum_repo(self, repo, target_sat): [ { 'content-type': 'docker', - 'docker-upstream-name': CONTAINER_UPSTREAM_NAME, + 'docker-upstream-name': settings.container.upstream_name, 'name': valid_docker_repository_names()[0], - 'url': CONTAINER_REGISTRY_HUB, + 'url': settings.container.registry_hub, } ] ), @@ -841,9 +839,9 @@ def test_positive_synchronize_docker_repo( [ { 'content-type': 'docker', - 'docker-upstream-name': CONTAINER_UPSTREAM_NAME, + 'docker-upstream-name': settings.container.upstream_name, 'name': valid_docker_repository_names()[0], - 'url': CONTAINER_REGISTRY_HUB, + 'url': settings.container.registry_hub, } ] ), @@ -875,8 +873,8 @@ def test_verify_checksum_container_repo(self, repo, target_sat): [ { 'content-type': 'docker', - 'docker-upstream-name': CONTAINER_UPSTREAM_NAME, - 'url': CONTAINER_REGISTRY_HUB, + 'docker-upstream-name': settings.container.upstream_name, + 'url': settings.container.registry_hub, 'mirroring-policy': 'additive', } ] @@ -916,8 +914,8 @@ def test_positive_synchronize_docker_repo_set_tags_later_additive(self, repo, ta [ { 'content-type': 'docker', - 'docker-upstream-name': CONTAINER_UPSTREAM_NAME, - 'url': CONTAINER_REGISTRY_HUB, + 'docker-upstream-name': settings.container.upstream_name, + 'url': settings.container.registry_hub, 'mirroring-policy': 'mirror_content_only', } ] @@ -959,8 +957,8 @@ def test_positive_synchronize_docker_repo_set_tags_later_content_only(self, repo [ { 'content-type': 'docker', - 'docker-upstream-name': CONTAINER_UPSTREAM_NAME, - 'url': CONTAINER_REGISTRY_HUB, + 'docker-upstream-name': settings.container.upstream_name, + 'url': settings.container.registry_hub, 'include-tags': f"latest,{gen_string('alpha')}", } ] @@ -993,8 +991,8 @@ def test_negative_synchronize_docker_repo_with_mix_valid_invalid_tags( [ { 'content-type': 'docker', - 'docker-upstream-name': CONTAINER_UPSTREAM_NAME, - 'url': CONTAINER_REGISTRY_HUB, + 'docker-upstream-name': settings.container.upstream_name, + 'url': settings.container.registry_hub, 'include-tags': ",".join([gen_string('alpha') for _ in range(3)]), } ] diff --git a/tests/foreman/cli/test_satellitesync.py b/tests/foreman/cli/test_satellitesync.py index 55588e5a0c..ebb2338fa0 100644 --- a/tests/foreman/cli/test_satellitesync.py +++ b/tests/foreman/cli/test_satellitesync.py @@ -22,8 +22,6 @@ from robottelo.config import settings from robottelo.constants import ( - CONTAINER_REGISTRY_HUB, - CONTAINER_UPSTREAM_NAME, DEFAULT_ARCHITECTURE, DEFAULT_CV, ENVIRONMENT, @@ -184,8 +182,8 @@ def function_synced_docker_repo(target_sat, function_org): 'product-id': product['id'], 'content-type': REPO_TYPE['docker'], 'download-policy': 'immediate', - 'url': CONTAINER_REGISTRY_HUB, - 'docker-upstream-name': CONTAINER_UPSTREAM_NAME, + 'url': settings.container.registry_hub, + 'docker-upstream-name': settings.container.upstream_name, } ) target_sat.cli.Repository.synchronize({'id': repo['id']}) diff --git a/tests/foreman/cli/test_vm_install_products_package.py b/tests/foreman/cli/test_vm_install_products_package.py index 3443efb2bc..65dbdae12a 100644 --- a/tests/foreman/cli/test_vm_install_products_package.py +++ b/tests/foreman/cli/test_vm_install_products_package.py @@ -17,8 +17,6 @@ from robottelo.config import settings from robottelo.constants import ( - CONTAINER_REGISTRY_HUB, - CONTAINER_UPSTREAM_NAME, DISTROS_SUPPORTED, FAKE_0_CUSTOM_PACKAGE, ) @@ -43,8 +41,8 @@ def lce(function_entitlement_manifest_org, target_sat): 'SatelliteToolsRepository': {'cdn': 'cdn', 'distro': 'distro'}, 'YumRepository': {'url': settings.repos.yum_0.url}, 'DockerRepository': { - 'url': CONTAINER_REGISTRY_HUB, - 'upstream_name': CONTAINER_UPSTREAM_NAME, + 'url': settings.container.registry_hub, + 'upstream_name': settings.container.upstream_name, }, } ], diff --git a/tests/foreman/ui/test_activationkey.py b/tests/foreman/ui/test_activationkey.py index 0a0ee574d7..852ea7fec3 100644 --- a/tests/foreman/ui/test_activationkey.py +++ b/tests/foreman/ui/test_activationkey.py @@ -760,7 +760,7 @@ def test_positive_add_docker_repo_cv(session, module_org, module_target_sat): repo = module_target_sat.api.Repository( content_type=constants.REPO_TYPE['docker'], product=module_target_sat.api.Product(organization=module_org).create(), - url=constants.CONTAINER_REGISTRY_HUB, + url=settings.container.registry_hub, ).create() content_view = module_target_sat.api.ContentView( composite=False, organization=module_org, repository=[repo] @@ -794,7 +794,7 @@ def test_positive_add_docker_repo_ccv(session, module_org, module_target_sat): repo = module_target_sat.api.Repository( content_type=constants.REPO_TYPE['docker'], product=module_target_sat.api.Product(organization=module_org).create(), - url=constants.CONTAINER_REGISTRY_HUB, + url=settings.container.registry_hub, ).create() content_view = module_target_sat.api.ContentView( composite=False, organization=module_org, repository=[repo] diff --git a/tests/foreman/ui/test_containerimagetag.py b/tests/foreman/ui/test_containerimagetag.py index c6dad1c250..d1d0061a79 100644 --- a/tests/foreman/ui/test_containerimagetag.py +++ b/tests/foreman/ui/test_containerimagetag.py @@ -14,9 +14,8 @@ import pytest +from robottelo.config import settings from robottelo.constants import ( - CONTAINER_REGISTRY_HUB, - CONTAINER_UPSTREAM_NAME, DEFAULT_CV, ENVIRONMENT, REPO_TYPE, @@ -37,9 +36,9 @@ def module_product(module_org, module_target_sat): def module_repository(module_product, module_target_sat): repo = module_target_sat.api.Repository( content_type=REPO_TYPE['docker'], - docker_upstream_name=CONTAINER_UPSTREAM_NAME, + docker_upstream_name=settings.container.upstream_name, product=module_product, - url=CONTAINER_REGISTRY_HUB, + url=settings.container.registry_hub, ).create() repo.sync(timeout=1440) return repo diff --git a/tests/foreman/ui/test_contentview_old.py b/tests/foreman/ui/test_contentview_old.py index abe705d7a8..451a4e2a15 100644 --- a/tests/foreman/ui/test_contentview_old.py +++ b/tests/foreman/ui/test_contentview_old.py @@ -28,8 +28,6 @@ from robottelo.cli.contentview import ContentView from robottelo.config import settings from robottelo.constants import ( - CONTAINER_REGISTRY_HUB, - CONTAINER_UPSTREAM_NAME, DEFAULT_ARCHITECTURE, DEFAULT_CV, DEFAULT_PTABLE, @@ -254,7 +252,7 @@ def test_positive_create_composite( 'releasever': None, } docker_repo = target_sat.api.Repository( - url=CONTAINER_REGISTRY_HUB, product=module_prod, content_type=REPO_TYPE['docker'] + url=settings.container.registry_hub, product=module_prod, content_type=REPO_TYPE['docker'] ).create() target_sat.api_factory.enable_sync_redhat_repo(rh_repo, org.id) @@ -331,7 +329,7 @@ def test_positive_add_docker_repo(session, module_target_sat, module_org, module composite=False, organization=module_org ).create() repo = module_target_sat.api.Repository( - url=CONTAINER_REGISTRY_HUB, product=module_prod, content_type=REPO_TYPE['docker'] + url=settings.container.registry_hub, product=module_prod, content_type=REPO_TYPE['docker'] ).create() with session: session.contentview.add_docker_repo(content_view.name, repo.name) @@ -356,7 +354,9 @@ def test_positive_add_docker_repos(session, module_target_sat, module_org, modul ).create() repos = [ module_target_sat.api.Repository( - url=CONTAINER_REGISTRY_HUB, product=module_prod, content_type=REPO_TYPE['docker'] + url=settings.container.registry_hub, + product=module_prod, + content_type=REPO_TYPE['docker'], ).create() for _ in range(randint(2, 3)) ] @@ -384,7 +384,7 @@ def test_positive_add_synced_docker_repo(session, module_target_sat, module_org, composite=False, organization=module_org ).create() repo = module_target_sat.api.Repository( - url=CONTAINER_REGISTRY_HUB, product=module_prod, content_type=REPO_TYPE['docker'] + url=settings.container.registry_hub, product=module_prod, content_type=REPO_TYPE['docker'] ).create() with session: result = session.sync_status.synchronize([(module_prod.name, repo.name)]) @@ -413,7 +413,7 @@ def test_positive_add_docker_repo_to_ccv(session, module_target_sat, module_org, composite=True, organization=module_org ).create() repo = module_target_sat.api.Repository( - url=CONTAINER_REGISTRY_HUB, product=module_prod, content_type=REPO_TYPE['docker'] + url=settings.container.registry_hub, product=module_prod, content_type=REPO_TYPE['docker'] ).create() with session: session.contentview.add_docker_repo(content_view.name, repo.name) @@ -439,7 +439,9 @@ def test_positive_add_docker_repos_to_ccv(session, module_target_sat, module_org cvs = [] for _ in range(randint(2, 3)): repo = module_target_sat.api.Repository( - url=CONTAINER_REGISTRY_HUB, product=module_prod, content_type=REPO_TYPE['docker'] + url=settings.container.registry_hub, + product=module_prod, + content_type=REPO_TYPE['docker'], ).create() content_view = module_target_sat.api.ContentView( composite=False, organization=module_org, repository=[repo] @@ -475,7 +477,7 @@ def test_positive_publish_with_docker_repo(session, module_target_sat, module_or composite=False, organization=module_org ).create() repo = module_target_sat.api.Repository( - url=CONTAINER_REGISTRY_HUB, product=module_prod, content_type=REPO_TYPE['docker'] + url=settings.container.registry_hub, product=module_prod, content_type=REPO_TYPE['docker'] ).create() with session: session.contentview.add_docker_repo(content_view.name, repo.name) @@ -500,7 +502,7 @@ def test_positive_publish_with_docker_repo_composite( :CaseImportance: High """ repo = module_target_sat.api.Repository( - url=CONTAINER_REGISTRY_HUB, product=module_prod, content_type=REPO_TYPE['docker'] + url=settings.container.registry_hub, product=module_prod, content_type=REPO_TYPE['docker'] ).create() content_view = module_target_sat.api.ContentView( composite=False, organization=module_org, repository=[repo] @@ -531,7 +533,7 @@ def test_positive_publish_multiple_with_docker_repo( :CaseImportance: Low """ repo = module_target_sat.api.Repository( - url=CONTAINER_REGISTRY_HUB, product=module_prod, content_type=REPO_TYPE['docker'] + url=settings.container.registry_hub, product=module_prod, content_type=REPO_TYPE['docker'] ).create() content_view = module_target_sat.api.ContentView( composite=False, organization=module_org, repository=[repo] @@ -556,7 +558,7 @@ def test_positive_publish_multiple_with_docker_repo_composite( :CaseImportance: Low """ repo = module_target_sat.api.Repository( - url=CONTAINER_REGISTRY_HUB, product=module_prod, content_type=REPO_TYPE['docker'] + url=settings.container.registry_hub, product=module_prod, content_type=REPO_TYPE['docker'] ).create() content_view = module_target_sat.api.ContentView( composite=False, organization=module_org, repository=[repo] @@ -586,7 +588,7 @@ def test_positive_promote_with_docker_repo(session, module_target_sat, module_or """ lce = module_target_sat.api.LifecycleEnvironment(organization=module_org).create() repo = module_target_sat.api.Repository( - url=CONTAINER_REGISTRY_HUB, product=module_prod, content_type=REPO_TYPE['docker'] + url=settings.container.registry_hub, product=module_prod, content_type=REPO_TYPE['docker'] ).create() content_view = module_target_sat.api.ContentView( composite=False, organization=module_org, repository=[repo] @@ -613,7 +615,7 @@ def test_positive_promote_multiple_with_docker_repo( :CaseImportance: Low """ repo = module_target_sat.api.Repository( - url=CONTAINER_REGISTRY_HUB, product=module_prod, content_type=REPO_TYPE['docker'] + url=settings.container.registry_hub, product=module_prod, content_type=REPO_TYPE['docker'] ).create() content_view = module_target_sat.api.ContentView( composite=False, organization=module_org, repository=[repo] @@ -641,7 +643,7 @@ def test_positive_promote_multiple_with_docker_repo_composite( is promoted to multiple lifecycle-environments. """ repo = module_target_sat.api.Repository( - url=CONTAINER_REGISTRY_HUB, product=module_prod, content_type=REPO_TYPE['docker'] + url=settings.container.registry_hub, product=module_prod, content_type=REPO_TYPE['docker'] ).create() content_view = module_target_sat.api.ContentView( composite=False, organization=module_org, repository=[repo] @@ -933,10 +935,10 @@ def test_positive_publish_composite_with_custom_content( } # Create docker repos and sync docker_repo1 = target_sat.api.Repository( - url=CONTAINER_REGISTRY_HUB, product=product, content_type=REPO_TYPE['docker'] + url=settings.container.registry_hub, product=product, content_type=REPO_TYPE['docker'] ).create() docker_repo2 = target_sat.api.Repository( - url=CONTAINER_REGISTRY_HUB, product=product, content_type=REPO_TYPE['docker'] + url=settings.container.registry_hub, product=product, content_type=REPO_TYPE['docker'] ).create() docker_repo1.sync() docker_repo2.sync() @@ -1171,10 +1173,10 @@ def test_positive_promote_composite_with_custom_content( target_sat.api_factory.create_sync_custom_repo(repo_name=name, repo_url=url, org_id=org.id) # Create docker repo and sync docker_repo1 = target_sat.api.Repository( - url=CONTAINER_REGISTRY_HUB, product=product, content_type=REPO_TYPE['docker'] + url=settings.container.registry_hub, product=product, content_type=REPO_TYPE['docker'] ).create() docker_repo2 = target_sat.api.Repository( - url=CONTAINER_REGISTRY_HUB, + url=settings.container.registry_hub, product=product, content_type=REPO_TYPE['docker'], docker_upstream_name='quay/busybox', @@ -1417,7 +1419,7 @@ def test_positive_remove_qe_promoted_cv_version_from_default_env( repo = target_sat.cli_factory.RepositoryCollection( repositories=[ target_sat.cli_factory.DockerRepository( - url=CONTAINER_REGISTRY_HUB, upstream_name=CONTAINER_UPSTREAM_NAME + url=settings.container.registry_hub, upstream_name=settings.container.upstream_name ) ] ) @@ -1453,8 +1455,8 @@ def test_positive_remove_qe_promoted_cv_version_from_default_env( 'distro': 'rhel7', 'YumRepository': {'url': settings.repos.yum_0.url}, 'DockerRepository': { - 'url': CONTAINER_REGISTRY_HUB, - 'upstream_name': CONTAINER_UPSTREAM_NAME, + 'url': settings.container.registry_hub, + 'upstream_name': settings.container.upstream_name, }, } ], @@ -2682,7 +2684,7 @@ def test_positive_rh_mixed_content_end_to_end( """ cv_name = gen_string('alpha') docker_repo = target_sat.api.Repository( - url=CONTAINER_REGISTRY_HUB, product=module_prod, content_type=REPO_TYPE['docker'] + url=settings.container.registry_hub, product=module_prod, content_type=REPO_TYPE['docker'] ).create() rh_st_repo = { 'name': REPOS['rhst7']['name'], diff --git a/tests/foreman/ui/test_http_proxy.py b/tests/foreman/ui/test_http_proxy.py index 625b4c6af3..fa07ea4c93 100644 --- a/tests/foreman/ui/test_http_proxy.py +++ b/tests/foreman/ui/test_http_proxy.py @@ -17,7 +17,7 @@ import pytest from robottelo.config import settings -from robottelo.constants import DOCKER_REPO_UPSTREAM_NAME, REPO_TYPE, REPOS +from robottelo.constants import REPO_TYPE, REPOS from robottelo.hosts import ProxyHostError @@ -442,15 +442,17 @@ def test_positive_repo_discovery(setup_http_proxy, module_target_sat, module_org 'repo_type': 'Container Images', 'create_repo.product_type': 'New Product', 'create_repo.product_content.product_name': product_name, - 'registry_search': DOCKER_REPO_UPSTREAM_NAME, + 'registry_search': settings.container.docker.repo_upstream_name, 'name': gen_string('alphanumeric', 10), 'username': settings.subscription.rhn_username, 'password': settings.subscription.rhn_password, - 'discovered_repos.repos': DOCKER_REPO_UPSTREAM_NAME, + 'discovered_repos.repos': settings.container.docker.repo_upstream_name, } ) assert session.product.search(product_name)[0]['Name'] == product_name assert ( - DOCKER_REPO_UPSTREAM_NAME - in session.repository.search(product_name, DOCKER_REPO_UPSTREAM_NAME)[0]['Name'] + settings.container.docker.repo_upstream_name + in session.repository.search( + product_name, settings.container.docker.repo_upstream_name + )[0]['Name'] ) diff --git a/tests/foreman/ui/test_repository.py b/tests/foreman/ui/test_repository.py index 71d931b2cd..34b79f8cbb 100644 --- a/tests/foreman/ui/test_repository.py +++ b/tests/foreman/ui/test_repository.py @@ -21,7 +21,6 @@ from robottelo import constants from robottelo.config import settings from robottelo.constants import ( - CONTAINER_REGISTRY_HUB, DOWNLOAD_POLICIES, INVALID_URL, PRDS, @@ -752,7 +751,7 @@ def test_positive_delete_random_docker_repo(session, module_org, module_target_s ] for product in products: repo = module_target_sat.api.Repository( - url=CONTAINER_REGISTRY_HUB, product=product, content_type=REPO_TYPE['docker'] + url=settings.container.registry_hub, product=product, content_type=REPO_TYPE['docker'] ).create() entities_list.append((product.name, repo.name)) with session: diff --git a/tests/foreman/ui/test_sync.py b/tests/foreman/ui/test_sync.py index 6f34dae73a..45b7c98c70 100644 --- a/tests/foreman/ui/test_sync.py +++ b/tests/foreman/ui/test_sync.py @@ -17,8 +17,6 @@ from robottelo.config import settings from robottelo.constants import ( - CONTAINER_REGISTRY_HUB, - CONTAINER_UPSTREAM_NAME, PRDS, REPO_TYPE, REPOS, @@ -153,8 +151,8 @@ def test_positive_sync_docker_via_sync_status(session, module_org, module_target { 'name': repo_name, 'repo_type': REPO_TYPE['docker'], - 'repo_content.upstream_url': CONTAINER_REGISTRY_HUB, - 'repo_content.upstream_repo_name': CONTAINER_UPSTREAM_NAME, + 'repo_content.upstream_url': settings.container.rh.registry_hub, + 'repo_content.upstream_repo_name': settings.container.docker.repo_upstream_name, }, ) assert session.repository.search(product.name, repo_name)[0]['Name'] == repo_name