katello 4.16.1 → 4.17.0.rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of katello might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/app/assets/javascripts/katello/hosts/host_and_hostgroup_edit.js +5 -3
- data/app/assets/javascripts/katello/locale/bn/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/bn_IN/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/ca/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/cs/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/cs_CZ/katello.js +83 -32
- data/app/assets/javascripts/katello/locale/de/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/de_AT/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/de_DE/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/el/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/en/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/en_GB/katello.js +84 -33
- data/app/assets/javascripts/katello/locale/en_US/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/es/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/et_EE/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/fr/katello.js +83 -32
- data/app/assets/javascripts/katello/locale/gl/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/gu/katello.js +83 -32
- data/app/assets/javascripts/katello/locale/he_IL/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/hi/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/id/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/it/katello.js +84 -33
- data/app/assets/javascripts/katello/locale/ja/katello.js +83 -32
- data/app/assets/javascripts/katello/locale/ka/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/kn/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/ko/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/ml_IN/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/mr/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/nl_NL/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/or/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/pa/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/pl/katello.js +83 -32
- data/app/assets/javascripts/katello/locale/pl_PL/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/pt/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/pt_BR/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/ro/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/ro_RO/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/ru/katello.js +84 -33
- data/app/assets/javascripts/katello/locale/sl/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/sv_SE/katello.js +83 -32
- data/app/assets/javascripts/katello/locale/ta/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/ta_IN/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/te/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/tr/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/vi/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/vi_VN/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/zh/katello.js +82 -31
- data/app/assets/javascripts/katello/locale/zh_CN/katello.js +83 -32
- data/app/assets/javascripts/katello/locale/zh_TW/katello.js +84 -33
- data/app/controllers/katello/api/registry/registry_proxies_controller.rb +19 -3
- data/app/controllers/katello/api/v2/content_view_components_controller.rb +6 -6
- data/app/controllers/katello/api/v2/content_view_filters_controller.rb +3 -0
- data/app/controllers/katello/api/v2/content_view_versions_controller.rb +6 -0
- data/app/controllers/katello/api/v2/content_views_controller.rb +12 -1
- data/app/controllers/katello/api/v2/exports_controller.rb +3 -0
- data/app/controllers/katello/api/v2/host_subscriptions_controller.rb +12 -14
- data/app/controllers/katello/api/v2/organizations_controller.rb +10 -10
- data/app/controllers/katello/concerns/authorization/api/v2/content_views_controller.rb +8 -2
- data/app/lib/actions/helpers/rolling_cv_repos.rb +25 -0
- data/app/lib/actions/katello/capsule_content/sync_capsule.rb +6 -1
- data/app/lib/actions/katello/content_view/add_rolling_repo_clone.rb +39 -0
- data/app/lib/actions/katello/content_view/create.rb +3 -0
- data/app/lib/actions/katello/content_view/refresh_rolling_repo.rb +40 -0
- data/app/lib/actions/katello/content_view/remove.rb +8 -4
- data/app/lib/actions/katello/content_view/remove_rolling_repo_clone.rb +28 -0
- data/app/lib/actions/katello/content_view/update.rb +8 -0
- data/app/lib/actions/katello/repository/check_matching_content.rb +1 -8
- data/app/lib/actions/katello/repository/import_upload.rb +5 -0
- data/app/lib/actions/katello/repository/sync.rb +8 -4
- data/app/lib/actions/katello/repository/upload_files.rb +7 -1
- data/app/lib/actions/pulp3/orchestration/orphan_cleanup/remove_orphans.rb +3 -2
- data/app/lib/actions/pulp3/orphan_cleanup/delete_orphan_repository_versions.rb +8 -1
- data/app/lib/katello/errors.rb +8 -0
- data/app/lib/katello/validators/container_image_name_validator.rb +3 -2
- data/app/models/katello/authorization/repository.rb +11 -1
- data/app/models/katello/concerns/host_managed_extensions.rb +2 -2
- data/app/models/katello/concerns/pulp_database_unit.rb +12 -42
- data/app/models/katello/concerns/smart_proxy_extensions.rb +8 -0
- data/app/models/katello/content_view.rb +14 -1
- data/app/models/katello/content_view_component.rb +4 -0
- data/app/models/katello/content_view_environment.rb +1 -0
- data/app/models/katello/content_view_version.rb +3 -2
- data/app/models/katello/host/content_facet.rb +18 -5
- data/app/models/katello/product_content.rb +3 -1
- data/app/models/katello/repository.rb +3 -3
- data/app/services/katello/content_unit_indexer.rb +1 -1
- data/app/services/katello/pulp3/api/content_guard.rb +1 -1
- data/app/services/katello/pulp3/api/core.rb +6 -0
- data/app/services/katello/pulp3/smart_proxy_mirror_repository.rb +58 -1
- data/app/services/katello/pulp3/smart_proxy_repository.rb +67 -3
- data/app/services/katello/smart_proxy_helper.rb +6 -1
- data/app/views/foreman/job_templates/install_errata_-_katello_ansible_default.erb +15 -1
- data/app/views/foreman/job_templates/install_errata_by_search_query_-_katello_ansible_default.erb +15 -1
- data/app/views/foreman/job_templates/install_group_-_katello_ansible_default.erb +15 -2
- data/app/views/foreman/job_templates/install_packages_by_search_query_-_katello_ansible_default.erb +21 -2
- data/app/views/foreman/job_templates/remove_group_-_katello_ansible_default.erb +15 -1
- data/app/views/foreman/job_templates/remove_packages_by_search_query_-_katello_ansible_default.erb +20 -1
- data/app/views/foreman/job_templates/update_group_-_katello_ansible_default.erb +15 -2
- data/app/views/foreman/job_templates/update_packages_by_search_query_-_katello_ansible_default.erb +17 -1
- data/app/views/katello/api/v2/activation_keys/base.json.rabl +1 -0
- data/app/views/katello/api/v2/capsule_content/sync_status.json.rabl +2 -1
- data/app/views/katello/api/v2/content_facet/base.json.rabl +2 -0
- data/app/views/katello/api/v2/content_view_versions/base.json.rabl +12 -0
- data/app/views/katello/api/v2/content_views/base.json.rabl +1 -0
- data/app/views/katello/api/v2/environments/show.json.rabl +14 -0
- data/app/views/katello/api/v2/hosts/base.json.rabl +1 -0
- data/app/views/katello/api/v2/organizations/show.json.rabl +2 -0
- data/app/views/katello/api/v2/repositories/base.json.rabl +2 -1
- data/db/migrate/20190930192813_add_pulp3_hrefs_to_content_types.rb +1 -1
- data/db/migrate/20241022122325_add_rolling_to_katello_content_views.rb +5 -0
- data/db/migrate/20241025151105_remove_pulp3_migrated_hrefs_from_content_tables.rb +1 -1
- data/db/migrate/20250215143303_drop_katello_yum_metadata_file.rb +5 -0
- data/db/migrate/20250409120843_fix_file_download_policy.rb +11 -0
- data/db/migrate/20250410155300_change_ansible_templates_category.rb +22 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/bastion_katello.pot +4 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/bn.po +90 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/bn_IN.po +90 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ca.po +90 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/cs_CZ.po +90 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de.po +93 -60
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de_AT.po +90 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de_DE.po +90 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/el.po +90 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/en_GB.po +94 -35
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/en_US.po +90 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/es.po +93 -40
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/et_EE.po +90 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/fr.po +254 -192
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/gl.po +90 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/gu.po +90 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/he_IL.po +90 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/hi.po +90 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/id.po +90 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/it.po +90 -35
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ja.po +113 -52
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ka.po +93 -34
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/kn.po +90 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ko.po +101 -40
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ml_IN.po +90 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/mr.po +90 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/nl_NL.po +90 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/or.po +90 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pa.po +90 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pl.po +90 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pl_PL.po +90 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt.po +90 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt_BR.po +93 -40
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ro.po +90 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ro_RO.po +90 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ru.po +91 -34
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/sl.po +90 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/sv_SE.po +90 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ta.po +90 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ta_IN.po +90 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/te.po +90 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/tr.po +90 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/vi.po +90 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/vi_VN.po +90 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh.po +90 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_CN.po +99 -40
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_TW.po +92 -33
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/translations.js +14 -14
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repository-types.service.js +3 -0
- data/lib/katello/engine.rb +9 -1
- data/lib/katello/repository_types/python.rb +1 -1
- data/lib/katello/tasks/repository.rake +1 -1
- data/lib/katello/version.rb +1 -1
- data/locale/action_names.rb +186 -0
- data/locale/bn/LC_MESSAGES/katello.mo +0 -0
- data/locale/bn/katello.po +82 -31
- data/locale/bn/katello.po.time_stamp +0 -0
- data/locale/bn_IN/LC_MESSAGES/katello.mo +0 -0
- data/locale/bn_IN/katello.po +82 -31
- data/locale/bn_IN/katello.po.time_stamp +0 -0
- data/locale/ca/LC_MESSAGES/katello.mo +0 -0
- data/locale/ca/katello.po +82 -31
- data/locale/ca/katello.po.time_stamp +0 -0
- data/locale/cs/LC_MESSAGES/katello.mo +0 -0
- data/locale/cs/katello.po +82 -31
- data/locale/cs/katello.po.time_stamp +0 -0
- data/locale/cs_CZ/LC_MESSAGES/katello.mo +0 -0
- data/locale/cs_CZ/katello.po +83 -32
- data/locale/cs_CZ/katello.po.time_stamp +0 -0
- data/locale/de/LC_MESSAGES/katello.mo +0 -0
- data/locale/de/katello.po +82 -31
- data/locale/de/katello.po.time_stamp +0 -0
- data/locale/de_AT/LC_MESSAGES/katello.mo +0 -0
- data/locale/de_AT/katello.po +82 -31
- data/locale/de_AT/katello.po.time_stamp +0 -0
- data/locale/de_DE/LC_MESSAGES/katello.mo +0 -0
- data/locale/de_DE/katello.po +82 -31
- data/locale/de_DE/katello.po.time_stamp +0 -0
- data/locale/el/LC_MESSAGES/katello.mo +0 -0
- data/locale/el/katello.po +82 -31
- data/locale/el/katello.po.time_stamp +0 -0
- data/locale/en/LC_MESSAGES/katello.mo +0 -0
- data/locale/en/katello.po +82 -31
- data/locale/en/katello.po.time_stamp +0 -0
- data/locale/en_GB/LC_MESSAGES/katello.mo +0 -0
- data/locale/en_GB/katello.po +84 -33
- data/locale/en_GB/katello.po.time_stamp +0 -0
- data/locale/en_US/LC_MESSAGES/katello.mo +0 -0
- data/locale/en_US/katello.po +82 -31
- data/locale/en_US/katello.po.time_stamp +0 -0
- data/locale/es/LC_MESSAGES/katello.mo +0 -0
- data/locale/es/katello.po +82 -31
- data/locale/es/katello.po.time_stamp +0 -0
- data/locale/et_EE/LC_MESSAGES/katello.mo +0 -0
- data/locale/et_EE/katello.po +82 -31
- data/locale/et_EE/katello.po.time_stamp +0 -0
- data/locale/fr/LC_MESSAGES/katello.mo +0 -0
- data/locale/fr/katello.po +83 -32
- data/locale/fr/katello.po.time_stamp +0 -0
- data/locale/gl/LC_MESSAGES/katello.mo +0 -0
- data/locale/gl/katello.po +82 -31
- data/locale/gl/katello.po.time_stamp +0 -0
- data/locale/gu/LC_MESSAGES/katello.mo +0 -0
- data/locale/gu/katello.po +84 -33
- data/locale/gu/katello.po.time_stamp +0 -0
- data/locale/he_IL/LC_MESSAGES/katello.mo +0 -0
- data/locale/he_IL/katello.po +82 -31
- data/locale/he_IL/katello.po.time_stamp +0 -0
- data/locale/hi/LC_MESSAGES/katello.mo +0 -0
- data/locale/hi/katello.po +82 -31
- data/locale/hi/katello.po.time_stamp +0 -0
- data/locale/id/LC_MESSAGES/katello.mo +0 -0
- data/locale/id/katello.po +82 -31
- data/locale/id/katello.po.time_stamp +0 -0
- data/locale/it/LC_MESSAGES/katello.mo +0 -0
- data/locale/it/katello.po +85 -34
- data/locale/it/katello.po.time_stamp +0 -0
- data/locale/ja/LC_MESSAGES/katello.mo +0 -0
- data/locale/ja/katello.po +83 -32
- data/locale/ja/katello.po.time_stamp +0 -0
- data/locale/ka/LC_MESSAGES/katello.mo +0 -0
- data/locale/ka/katello.po +82 -31
- data/locale/ka/katello.po.time_stamp +0 -0
- data/locale/katello.pot +1232 -1140
- data/locale/kn/LC_MESSAGES/katello.mo +0 -0
- data/locale/kn/katello.po +82 -31
- data/locale/kn/katello.po.time_stamp +0 -0
- data/locale/ko/LC_MESSAGES/katello.mo +0 -0
- data/locale/ko/katello.po +82 -31
- data/locale/ko/katello.po.time_stamp +0 -0
- data/locale/ml_IN/LC_MESSAGES/katello.mo +0 -0
- data/locale/ml_IN/katello.po +82 -31
- data/locale/ml_IN/katello.po.time_stamp +0 -0
- data/locale/mr/LC_MESSAGES/katello.mo +0 -0
- data/locale/mr/katello.po +82 -31
- data/locale/mr/katello.po.time_stamp +0 -0
- data/locale/nl_NL/LC_MESSAGES/katello.mo +0 -0
- data/locale/nl_NL/katello.po +82 -31
- data/locale/nl_NL/katello.po.time_stamp +0 -0
- data/locale/or/LC_MESSAGES/katello.mo +0 -0
- data/locale/or/katello.po +82 -31
- data/locale/or/katello.po.time_stamp +0 -0
- data/locale/pa/LC_MESSAGES/katello.mo +0 -0
- data/locale/pa/katello.po +82 -31
- data/locale/pa/katello.po.time_stamp +0 -0
- data/locale/pl/LC_MESSAGES/katello.mo +0 -0
- data/locale/pl/katello.po +84 -33
- data/locale/pl/katello.po.time_stamp +0 -0
- data/locale/pl_PL/LC_MESSAGES/katello.mo +0 -0
- data/locale/pl_PL/katello.po +82 -31
- data/locale/pl_PL/katello.po.time_stamp +0 -0
- data/locale/pt/LC_MESSAGES/katello.mo +0 -0
- data/locale/pt/katello.po +82 -31
- data/locale/pt/katello.po.time_stamp +0 -0
- data/locale/pt_BR/LC_MESSAGES/katello.mo +0 -0
- data/locale/pt_BR/katello.po +82 -31
- data/locale/pt_BR/katello.po.time_stamp +0 -0
- data/locale/ro/LC_MESSAGES/katello.mo +0 -0
- data/locale/ro/katello.po +82 -31
- data/locale/ro/katello.po.time_stamp +0 -0
- data/locale/ro_RO/LC_MESSAGES/katello.mo +0 -0
- data/locale/ro_RO/katello.po +82 -31
- data/locale/ro_RO/katello.po.time_stamp +0 -0
- data/locale/ru/LC_MESSAGES/katello.mo +0 -0
- data/locale/ru/katello.po +85 -34
- data/locale/ru/katello.po.time_stamp +0 -0
- data/locale/sl/LC_MESSAGES/katello.mo +0 -0
- data/locale/sl/katello.po +82 -31
- data/locale/sl/katello.po.time_stamp +0 -0
- data/locale/sv_SE/LC_MESSAGES/katello.mo +0 -0
- data/locale/sv_SE/katello.po +84 -33
- data/locale/sv_SE/katello.po.time_stamp +0 -0
- data/locale/ta/LC_MESSAGES/katello.mo +0 -0
- data/locale/ta/katello.po +82 -31
- data/locale/ta/katello.po.time_stamp +0 -0
- data/locale/ta_IN/LC_MESSAGES/katello.mo +0 -0
- data/locale/ta_IN/katello.po +82 -31
- data/locale/ta_IN/katello.po.time_stamp +0 -0
- data/locale/te/LC_MESSAGES/katello.mo +0 -0
- data/locale/te/katello.po +82 -31
- data/locale/te/katello.po.time_stamp +0 -0
- data/locale/tr/LC_MESSAGES/katello.mo +0 -0
- data/locale/tr/katello.po +82 -31
- data/locale/tr/katello.po.time_stamp +0 -0
- data/locale/vi/LC_MESSAGES/katello.mo +0 -0
- data/locale/vi/katello.po +82 -31
- data/locale/vi/katello.po.time_stamp +0 -0
- data/locale/vi_VN/LC_MESSAGES/katello.mo +0 -0
- data/locale/vi_VN/katello.po +82 -31
- data/locale/vi_VN/katello.po.time_stamp +0 -0
- data/locale/zh/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh/katello.po +82 -31
- data/locale/zh/katello.po.time_stamp +0 -0
- data/locale/zh_CN/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh_CN/katello.po +83 -32
- data/locale/zh_CN/katello.po.time_stamp +0 -0
- data/locale/zh_TW/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh_TW/katello.po +85 -34
- data/locale/zh_TW/katello.po.time_stamp +0 -0
- data/webpack/ForemanColumnExtensions/index.js +12 -4
- data/webpack/components/ActivationKeysSearch/index.js +6 -7
- data/webpack/components/Bookmark/AddBookmarkModal.js +3 -3
- data/webpack/components/Bookmark/Bookmark.scss +3 -3
- data/webpack/components/Bookmark/index.js +7 -2
- data/webpack/components/EditableSwitch.js +1 -1
- data/webpack/components/EditableTextInput/EditableTextInput.js +1 -1
- data/webpack/components/EditableTextInput/editableTextInput.scss +1 -1
- data/webpack/components/Errata/index.js +1 -24
- data/webpack/components/Loading.js +10 -6
- data/webpack/components/Packages/index.js +2 -1
- data/webpack/components/SelectAllCheckbox/index.js +7 -3
- data/webpack/components/SelectableDropdown/SelectableDropdown.js +21 -3
- data/webpack/components/Table/EmptyStateMessage.js +12 -14
- data/webpack/components/Table/MainTable.js +8 -7
- data/webpack/components/Table/MainTable.scss +4 -4
- data/webpack/components/extensions/HostDetails/ActionsBar/index.js +4 -1
- data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/ChangeHostCVModal.js +1 -1
- data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/ContentViewDetailsCard.js +9 -6
- data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/__tests__/changeHostCVModal.test.js +2 -1
- data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/__tests__/contentViews.fixtures.json +4 -1
- data/webpack/components/extensions/HostDetails/Cards/ErrataOverviewCard.js +23 -6
- data/webpack/components/extensions/HostDetails/Cards/ErrataOverviewCard.scss +1 -1
- data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/HostCollectionsCard.js +5 -3
- data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/HostCollectionsCard.scss +3 -3
- data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/HostCollectionsModal.js +1 -1
- data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/__tests__/hostCollectionsModal.test.js +25 -10
- data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeCard.js +5 -2
- data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeCard.scss +2 -2
- data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeEditModal.js +5 -4
- data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/__tests__/SystemPurposeCard.test.js +6 -3
- data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/__tests__/SystemPurposeEditModal.test.js +19 -12
- data/webpack/components/extensions/HostDetails/Cards/__tests__/errataOverviewCard.test.js +1 -1
- data/webpack/components/extensions/HostDetails/DetailsTabCards/HwPropertiesCard.js +1 -4
- data/webpack/components/extensions/HostDetails/DetailsTabCards/ImageModeCard.js +1 -4
- data/webpack/components/extensions/HostDetails/DetailsTabCards/InstalledProductsCard.js +1 -4
- data/webpack/components/extensions/HostDetails/DetailsTabCards/__test__/HwPropertiesCard.test.js +63 -0
- data/webpack/components/extensions/HostDetails/DetailsTabCards/__test__/ImageModeCard.test.js +73 -0
- data/webpack/components/extensions/HostDetails/DetailsTabCards/__test__/InstalledProductsCard.test.js +45 -0
- data/webpack/components/extensions/HostDetails/Tabs/DebsTab/DebInstallModal.js +12 -2
- data/webpack/components/extensions/HostDetails/Tabs/DebsTab/DebInstallModal.scss +1 -1
- data/webpack/components/extensions/HostDetails/Tabs/DebsTab/DebsTab.js +10 -13
- data/webpack/components/extensions/HostDetails/Tabs/DebsTab/DebsTab.scss +1 -1
- data/webpack/components/extensions/HostDetails/Tabs/ErrataTab/ErrataTab.js +46 -21
- data/webpack/components/extensions/HostDetails/Tabs/ErrataTab/ErrataTab.scss +1 -1
- data/webpack/components/extensions/HostDetails/Tabs/ModuleStreamsTab/ModuleStreamsTab.js +15 -7
- data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackageInstallModal.js +13 -3
- data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackageInstallModal.scss +1 -1
- data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackagesTab.js +34 -20
- data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackagesTab.scss +1 -1
- data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsTab.js +8 -6
- data/webpack/components/extensions/HostDetails/Tabs/TracesTab/EnableTracerModal.js +5 -3
- data/webpack/components/extensions/HostDetails/Tabs/TracesTab/EnableTracerModal.scss +1 -1
- data/webpack/components/extensions/HostDetails/Tabs/TracesTab/TracesEnabler.js +12 -13
- data/webpack/components/extensions/HostDetails/Tabs/TracesTab/TracesTab.js +16 -6
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/debsInstallModal.test.js +10 -5
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/debsTab.test.js +48 -22
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/errataTab.test.js +123 -47
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/moduleStreamsTab.test.js +14 -7
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/packageInstallModal.test.js +10 -5
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/packagesTab.test.js +41 -24
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/repositorySetsTab.test.js +50 -25
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/tracesTab.test.js +50 -25
- data/webpack/components/extensions/HostDetails/hostDetailsHelpers.js +3 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkErrataWizard/04_Review.js +16 -2
- data/webpack/components/extensions/Hosts/BulkActions/BulkErrataWizard/04_ReviewFooter.js +6 -2
- data/webpack/components/extensions/Hosts/BulkActions/BulkErrataWizard/BulkErrataWizard.js +5 -1
- data/webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/04_Review.js +16 -2
- data/webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/04_ReviewFooter.js +6 -2
- data/webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/BulkPackagesWizard.js +15 -2
- data/webpack/components/extensions/Hosts/BulkActions/HostReview.js +1 -1
- data/webpack/components/extensions/Hosts/BulkActions/__tests__/bulkChangeHostCVModal.test.js +2 -1
- data/webpack/components/extensions/Hosts/FontAwesomeImageModeIcon.js +1 -1
- data/webpack/components/extensions/Hosts/ImageModeHostAlert.js +14 -0
- data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/ActivationKeys.test.js.snap +14 -17
- data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/Force.test.js.snap +1 -1
- data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/IgnoreSubmanErrors.test.js.snap +1 -1
- data/webpack/components/extensions/RegistrationCommands/fields/ActivationKeys.js +38 -49
- data/webpack/containers/Application/overrides.scss +7 -7
- data/webpack/ouia_id_check.js +15 -11
- data/webpack/redux/actions/RedHatRepositories/helpers.js +0 -2
- data/webpack/scenes/ActivationKeys/Details/__tests__/activationKeyDetails.test.js +12 -6
- data/webpack/scenes/ActivationKeys/Details/components/DeleteMenu.js +12 -2
- data/webpack/scenes/ActivationKeys/Details/components/EditModal.js +3 -3
- data/webpack/scenes/AlternateContentSources/Create/ACSCreateWizard.js +3 -1
- data/webpack/scenes/AlternateContentSources/Create/Steps/ACSCreateFinish.js +3 -1
- data/webpack/scenes/AlternateContentSources/Create/Steps/ACSCredentials.js +12 -6
- data/webpack/scenes/AlternateContentSources/Create/Steps/ACSSmartProxies.js +1 -1
- data/webpack/scenes/AlternateContentSources/Create/Steps/AcsUrlPaths.js +22 -7
- data/webpack/scenes/AlternateContentSources/Create/Steps/NameACS.js +2 -2
- data/webpack/scenes/AlternateContentSources/Create/Steps/SelectSource.js +1 -1
- data/webpack/scenes/AlternateContentSources/Create/__tests__/acsCreate.test.js +6 -3
- data/webpack/scenes/AlternateContentSources/Details/ACSExpandableDetails.js +25 -15
- data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditCredentials.js +9 -6
- data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditDetails.js +2 -2
- data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditSmartProxies.js +1 -1
- data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditURLPaths.js +33 -7
- data/webpack/scenes/AlternateContentSources/Details/__tests__/ACSEdits.test.js +10 -5
- data/webpack/scenes/AlternateContentSources/Details/__tests__/ACSExpandableDetails.test.js +4 -2
- data/webpack/scenes/AlternateContentSources/MainTable/ACSTable.js +10 -8
- data/webpack/scenes/AlternateContentSources/MainTable/__tests__/acsTable.test.js +4 -2
- data/webpack/scenes/BootedContainerImages/BootedContainerImagesPage.js +5 -5
- data/webpack/scenes/Content/Details/__tests__/contentDetail.test.js +8 -4
- data/webpack/scenes/Content/__tests__/contentTable.test.js +4 -2
- data/webpack/scenes/ContentViews/Copy/CopyContentViewForm.js +1 -1
- data/webpack/scenes/ContentViews/Copy/__tests__/contentViewCopyResult.fixtures.json +1 -0
- data/webpack/scenes/ContentViews/Copy/__tests__/copyContentView.test.js +2 -1
- data/webpack/scenes/ContentViews/Create/CreateContentViewForm.js +86 -31
- data/webpack/scenes/ContentViews/Create/CreateContentViewForm.scss +10 -2
- data/webpack/scenes/ContentViews/Create/__tests__/contentViewCreateResult.fixtures.json +1 -0
- data/webpack/scenes/ContentViews/Create/__tests__/createContentView.test.js +10 -4
- data/webpack/scenes/ContentViews/Delete/ContentViewDeleteWizard.js +3 -1
- data/webpack/scenes/ContentViews/Delete/Steps/CVDeleteEnvironmentsSelection.js +6 -6
- data/webpack/scenes/ContentViews/Delete/Steps/CVDeletionReassignActivationKeysForm.js +7 -2
- data/webpack/scenes/ContentViews/Delete/Steps/CVDeletionReassignHostsForm.js +7 -2
- data/webpack/scenes/ContentViews/Delete/Steps/CVDeletionReview.js +3 -3
- data/webpack/scenes/ContentViews/Delete/Steps/CVEnvironmentSelectionForm.scss +1 -1
- data/webpack/scenes/ContentViews/Delete/__tests__/CvData.fixtures.json +2 -1
- data/webpack/scenes/ContentViews/Delete/__tests__/affectedHosts.fixtures.json +3 -2
- data/webpack/scenes/ContentViews/Delete/__tests__/contentViewDelete.test.js +10 -8
- data/webpack/scenes/ContentViews/Delete/__tests__/cvDetails.fixtures.json +2 -1
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentContentViewAddModal.js +16 -5
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentContentViewBulkAddModal.js +19 -5
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentEnvironments.js +1 -1
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/ContentViewComponents.js +11 -2
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/__tests__/compositeCVDetails.fixtures.json +2 -1
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/__tests__/contentViewComponents.test.js +69 -27
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/__tests__/publishedContentViewDetails.fixtures.json +2 -1
- data/webpack/scenes/ContentViews/Details/ContentViewDetails.js +22 -29
- data/webpack/scenes/ContentViews/Details/ContentViewInfo.js +6 -2
- data/webpack/scenes/ContentViews/Details/Filters/Add/CVFilterAddModal.js +20 -7
- data/webpack/scenes/ContentViews/Details/Filters/Add/__tests__/cvFilterAdd.test.js +4 -2
- data/webpack/scenes/ContentViews/Details/Filters/AffectedRepositories/AffectedRepositorySelection.js +5 -2
- data/webpack/scenes/ContentViews/Details/Filters/AffectedRepositories/AffectedRepositoryTable.js +3 -1
- data/webpack/scenes/ContentViews/Details/Filters/ArtifactsWithNoErrata.js +1 -1
- data/webpack/scenes/ContentViews/Details/Filters/CVContainerImageFilterContent.js +4 -2
- data/webpack/scenes/ContentViews/Details/Filters/CVDebFilterContent.js +13 -1
- data/webpack/scenes/ContentViews/Details/Filters/CVErrataDateFilterContent.js +23 -7
- data/webpack/scenes/ContentViews/Details/Filters/CVErrataIDFilterContent.js +23 -5
- data/webpack/scenes/ContentViews/Details/Filters/CVModuleStreamFilterContent.js +15 -3
- data/webpack/scenes/ContentViews/Details/Filters/CVPackageGroupFilterContent.js +15 -3
- data/webpack/scenes/ContentViews/Details/Filters/CVRpmFilterContent.js +13 -1
- data/webpack/scenes/ContentViews/Details/Filters/ContentViewFilterDetailsHeader.js +6 -4
- data/webpack/scenes/ContentViews/Details/Filters/ContentViewFilters.js +11 -1
- data/webpack/scenes/ContentViews/Details/Filters/MatchContentModal/__tests__/CVRpmMatchContentModal.test.js +4 -2
- data/webpack/scenes/ContentViews/Details/Filters/MatchContentModal/matchContentModal.scss +1 -1
- data/webpack/scenes/ContentViews/Details/Filters/Rules/DebPackage/AddEditDebPackageRuleModal.js +2 -2
- data/webpack/scenes/ContentViews/Details/Filters/Rules/Package/AddEditPackageRuleModal.js +4 -4
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/CVContainerImageFilterContent.test.js +18 -12
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/CVRpmFilterContent.test.js +7 -11
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/ContentViewPackageGroupFilter.test.js +81 -70
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/contentViewErrataByDateDetails.fixtures.json +1 -0
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/contentViewFilterDetails.test.js +4 -2
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/contentViewFilters.test.js +52 -38
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvErrataDateFilterContent.test.js +9 -4
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvErrataIDFilter.test.js +18 -12
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvErratumFilterDetails.fixtures.json +1 -0
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvFilterDetailModuleAffectedRepos.fixtures.json +1 -0
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvFilterDetailWithAffectedRepos.fixtures.json +1 -0
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvFilterFixutre.fixture.json +2 -1
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvModuleStreamFilter.test.js +77 -67
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvModuleStreamFilterDetails.fixtures.json +1 -0
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvPackageFilterDetail.fixtures.json +1 -0
- data/webpack/scenes/ContentViews/Details/Histories/ContentViewHistories.js +2 -2
- data/webpack/scenes/ContentViews/Details/Histories/__tests__/contentViewHistory.test.js +4 -2
- data/webpack/scenes/ContentViews/Details/Promote/ContentViewVersionPromote.js +1 -1
- data/webpack/scenes/ContentViews/Details/Repositories/ContentViewRepositories.js +7 -5
- data/webpack/scenes/ContentViews/Details/Repositories/__tests__/contentViewAddRemove.test.js +6 -3
- data/webpack/scenes/ContentViews/Details/Repositories/__tests__/contentViewRepoAdd.fixture.json +1 -0
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/ActionSummary.js +3 -2
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/BulkDeleteModal.js +3 -1
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/Steps/ConfirmBulkDelete.js +2 -2
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/Steps/ReassignActivationKeys.js +3 -1
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/Steps/ReassignHosts.js +3 -1
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/Steps/ReviewEnvironments.js +4 -4
- data/webpack/scenes/ContentViews/Details/Versions/Compare/CVVersionCompare.scss +11 -11
- data/webpack/scenes/ContentViews/Details/Versions/Compare/CVVersionCompareHeader.js +15 -5
- data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersionEnvironments.js +1 -1
- data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersions.js +13 -3
- data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveCVVersionWizard.js +3 -1
- data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVEnvironmentSelectionForm.js +17 -13
- data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVReassignActivationKeysForm.js +12 -7
- data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVReassignHostsForm.js +64 -7
- data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVVersionRemoveReview.js +52 -21
- data/webpack/scenes/ContentViews/Details/Versions/Delete/__tests__/cvVersionRemove.test.js +30 -16
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetails.scss +7 -7
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetailsHeader.js +5 -3
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetailsTable.js +4 -2
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionDetails.test.js +6 -3
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionDetailsEmpty.test.js +2 -1
- data/webpack/scenes/ContentViews/Details/Versions/__tests__/contentViewVersions.test.js +6 -6
- data/webpack/scenes/ContentViews/Details/__tests__/contentViewDetail.test.js +35 -4
- data/webpack/scenes/ContentViews/Details/__tests__/contentViewDetails.fixtures.json +1 -0
- data/webpack/scenes/ContentViews/Details/__tests__/contentViewRollingDetail.test.js +197 -0
- data/webpack/scenes/ContentViews/Details/__tests__/contentViewRollingDetails.fixtures.json +82 -0
- data/webpack/scenes/ContentViews/Publish/CVPublishFinish.js +3 -7
- data/webpack/scenes/ContentViews/Publish/CVPublishForm.js +2 -2
- data/webpack/scenes/ContentViews/Publish/CVPublishReview.js +6 -5
- data/webpack/scenes/ContentViews/Publish/PublishContentViewWizard.js +3 -1
- data/webpack/scenes/ContentViews/Publish/__tests__/publishContentView.test.js +15 -7
- data/webpack/scenes/ContentViews/Publish/cvPublishForm.scss +4 -4
- data/webpack/scenes/ContentViews/Table/ContentViewVersionCell.js +6 -4
- data/webpack/scenes/ContentViews/Table/ContentViewsTable.js +14 -3
- data/webpack/scenes/ContentViews/Table/tableDataGenerator.js +3 -0
- data/webpack/scenes/ContentViews/__tests__/basicContentViews.fixtures.js +1 -0
- data/webpack/scenes/ContentViews/__tests__/contentViewList.fixtures.json +89 -2
- data/webpack/scenes/ContentViews/__tests__/contentViewPage.test.js +85 -14
- data/webpack/scenes/ContentViews/__tests__/mockDetails.fixtures.json +2 -1
- data/webpack/scenes/ContentViews/components/ContentViewIcon.js +20 -6
- data/webpack/scenes/ContentViews/components/ContentViewSelect/ContentViewSelect.js +4 -1
- data/webpack/scenes/ContentViews/components/ContentViewSelect/ContentViewSelectOption.js +11 -2
- data/webpack/scenes/ContentViews/components/ContentViewsCounter.js +27 -7
- data/webpack/scenes/ContentViews/components/EnvironmentLabels.js +2 -2
- data/webpack/scenes/ContentViews/components/EnvironmentPaths/EnvironmentPaths.js +6 -2
- data/webpack/scenes/ContentViews/components/EnvironmentPaths/EnvironmentPaths.scss +4 -1
- data/webpack/scenes/ContentViews/components/FiltersAppliedIcon.js +4 -2
- data/webpack/scenes/ContentViews/components/NeedsPublishIcon.js +7 -6
- data/webpack/scenes/ContentViews/components/NeedsPublishIcon.scss +2 -2
- data/webpack/scenes/ContentViews/components/contentViewIcon.scss +16 -3
- data/webpack/scenes/ContentViews/expansions/DetailsExpansion.js +6 -1
- data/webpack/scenes/ContentViews/expansions/RelatedCompositeContentViewsModal.js +3 -3
- data/webpack/scenes/ContentViews/expansions/__tests__/contentViewComponentsModal.test.js +2 -1
- data/webpack/scenes/Hosts/ChangeContentSource/components/ContentSourceForm.js +5 -3
- data/webpack/scenes/Hosts/ChangeContentSource/components/ContentSourceTemplate.js +3 -2
- data/webpack/scenes/Hosts/ChangeContentSource/components/FormField.js +1 -1
- data/webpack/scenes/Hosts/ChangeContentSource/components/HostsModal.js +1 -1
- data/webpack/scenes/RedHatRepositories/components/EnabledRepository/EnabledRepositoryContent.js +1 -1
- data/webpack/scenes/RedHatRepositories/components/EnabledRepository/__tests__/__snapshots__/EnabledRepositoryContent.test.js.snap +1 -1
- data/webpack/scenes/RedHatRepositories/index.scss +1 -1
- data/webpack/scenes/SmartProxy/ExpandableCvDetails.js +27 -7
- data/webpack/scenes/SmartProxy/ExpandedSmartProxyRepositories.js +51 -2
- data/webpack/scenes/SmartProxy/SmartProxyExpandableTable.js +2 -2
- data/webpack/scenes/SmartProxy/__tests__/SmartProxyContentTest.js +14 -9
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/CdnConfigurationForm.scss +1 -1
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/CustomCdnTypeForm.js +2 -2
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/NetworkSyncForm.js +6 -6
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/__tests__/CdnTypeForm.test.js +2 -1
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/__tests__/CustomCdnTypeForm.test.js +2 -1
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/__tests__/ExportSyncForm.test.js +2 -1
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/__tests__/NetworkSyncForm.test.js +2 -1
- metadata +125 -53
- data/app/models/katello/yum_metadata_file.rb +0 -22
- data/app/services/katello/pulp3/yum_metadata_file.rb +0 -20
@@ -1,5 +1,5 @@
|
|
1
1
|
import React from 'react';
|
2
|
-
import { renderWithRedux, patientlyWaitFor, within, fireEvent } from 'react-testing-lib-wrapper';
|
2
|
+
import { renderWithRedux, patientlyWaitFor, within, fireEvent, act } from 'react-testing-lib-wrapper';
|
3
3
|
import { nockInstance, assertNockRequest, mockForemanAutocomplete } from '../../../../../test-utils/nockWrapper';
|
4
4
|
import { foremanApi } from '../../../../../services/api';
|
5
5
|
import { HOST_ERRATA_KEY, ERRATA_SEARCH_QUERY } from '../ErrataTab/HostErrataConstants';
|
@@ -20,6 +20,9 @@ const contentFacetAttributes = {
|
|
20
20
|
id: 11,
|
21
21
|
uuid: 'e5761ea3-4117-4ecf-83d0-b694f99b389e',
|
22
22
|
content_view_default: false,
|
23
|
+
contentView: {
|
24
|
+
rolling: false,
|
25
|
+
},
|
23
26
|
lifecycle_environment_library: false,
|
24
27
|
errata_counts: {
|
25
28
|
total: 3,
|
@@ -123,7 +126,8 @@ test('Can call API for errata and show on screen on page load', async (done) =>
|
|
123
126
|
await patientlyWaitFor(() => expect(getAllByText(firstErrata.severity)[0]).toBeInTheDocument());
|
124
127
|
// Assert request was made and completed, see helper function
|
125
128
|
assertNockRequest(autocompleteScope);
|
126
|
-
assertNockRequest(scope
|
129
|
+
assertNockRequest(scope);
|
130
|
+
done(); // Pass jest callback to confirm test is done
|
127
131
|
});
|
128
132
|
|
129
133
|
test('Can handle no errata being present', async (done) => {
|
@@ -149,7 +153,8 @@ test('Can handle no errata being present', async (done) => {
|
|
149
153
|
await patientlyWaitFor(() => expect(queryByText('This host has errata that are applicable, but not installable. Adjust your filters and try again.')).toBeInTheDocument());
|
150
154
|
// Assert request was made and completed, see helper function
|
151
155
|
assertNockRequest(autocompleteScope);
|
152
|
-
assertNockRequest(scope
|
156
|
+
assertNockRequest(scope);
|
157
|
+
done(); // Pass jest callback to confirm test is done
|
153
158
|
});
|
154
159
|
|
155
160
|
test('Can display expanded errata details', async (done) => {
|
@@ -192,7 +197,8 @@ test('Can display expanded errata details', async (done) => {
|
|
192
197
|
expect(queryByText(firstErrata.summary)).not.toBeInTheDocument();
|
193
198
|
// Assert request was made and completed, see helper function
|
194
199
|
assertNockRequest(autocompleteScope);
|
195
|
-
assertNockRequest(scope
|
200
|
+
assertNockRequest(scope);
|
201
|
+
done(); // Pass jest callback to confirm test is done
|
196
202
|
});
|
197
203
|
|
198
204
|
test('Can select one errata', async (done) => {
|
@@ -225,7 +231,8 @@ test('Can select one errata', async (done) => {
|
|
225
231
|
expect(queryByText('1 selected')).toBeInTheDocument();
|
226
232
|
|
227
233
|
assertNockRequest(autocompleteScope);
|
228
|
-
assertNockRequest(scope
|
234
|
+
assertNockRequest(scope);
|
235
|
+
done(); // Pass jest callback to confirm test is done
|
229
236
|
});
|
230
237
|
|
231
238
|
test('Can select all errata across pages through checkbox', async (done) => {
|
@@ -265,8 +272,10 @@ test('Can select all errata across pages through checkbox', async (done) => {
|
|
265
272
|
expect(getByLabelText('Select row 0').checked).toEqual(true);
|
266
273
|
|
267
274
|
assertNockRequest(autocompleteScope);
|
268
|
-
assertNockRequest(scope
|
269
|
-
|
275
|
+
assertNockRequest(scope);
|
276
|
+
done();
|
277
|
+
assertNockRequest(scope2);
|
278
|
+
done(); // Pass jest callback to confirm test is done
|
270
279
|
});
|
271
280
|
|
272
281
|
test('Can deselect all errata across pages through checkbox', async (done) => {
|
@@ -310,8 +319,10 @@ test('Can deselect all errata across pages through checkbox', async (done) => {
|
|
310
319
|
expect(getByLabelText('Select row 0').checked).toEqual(false);
|
311
320
|
|
312
321
|
assertNockRequest(autocompleteScope);
|
313
|
-
assertNockRequest(scope
|
314
|
-
|
322
|
+
assertNockRequest(scope);
|
323
|
+
done(); // Pass jest callback to confirm test is done
|
324
|
+
assertNockRequest(scope2);
|
325
|
+
done();
|
315
326
|
});
|
316
327
|
|
317
328
|
|
@@ -352,8 +363,10 @@ test('Can select & deselect errata across pages', async (done) => {
|
|
352
363
|
expect(queryByText('4 selected')).toBeInTheDocument();
|
353
364
|
|
354
365
|
assertNockRequest(autocompleteScope);
|
355
|
-
assertNockRequest(scope
|
356
|
-
|
366
|
+
assertNockRequest(scope);
|
367
|
+
done(); // Pass jest callback to confirm test is done
|
368
|
+
assertNockRequest(scope2);
|
369
|
+
done();
|
357
370
|
});
|
358
371
|
|
359
372
|
test('Can select & de-select all errata through selectDropDown', async (done) => {
|
@@ -394,7 +407,8 @@ test('Can select & de-select all errata through selectDropDown', async (done) =>
|
|
394
407
|
expect(getByLabelText('Select row 0').checked).toEqual(false);
|
395
408
|
|
396
409
|
assertNockRequest(autocompleteScope);
|
397
|
-
assertNockRequest(scope
|
410
|
+
assertNockRequest(scope);
|
411
|
+
done(); // Pass jest callback to confirm test is done
|
398
412
|
});
|
399
413
|
|
400
414
|
test('Can de-select items in select all mode across pages', async (done) => {
|
@@ -460,9 +474,12 @@ test('Can de-select items in select all mode across pages', async (done) => {
|
|
460
474
|
expect(getByLabelText('Select row 1').checked).toEqual(false);
|
461
475
|
|
462
476
|
assertNockRequest(autocompleteScope);
|
463
|
-
assertNockRequest(scope
|
464
|
-
|
465
|
-
assertNockRequest(
|
477
|
+
assertNockRequest(scope);
|
478
|
+
done(); // Pass jest callback to confirm test is done
|
479
|
+
assertNockRequest(scope2);
|
480
|
+
done();
|
481
|
+
assertNockRequest(scope3);
|
482
|
+
done();
|
466
483
|
});
|
467
484
|
|
468
485
|
test('Can select page and select only items on the page', async (done) => {
|
@@ -496,7 +513,8 @@ test('Can select page and select only items on the page', async (done) => {
|
|
496
513
|
expect(getByLabelText('Select row 0').checked).toEqual(true);
|
497
514
|
|
498
515
|
assertNockRequest(autocompleteScope);
|
499
|
-
assertNockRequest(scope
|
516
|
+
assertNockRequest(scope);
|
517
|
+
done(); // Pass jest callback to confirm test is done
|
500
518
|
});
|
501
519
|
|
502
520
|
test('Select all is disabled if all rows are selected', async (done) => {
|
@@ -550,7 +568,8 @@ test('Select all is disabled if all rows are selected', async (done) => {
|
|
550
568
|
expect(getByText('Select none (0)')).toHaveAttribute('aria-disabled', 'false');
|
551
569
|
|
552
570
|
assertNockRequest(autocompleteScope);
|
553
|
-
assertNockRequest(scope
|
571
|
+
assertNockRequest(scope);
|
572
|
+
done(); // Pass jest callback to confirm test is done
|
554
573
|
});
|
555
574
|
|
556
575
|
test('Toggle Group shows if it\'s not the default content view or library enviroment', async (done) => {
|
@@ -572,7 +591,8 @@ test('Toggle Group shows if it\'s not the default content view or library enviro
|
|
572
591
|
await patientlyWaitFor(() => expect(getAllByText('Important')[0]).toBeInTheDocument());
|
573
592
|
expect(queryByLabelText('Installable Errata')).toBeInTheDocument();
|
574
593
|
assertNockRequest(autocompleteScope);
|
575
|
-
assertNockRequest(scope
|
594
|
+
assertNockRequest(scope);
|
595
|
+
done(); // Pass jest callback to confirm test is done
|
576
596
|
});
|
577
597
|
|
578
598
|
test('Toggle Group shows if it\'s the default content view but non-library environment', async (done) => {
|
@@ -598,7 +618,8 @@ test('Toggle Group shows if it\'s the default content view but non-library envir
|
|
598
618
|
await patientlyWaitFor(() => expect(getAllByText('Important')[0]).toBeInTheDocument());
|
599
619
|
expect(queryByLabelText('Installable Errata')).toBeInTheDocument();
|
600
620
|
assertNockRequest(autocompleteScope);
|
601
|
-
assertNockRequest(scope
|
621
|
+
assertNockRequest(scope);
|
622
|
+
done(); // Pass jest callback to confirm test is done
|
602
623
|
});
|
603
624
|
|
604
625
|
test('Toggle Group shows if it\'s the library environment but non-default content view', async (done) => {
|
@@ -625,7 +646,8 @@ test('Toggle Group shows if it\'s the library environment but non-default conten
|
|
625
646
|
await patientlyWaitFor(() => expect(getAllByText('Important')[0]).toBeInTheDocument());
|
626
647
|
expect(queryByLabelText('Installable Errata')).toBeInTheDocument();
|
627
648
|
assertNockRequest(autocompleteScope);
|
628
|
-
assertNockRequest(scope
|
649
|
+
assertNockRequest(scope);
|
650
|
+
done(); // Pass jest callback to confirm test is done
|
629
651
|
});
|
630
652
|
|
631
653
|
test('Toggle Group does not show if it\'s the default content view and library environment', async (done) => {
|
@@ -648,6 +670,36 @@ test('Toggle Group does not show if it\'s the default content view and library e
|
|
648
670
|
getAllByText,
|
649
671
|
} = renderWithRedux(<ErrataTab />, options);
|
650
672
|
|
673
|
+
// Assert that the errata are now showing on the screen, but wait for them to appear.
|
674
|
+
await patientlyWaitFor(() => expect(getAllByText('Important')[0]).toBeInTheDocument());
|
675
|
+
expect(queryByLabelText('Installable Errata')).not.toBeInTheDocument();
|
676
|
+
assertNockRequest(autocompleteScope);
|
677
|
+
assertNockRequest(scope);
|
678
|
+
done(); // Pass jest callback to confirm test is done
|
679
|
+
});
|
680
|
+
|
681
|
+
test('Toggle Group does not show if it\'s a rolling content view and library environment', async (done) => {
|
682
|
+
// Setup autocomplete with mockForemanAutoComplete since we aren't adding /katello
|
683
|
+
const autocompleteScope = mockForemanAutocomplete(nockInstance, autocompleteUrl);
|
684
|
+
const mockErrata = makeMockErrata({});
|
685
|
+
const options = renderOptions({
|
686
|
+
...cfWithErrataTotal(mockErrata.total),
|
687
|
+
contentView: {
|
688
|
+
rolling: true,
|
689
|
+
},
|
690
|
+
lifecycle_environment_library: true,
|
691
|
+
});
|
692
|
+
// return errata data results when we look for errata
|
693
|
+
const scope = nockInstance
|
694
|
+
.get(hostErrata)
|
695
|
+
.query(defaultQuery)
|
696
|
+
.reply(200, mockErrata);
|
697
|
+
|
698
|
+
const {
|
699
|
+
queryByLabelText,
|
700
|
+
getAllByText,
|
701
|
+
} = renderWithRedux(<ErrataTab />, options);
|
702
|
+
|
651
703
|
// Assert that the errata are now showing on the screen, but wait for them to appear.
|
652
704
|
await patientlyWaitFor(() => expect(getAllByText('Important')[0]).toBeInTheDocument());
|
653
705
|
expect(queryByLabelText('Installable Errata')).not.toBeInTheDocument();
|
@@ -676,7 +728,8 @@ test('Selection is disabled for errata which are applicable but not installable'
|
|
676
728
|
expect(getByLabelText('Select row 1')).not.toBeDisabled();
|
677
729
|
|
678
730
|
assertNockRequest(autocompleteScope);
|
679
|
-
assertNockRequest(scope
|
731
|
+
assertNockRequest(scope);
|
732
|
+
done(); // Pass jest callback to confirm test is done
|
680
733
|
});
|
681
734
|
|
682
735
|
test('Can select only installable errata across pages through checkbox', async (done) => {
|
@@ -719,8 +772,10 @@ test('Can select only installable errata across pages through checkbox', async (
|
|
719
772
|
expect(getByLabelText('Select row 0').checked).toEqual(true);
|
720
773
|
|
721
774
|
assertNockRequest(autocompleteScope);
|
722
|
-
assertNockRequest(scope
|
723
|
-
|
775
|
+
assertNockRequest(scope);
|
776
|
+
done();
|
777
|
+
assertNockRequest(scope2);
|
778
|
+
done(); // Pass jest callback to confirm test is done
|
724
779
|
});
|
725
780
|
|
726
781
|
test('Can toggle with the Toggle Group ', async (done) => {
|
@@ -746,7 +801,8 @@ test('Can toggle with the Toggle Group ', async (done) => {
|
|
746
801
|
expect(getByText('Applicable').parentElement).toHaveAttribute('aria-pressed', 'false');
|
747
802
|
expect(getAllByText('Installable')[0].parentElement).toHaveAttribute('aria-pressed', 'true');
|
748
803
|
assertNockRequest(autocompleteScope);
|
749
|
-
assertNockRequest(scope
|
804
|
+
assertNockRequest(scope);
|
805
|
+
done(); // Pass jest callback to confirm test is done
|
750
806
|
});
|
751
807
|
|
752
808
|
test('Can filter by errata type', async (done) => {
|
@@ -788,7 +844,8 @@ test('Can filter by errata type', async (done) => {
|
|
788
844
|
|
789
845
|
assertNockRequest(autocompleteScope);
|
790
846
|
assertNockRequest(scope);
|
791
|
-
assertNockRequest(scope2
|
847
|
+
assertNockRequest(scope2);
|
848
|
+
done(); // Pass jest callback to confirm test is done
|
792
849
|
});
|
793
850
|
|
794
851
|
test('Can filter by severity', async (done) => {
|
@@ -815,7 +872,7 @@ test('Can filter by severity', async (done) => {
|
|
815
872
|
await patientlyWaitFor(() => expect(getAllByText('Important')[0]).toBeInTheDocument());
|
816
873
|
// the Bugfix text in the table is just a text node, while the dropdown is a button
|
817
874
|
expect(getByText('Moderate', { ignore: ['button', 'title'] })).toBeInTheDocument();
|
818
|
-
expect(getByText('Important', { ignore: ['.pf-c-select__toggle-text', 'title'] })).toBeInTheDocument();
|
875
|
+
expect(getByText('Important', { ignore: ['.pf-v5-c-select__toggle-text', 'title'] })).toBeInTheDocument();
|
819
876
|
expect(getByText('Critical', { ignore: ['button', 'title'] })).toBeInTheDocument();
|
820
877
|
const severityContainer = queryByLabelText('select Severity container', { ignore: 'th' });
|
821
878
|
const severityDropdown = within(severityContainer).queryByText('Severity');
|
@@ -824,17 +881,18 @@ test('Can filter by severity', async (done) => {
|
|
824
881
|
const important = getByRole('option', { name: 'select Important' });
|
825
882
|
fireEvent.click(important);
|
826
883
|
await patientlyWaitFor(() => {
|
827
|
-
expect(queryByText('Moderate', { ignore: ['.pf-c-select__toggle-text'] })).not.toBeInTheDocument();
|
828
|
-
expect(queryByText('Critical', { ignore: ['.pf-c-select__toggle-text'] })).not.toBeInTheDocument();
|
884
|
+
expect(queryByText('Moderate', { ignore: ['.pf-v5-c-select__toggle-text'] })).not.toBeInTheDocument();
|
885
|
+
expect(queryByText('Critical', { ignore: ['.pf-v5-c-select__toggle-text'] })).not.toBeInTheDocument();
|
829
886
|
});
|
830
887
|
await patientlyWaitFor(() => {
|
831
|
-
expect(getByText('Important', { ignore: ['.pf-c-select__toggle-text', 'title'] })).toBeInTheDocument();
|
888
|
+
expect(getByText('Important', { ignore: ['.pf-v5-c-select__toggle-text', 'title'] })).toBeInTheDocument();
|
832
889
|
});
|
833
890
|
|
834
891
|
|
835
892
|
assertNockRequest(autocompleteScope);
|
836
893
|
assertNockRequest(scope);
|
837
|
-
assertNockRequest(scope2
|
894
|
+
assertNockRequest(scope2);
|
895
|
+
done(); // Pass jest callback to confirm test is done
|
838
896
|
});
|
839
897
|
|
840
898
|
test('Can bulk apply via remote execution', async (done) => {
|
@@ -871,11 +929,14 @@ test('Can bulk apply via remote execution', async (done) => {
|
|
871
929
|
actionMenu.click();
|
872
930
|
const viaRexAction = queryByText('Apply via remote execution');
|
873
931
|
expect(viaRexAction).toBeInTheDocument();
|
874
|
-
|
932
|
+
await act(async () => {
|
933
|
+
viaRexAction.click();
|
934
|
+
});
|
875
935
|
|
876
936
|
assertNockRequest(autocompleteScope);
|
877
937
|
assertNockRequest(resolveErrataScope);
|
878
|
-
assertNockRequest(scope
|
938
|
+
assertNockRequest(scope);
|
939
|
+
done();
|
879
940
|
});
|
880
941
|
|
881
942
|
test('Can select all, exclude and bulk apply via remote execution', async (done) => {
|
@@ -911,11 +972,14 @@ test('Can select all, exclude and bulk apply via remote execution', async (done)
|
|
911
972
|
actionMenu.click();
|
912
973
|
const viaRexAction = queryByText('Apply via remote execution');
|
913
974
|
expect(viaRexAction).toBeInTheDocument();
|
914
|
-
|
975
|
+
await act(async () => {
|
976
|
+
viaRexAction.click();
|
977
|
+
});
|
915
978
|
|
916
979
|
assertNockRequest(autocompleteScope);
|
917
980
|
assertNockRequest(resolveErrataScope);
|
918
|
-
assertNockRequest(scope
|
981
|
+
assertNockRequest(scope);
|
982
|
+
done();
|
919
983
|
});
|
920
984
|
|
921
985
|
test('Can apply errata in bulk via customized remote execution', async (done) => {
|
@@ -947,9 +1011,12 @@ test('Can apply errata in bulk via customized remote execution', async (done) =>
|
|
947
1011
|
`/job_invocations/new?feature=${feature}&search=name%20%5E%20(${hostName})&inputs%5BErrata%20search%20query%5D=errata_id%20%5E%20(${errata})`,
|
948
1012
|
);
|
949
1013
|
|
950
|
-
|
1014
|
+
await act(async () => {
|
1015
|
+
viaRexAction.click();
|
1016
|
+
});
|
951
1017
|
assertNockRequest(autocompleteScope);
|
952
|
-
assertNockRequest(scope
|
1018
|
+
assertNockRequest(scope);
|
1019
|
+
done();
|
953
1020
|
});
|
954
1021
|
|
955
1022
|
test('Can apply a single erratum to the host via remote execution', async (done) => {
|
@@ -973,20 +1040,25 @@ test('Can apply a single erratum to the host via remote execution', async (done)
|
|
973
1040
|
renderOptions(cfWithErrataTotal(mockErrata.total)),
|
974
1041
|
);
|
975
1042
|
await patientlyWaitFor(() => expect(getAllByText('Important')[0]).toBeInTheDocument());
|
976
|
-
const erratumActionMenu = within(getByLabelText('Select row 0').closest('tr')).getByLabelText('
|
977
|
-
expect(erratumActionMenu).toHaveAttribute('aria-label', '
|
978
|
-
|
1043
|
+
const erratumActionMenu = within(getByLabelText('Select row 0').closest('tr')).getByLabelText('Kebab toggle');
|
1044
|
+
expect(erratumActionMenu).toHaveAttribute('aria-label', 'Kebab toggle');
|
1045
|
+
await act(async () => {
|
1046
|
+
erratumActionMenu.click();
|
1047
|
+
});
|
979
1048
|
|
980
1049
|
let viaRexAction;
|
981
1050
|
await patientlyWaitFor(() => {
|
982
1051
|
viaRexAction = getByText('Apply via remote execution');
|
983
1052
|
expect(viaRexAction).toBeInTheDocument();
|
984
1053
|
});
|
985
|
-
|
1054
|
+
await act(async () => {
|
1055
|
+
viaRexAction.click();
|
1056
|
+
});
|
986
1057
|
|
987
1058
|
assertNockRequest(autocompleteScope);
|
988
1059
|
assertNockRequest(resolveErrataScope);
|
989
|
-
assertNockRequest(scope
|
1060
|
+
assertNockRequest(scope);
|
1061
|
+
done();
|
990
1062
|
});
|
991
1063
|
|
992
1064
|
test('Can apply a single erratum to the host via customized remote execution', async (done) => {
|
@@ -1005,20 +1077,24 @@ test('Can apply a single erratum to the host via customized remote execution', a
|
|
1005
1077
|
renderOptions(cfWithErrataTotal(mockErrata.total)),
|
1006
1078
|
);
|
1007
1079
|
await patientlyWaitFor(() => expect(getAllByText('Important')[0]).toBeInTheDocument());
|
1008
|
-
const erratumActionMenu = within(getByLabelText('Select row 0').closest('tr')).getByLabelText('
|
1009
|
-
expect(erratumActionMenu).toHaveAttribute('aria-label', '
|
1010
|
-
|
1011
|
-
|
1080
|
+
const erratumActionMenu = within(getByLabelText('Select row 0').closest('tr')).getByLabelText('Kebab toggle');
|
1081
|
+
expect(erratumActionMenu).toHaveAttribute('aria-label', 'Kebab toggle');
|
1082
|
+
await act(async () => {
|
1083
|
+
erratumActionMenu.click();
|
1084
|
+
});
|
1012
1085
|
let viaRexAction;
|
1013
1086
|
await patientlyWaitFor(() => {
|
1014
1087
|
viaRexAction = getByText('Apply via customized remote execution');
|
1015
1088
|
expect(viaRexAction).toBeInTheDocument();
|
1016
1089
|
});
|
1017
|
-
|
1090
|
+
await act(async () => {
|
1091
|
+
viaRexAction.click();
|
1092
|
+
});
|
1018
1093
|
expect(viaRexAction).toHaveAttribute(
|
1019
1094
|
'href',
|
1020
1095
|
`/job_invocations/new?feature=${feature}&search=name%20%5E%20(${hostName})&inputs%5BErrata%20search%20query%5D=errata_id%20=%20${errataId}`,
|
1021
1096
|
);
|
1022
1097
|
assertNockRequest(autocompleteScope);
|
1023
|
-
assertNockRequest(scope
|
1098
|
+
assertNockRequest(scope);
|
1099
|
+
done();
|
1024
1100
|
});
|
@@ -62,7 +62,8 @@ test('Can call API for Module streams and show on screen on page load', async (d
|
|
62
62
|
expect(getAllByText(firstModuleStreams.name)[0]).toBeInTheDocument());
|
63
63
|
// Assert request was made and completed, see helper function
|
64
64
|
assertNockRequest(autocompleteScope);
|
65
|
-
assertNockRequest(scope
|
65
|
+
assertNockRequest(scope);
|
66
|
+
done(); // Pass jest callback to confirm test is done
|
66
67
|
act(done);
|
67
68
|
});
|
68
69
|
|
@@ -89,7 +90,8 @@ test('Can handle no Module streams being present', async (done) => {
|
|
89
90
|
await patientlyWaitFor(() => expect(queryByText('This host does not have any Module streams.')).toBeInTheDocument());
|
90
91
|
// Assert request was made and completed, see helper function
|
91
92
|
assertNockRequest(autocompleteScope);
|
92
|
-
assertNockRequest(scope
|
93
|
+
assertNockRequest(scope);
|
94
|
+
done(); // Pass jest callback to confirm test is done
|
93
95
|
act(done);
|
94
96
|
});
|
95
97
|
|
@@ -166,7 +168,8 @@ test('When there are no search results, can display an empty state with a clear
|
|
166
168
|
assertNockRequest(badAutoCompleteScope);
|
167
169
|
assertNockRequest(badSearchScope);
|
168
170
|
assertNockRequest(scopeWithoutSearch);
|
169
|
-
assertNockRequest(autocompleteScope
|
171
|
+
assertNockRequest(autocompleteScope);
|
172
|
+
done();
|
170
173
|
});
|
171
174
|
|
172
175
|
test('Can filter results based on status', async (done) => {
|
@@ -198,7 +201,8 @@ test('Can filter results based on status', async (done) => {
|
|
198
201
|
fireEvent.click(installed);
|
199
202
|
assertNockRequest(autocompleteScope);
|
200
203
|
assertNockRequest(scope);
|
201
|
-
assertNockRequest(scope2
|
204
|
+
assertNockRequest(scope2);
|
205
|
+
done();
|
202
206
|
act(done);
|
203
207
|
});
|
204
208
|
|
@@ -231,7 +235,8 @@ test('Can filter results based on Installation status', async (done) => {
|
|
231
235
|
fireEvent.click(installed);
|
232
236
|
assertNockRequest(autocompleteScope);
|
233
237
|
assertNockRequest(scope);
|
234
|
-
assertNockRequest(scope2
|
238
|
+
assertNockRequest(scope2);
|
239
|
+
done();
|
235
240
|
act(done);
|
236
241
|
});
|
237
242
|
|
@@ -260,7 +265,8 @@ test('Can provide dropdown actions with redirects on Module Streams with customi
|
|
260
265
|
expect(getByText('Enable')).toHaveAttribute('href', '/job_invocations/new?feature=katello_module_stream_action&search=name%20%5E%20(test-host)&inputs%5Baction%5D=enable&inputs%5Bmodule_spec%5D=walrus:2.4');
|
261
266
|
expect(getByText('Install')).toHaveAttribute('href', '/job_invocations/new?feature=katello_module_stream_action&search=name%20%5E%20(test-host)&inputs%5Baction%5D=install&inputs%5Bmodule_spec%5D=walrus:2.4');
|
262
267
|
assertNockRequest(autocompleteScope);
|
263
|
-
assertNockRequest(scope
|
268
|
+
assertNockRequest(scope);
|
269
|
+
done();
|
264
270
|
act(done);
|
265
271
|
});
|
266
272
|
|
@@ -305,6 +311,7 @@ test('Can perform actions on Module Streams', async (done) => {
|
|
305
311
|
fireEvent.click(getByLabelText('confirm-module-action'));
|
306
312
|
assertNockRequest(autocompleteScope);
|
307
313
|
assertNockRequest(scope);
|
308
|
-
assertNockRequest(jobScope
|
314
|
+
assertNockRequest(jobScope);
|
315
|
+
done();
|
309
316
|
act(done);
|
310
317
|
});
|
@@ -79,7 +79,8 @@ test('Can call API for installable packages and show on screen on page load', as
|
|
79
79
|
await patientlyWaitFor(() => expect(getAllByText(firstPackages.name)[0]).toBeInTheDocument());
|
80
80
|
// Assert request was made and completed, see helper function
|
81
81
|
assertNockRequest(autocompleteScope);
|
82
|
-
assertNockRequest(scope
|
82
|
+
assertNockRequest(scope);
|
83
|
+
done(); // Pass jest callback to confirm test is done
|
83
84
|
});
|
84
85
|
|
85
86
|
test('Can handle no installable packages being present', async (done) => {
|
@@ -111,7 +112,8 @@ test('Can handle no installable packages being present', async (done) => {
|
|
111
112
|
await patientlyWaitFor(() => expect(queryByText('No packages available to install')).toBeInTheDocument());
|
112
113
|
// Assert request was made and completed, see helper function
|
113
114
|
assertNockRequest(autocompleteScope);
|
114
|
-
assertNockRequest(scope
|
115
|
+
assertNockRequest(scope);
|
116
|
+
done(); // Pass jest callback to confirm test is done
|
115
117
|
});
|
116
118
|
|
117
119
|
|
@@ -148,7 +150,8 @@ test('Can install a package via remote execution', async (done) => {
|
|
148
150
|
|
149
151
|
expect(triggerPackageInstall).toHaveBeenCalled();
|
150
152
|
assertNockRequest(autocompleteScope);
|
151
|
-
assertNockRequest(scope
|
153
|
+
assertNockRequest(scope);
|
154
|
+
done();
|
152
155
|
});
|
153
156
|
|
154
157
|
test('Can install a package via customized remote execution', async (done) => {
|
@@ -185,7 +188,8 @@ test('Can install a package via customized remote execution', async (done) => {
|
|
185
188
|
`/job_invocations/new?feature=${REX_FEATURES.KATELLO_PACKAGE_INSTALL}&search=name%20%5E%20(test-host)&inputs%5Bpackage%5D=duck,cheetah`,
|
186
189
|
);
|
187
190
|
assertNockRequest(autocompleteScope);
|
188
|
-
assertNockRequest(scope
|
191
|
+
assertNockRequest(scope);
|
192
|
+
done();
|
189
193
|
});
|
190
194
|
|
191
195
|
test('Uses package_install_by_search_query template when in select all mode', async (done) => {
|
@@ -223,6 +227,7 @@ test('Uses package_install_by_search_query template when in select all mode', as
|
|
223
227
|
`/job_invocations/new?feature=${REX_FEATURES.KATELLO_PACKAGE_INSTALL_BY_SEARCH}&search=name%20%5E%20(test-host)&inputs%5BPackage%20search%20query%5D=id%20!%5E%20(32376)`,
|
224
228
|
);
|
225
229
|
assertNockRequest(autocompleteScope);
|
226
|
-
assertNockRequest(scope
|
230
|
+
assertNockRequest(scope);
|
231
|
+
done();
|
227
232
|
});
|
228
233
|
|