katello 4.7.2 → 4.8.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of katello might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/app/controllers/katello/api/registry/registry_proxies_controller.rb +6 -4
- data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +15 -12
- data/app/controllers/katello/api/v2/capsule_content_controller.rb +0 -4
- data/app/controllers/katello/api/v2/content_export_incrementals_controller.rb +22 -81
- data/app/controllers/katello/api/v2/content_exports_controller.rb +11 -80
- data/app/controllers/katello/api/v2/content_imports_controller.rb +1 -0
- data/app/controllers/katello/api/v2/exports_controller.rb +130 -0
- data/app/controllers/katello/api/v2/host_subscriptions_controller.rb +7 -8
- data/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb +8 -4
- data/app/controllers/katello/api/v2/organizations_controller.rb +3 -0
- data/app/controllers/katello/api/v2/package_groups_controller.rb +0 -52
- data/app/controllers/katello/concerns/api/v2/bulk_hosts_extensions.rb +4 -6
- data/app/controllers/katello/concerns/api/v2/registration_controller_extensions.rb +1 -2
- data/app/controllers/katello/concerns/authorization/api/v2/content_views_controller.rb +4 -1
- data/app/controllers/katello/concerns/content_facet_hosts_controller_extensions.rb +24 -0
- data/app/controllers/katello/concerns/hosts_controller_extensions.rb +3 -3
- data/app/helpers/katello/hosts_and_hostgroups_helper.rb +55 -24
- data/app/helpers/katello/katello_urls_helper.rb +0 -15
- data/app/helpers/katello/sync_management_helper.rb +0 -4
- data/app/lib/actions/candlepin/environment/set_content.rb +7 -1
- data/app/lib/actions/candlepin/owner/destroy_imports.rb +1 -1
- data/app/lib/actions/katello/capsule_content/sync.rb +0 -4
- data/app/lib/actions/katello/capsule_content/sync_capsule.rb +1 -2
- data/app/lib/actions/katello/content_view/publish.rb +6 -2
- data/app/lib/actions/katello/content_view/remove.rb +8 -2
- data/app/lib/actions/katello/content_view_version/destroy.rb +1 -1
- data/app/lib/actions/katello/environment/destroy.rb +8 -2
- data/app/lib/actions/katello/host/reassign.rb +4 -2
- data/app/lib/actions/katello/orphan_cleanup/remove_orphans.rb +0 -1
- data/app/lib/actions/katello/product/destroy.rb +2 -1
- data/app/lib/actions/katello/repository/filtered_index_content.rb +2 -10
- data/app/lib/actions/katello/repository/import_upload.rb +0 -1
- data/app/lib/actions/katello/repository/sync.rb +0 -1
- data/app/lib/actions/katello/repository/update.rb +5 -3
- data/app/lib/actions/katello/repository/upload_files.rb +0 -1
- data/app/lib/actions/pulp3/abstract.rb +0 -6
- data/app/lib/actions/pulp3/content_view/delete_repository_references.rb +1 -2
- data/app/lib/actions/pulp3/content_view_version/create_syncable_export_history.rb +4 -0
- data/app/lib/actions/pulp3/orchestration/content_view_version/export.rb +1 -0
- data/app/lib/actions/pulp3/orchestration/content_view_version/export_repository.rb +7 -2
- data/app/lib/actions/pulp3/orchestration/content_view_version/syncable_export.rb +7 -2
- data/app/lib/actions/pulp3/repository/refresh_distribution.rb +1 -2
- data/app/lib/actions/pulp3/repository/save_distribution_references.rb +2 -2
- data/app/lib/katello/concerns/renderer_extensions.rb +1 -1
- data/app/lib/katello/event_daemon/runner.rb +12 -9
- data/app/lib/katello/resources/candlepin/consumer.rb +6 -6
- data/app/lib/katello/resources/candlepin/owner.rb +1 -1
- data/app/lib/katello/resources/candlepin/upstream_consumer.rb +3 -4
- data/app/lib/katello/resources/candlepin.rb +4 -4
- data/app/lib/katello/util/errata.rb +12 -10
- data/app/lib/katello/util/search.rb +0 -1
- data/app/lib/katello/validators/content_view_environment_org_validator.rb +5 -2
- data/app/lib/katello/validators/content_view_environment_validator.rb +1 -2
- data/app/lib/katello/validators/generated_content_view_validator.rb +16 -0
- data/app/mailers/katello/errata_mailer.rb +4 -2
- data/app/models/katello/alternate_content_source.rb +5 -1
- data/app/models/katello/concerns/content_facet_host_extensions.rb +25 -14
- data/app/models/katello/concerns/host_managed_extensions.rb +17 -8
- data/app/models/katello/concerns/redhat_extensions.rb +16 -6
- data/app/models/katello/concerns/smart_proxy_extensions.rb +0 -12
- data/app/models/katello/concerns/subscription_facet_host_extensions.rb +1 -0
- data/app/models/katello/content_view.rb +22 -5
- data/app/models/katello/content_view_environment.rb +11 -2
- data/app/models/katello/content_view_environment_content_facet.rb +9 -0
- data/app/models/katello/content_view_version.rb +10 -5
- data/app/models/katello/erratum.rb +6 -1
- data/app/models/katello/glue/candlepin/pool.rb +6 -0
- data/app/models/katello/glue/candlepin/product.rb +7 -1
- data/app/models/katello/glue/candlepin/subscription.rb +5 -0
- data/app/models/katello/glue/provider.rb +26 -26
- data/app/models/katello/host/content_facet.rb +106 -18
- data/app/models/katello/host/info_provider.rb +25 -21
- data/app/models/katello/host/subscription_facet.rb +18 -14
- data/app/models/katello/kt_environment.rb +12 -7
- data/app/models/katello/package_group.rb +0 -12
- data/app/models/katello/pool.rb +4 -1
- data/app/models/katello/product.rb +11 -1
- data/app/models/katello/repository.rb +11 -11
- data/app/models/katello/root_repository.rb +5 -4
- data/app/models/katello/task_status.rb +0 -18
- data/app/services/katello/candlepin/consumer.rb +2 -2
- data/app/services/katello/host/package_profile_uploader.rb +1 -1
- data/app/services/katello/product_content_finder.rb +11 -8
- data/app/services/katello/pulp3/content_view_version/export.rb +8 -65
- data/app/services/katello/pulp3/content_view_version/export_validation_error.rb +7 -0
- data/app/services/katello/pulp3/content_view_version/export_validator.rb +105 -0
- data/app/services/katello/pulp3/content_view_version/importable_products.rb +1 -1
- data/app/services/katello/pulp3/content_view_version/syncable_format_export.rb +7 -1
- data/app/services/katello/pulp3/erratum.rb +1 -0
- data/app/services/katello/pulp3/module_stream.rb +26 -11
- data/app/services/katello/pulp3/repository/yum.rb +2 -1
- data/app/services/katello/pulp3/smart_proxy_mirror_repository.rb +2 -1
- data/app/services/katello/registration_manager.rb +46 -26
- data/app/services/katello/repository_type.rb +3 -9
- data/app/services/katello/simple_package.rb +22 -0
- data/app/views/foreman/smart_proxies/_content_sync.html.erb +1 -0
- data/app/views/foreman/smart_proxies/_reclaim_space.html.erb +1 -0
- data/app/views/katello/api/v2/content_facet/base.json.rabl +23 -2
- data/app/views/katello/api/v2/content_facet/show.json.rabl +11 -8
- data/app/views/katello/api/v2/content_views/base.json.rabl +1 -1
- data/app/views/katello/api/v2/hosts/base.json.rabl +22 -2
- data/app/views/overrides/activation_keys/_host_environment_select.html.erb +2 -2
- data/config/initializers/monkeys.rb +0 -2
- data/config/routes/api/registry.rb +8 -7
- data/config/routes/api/v2.rb +0 -2
- data/config/routes.rb +3 -0
- data/db/migrate/20200429153103_installed_package_bad_nvrea.rb +1 -1
- data/db/migrate/20220228173251_remove_drpm_from_ignorable_content.rb +7 -3
- data/db/migrate/20220419193414_content_settings_to_dsl_category.rb +1 -1
- data/db/migrate/20220929204746_add_content_view_environment_content_facet.rb +52 -0
- data/db/migrate/20221123212341_remove_pulp_docker_registry_port_setting.rb +5 -0
- data/db/seeds.d/111-upgrade_tasks.rb +2 -1
- data/engines/bastion/app/assets/stylesheets/bastion/bastion.scss +4 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-details.controller.js +2 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-errata-modal.controller.js +0 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-details.controller.js +2 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/content-hosts.html +2 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/apply-errata.controller.js +11 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/views/host-collection-hosts-list.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/bastion_katello.pot +8 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de.po +5485 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/es.po +5397 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/fr.po +5658 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ja.po +5284 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ka.po +5231 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ko.po +5275 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt_BR.po +5389 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_CN.po +5212 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_TW.po +5145 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/translations.js +9 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/views/content-access-mode-banner.html +2 -2
- data/lib/katello/engine.rb +2 -1
- data/lib/katello/permission_creator.rb +2 -4
- data/lib/katello/permissions/registry_permissions.rb +5 -5
- data/lib/katello/plugin.rb +22 -14
- data/lib/katello/repository_types/README.md +136 -19
- data/lib/katello/repository_types/deb.rb +0 -1
- data/lib/katello/repository_types/docker.rb +0 -1
- data/lib/katello/repository_types/file.rb +0 -1
- data/lib/katello/repository_types/yum.rb +0 -4
- data/lib/katello/tasks/clean_candlepin_orphaned_products.rake +38 -0
- data/lib/katello/tasks/clean_orphaned_facets.rb +20 -0
- data/lib/katello/tasks/reimport.rake +1 -2
- data/lib/katello/tasks/repository.rake +1 -22
- data/lib/katello/tasks/reset.rake +1 -0
- data/lib/katello/tasks/upgrades/4.8/fix_incorrect_providers.rake +29 -0
- data/lib/katello/version.rb +1 -1
- data/lib/katello.rb +0 -5
- data/locale/bn/katello.po +69 -27
- data/locale/cs/katello.po +69 -27
- data/locale/de/katello.po +78 -36
- data/locale/en/katello.po +69 -27
- data/locale/es/katello.po +70 -28
- data/locale/fr/katello.po +73 -31
- data/locale/gu/katello.po +69 -27
- data/locale/hi/katello.po +69 -27
- data/locale/it/katello.po +69 -27
- data/locale/ja/katello.po +73 -31
- data/locale/ka/katello.po +73 -31
- data/locale/katello.pot +335 -262
- data/locale/kn/katello.po +69 -27
- data/locale/ko/katello.po +69 -27
- data/locale/mr/katello.po +69 -27
- data/locale/or/katello.po +69 -27
- data/locale/pa/katello.po +69 -27
- data/locale/pt/katello.po +69 -27
- data/locale/pt_BR/katello.po +70 -28
- data/locale/ru/katello.po +70 -28
- data/locale/ta/katello.po +69 -27
- data/locale/te/katello.po +69 -27
- data/locale/zh_CN/katello.po +73 -31
- data/locale/zh_TW/katello.po +70 -28
- data/webpack/components/Content/ContentPage.js +51 -35
- data/webpack/components/Content/__tests__/ContentPage.test.js +2 -4
- data/webpack/components/Content/__tests__/__snapshots__/ContentPage.test.js.snap +22 -3
- data/webpack/components/RoutedTabs/index.js +6 -11
- data/webpack/components/Table/EmptyStateMessage.js +14 -11
- data/webpack/components/Table/MainTable.js +36 -15
- data/webpack/components/Table/TableWrapper.js +25 -25
- data/webpack/components/Table/__test__/emptyStateMessage.test.js +51 -0
- data/webpack/components/extensions/HostDetails/Cards/ErrataOverviewCard.js +5 -4
- data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/HostCollectionsModal.js +1 -1
- data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/__tests__/hostCollectionsModal.test.js +1 -17
- data/webpack/components/extensions/HostDetails/Tabs/ErrataTab/ErrataTab.js +18 -9
- data/webpack/components/extensions/HostDetails/Tabs/ModuleStreamsTab/ModuleStreamsTab.js +1 -2
- data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackageInstallModal.js +1 -2
- data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackagesTab.js +1 -2
- data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsTab.js +47 -27
- data/webpack/components/extensions/HostDetails/Tabs/TracesTab/TracesTab.js +1 -2
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/errataTab.test.js +2 -21
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/moduleStreamsTab.test.js +1 -28
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/packageInstallModal.test.js +1 -10
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/packagesTab.test.js +2 -19
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/repositorySetsTab.test.js +1 -17
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/tracesTab.test.js +1 -15
- data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/ActivationKeys.test.js.snap +7 -0
- data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/Force.test.js.snap +2 -0
- data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/IgnoreSubmanErrors.test.js.snap +2 -0
- data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/LifeCycleEnvironment.test.js.snap +1 -0
- data/webpack/global_test_setup.js +1 -1
- data/webpack/scenes/AlternateContentSources/Create/ACSCreateWizard.js +12 -17
- data/webpack/scenes/AlternateContentSources/Create/Steps/ACSCreateFinish.js +17 -3
- data/webpack/scenes/AlternateContentSources/Create/Steps/ACSCredentials.js +6 -0
- data/webpack/scenes/AlternateContentSources/Create/Steps/ACSSmartProxies.js +1 -0
- data/webpack/scenes/AlternateContentSources/Create/Steps/AcsUrlPaths.js +3 -10
- data/webpack/scenes/AlternateContentSources/Create/Steps/NameACS.js +1 -0
- data/webpack/scenes/AlternateContentSources/Create/__tests__/acsCreate.test.js +3 -3
- data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditDetails.js +1 -0
- data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditURLPaths.js +12 -4
- data/webpack/scenes/AlternateContentSources/MainTable/ACSTable.js +7 -4
- data/webpack/scenes/AlternateContentSources/MainTable/__tests__/acsTable.test.js +4 -8
- data/webpack/scenes/AlternateContentSources/helpers.js +1 -1
- data/webpack/scenes/Content/Details/ContentRepositories.js +5 -4
- data/webpack/scenes/Content/Details/__tests__/contentDetail.test.js +1 -12
- data/webpack/scenes/Content/Table/ContentTable.js +2 -1
- data/webpack/scenes/Content/__tests__/contentTable.test.js +1 -14
- data/webpack/scenes/ContentViews/Delete/__tests__/contentViewDelete.test.js +1 -25
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/ContentViewComponents.js +2 -1
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/__tests__/contentViewComponents.test.js +44 -31
- data/webpack/scenes/ContentViews/Details/ContentViewDetails.js +2 -0
- data/webpack/scenes/ContentViews/Details/Filters/AffectedRepositories/AffectedRepositoryTable.js +6 -1
- data/webpack/scenes/ContentViews/Details/Filters/CVContainerImageFilterContent.js +2 -1
- data/webpack/scenes/ContentViews/Details/Filters/CVDebFilterContent.js +2 -1
- data/webpack/scenes/ContentViews/Details/Filters/CVErrataDateFilterContent.js +2 -2
- data/webpack/scenes/ContentViews/Details/Filters/CVErrataIDFilterContent.js +5 -3
- data/webpack/scenes/ContentViews/Details/Filters/CVModuleStreamFilterContent.js +3 -1
- data/webpack/scenes/ContentViews/Details/Filters/CVPackageGroupFilterContent.js +3 -1
- data/webpack/scenes/ContentViews/Details/Filters/CVRpmFilterContent.js +2 -1
- data/webpack/scenes/ContentViews/Details/Filters/ContentViewFilterDetailsHeader.js +2 -0
- data/webpack/scenes/ContentViews/Details/Filters/ContentViewFilters.js +2 -1
- data/webpack/scenes/ContentViews/Details/Filters/MatchContentModal/CVDebMatchContentModal.js +1 -1
- data/webpack/scenes/ContentViews/Details/Filters/MatchContentModal/CVRpmMatchContentModal.js +1 -1
- data/webpack/scenes/ContentViews/Details/Filters/MatchContentModal/__tests__/CVRpmMatchContentModal.test.js +35 -33
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/CVContainerImageFilterContent.test.js +48 -45
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/CVRpmFilterContent.test.js +58 -24
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/ContentViewPackageGroupFilter.test.js +64 -0
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/contentViewFilterDetails.test.js +36 -20
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/contentViewFilters.test.js +40 -23
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvErrataIDFilter.test.js +0 -13
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvModuleStreamFilter.test.js +0 -13
- data/webpack/scenes/ContentViews/Details/Histories/ContentViewHistories.js +2 -1
- data/webpack/scenes/ContentViews/Details/Histories/__tests__/contentViewHistory.test.js +1 -10
- data/webpack/scenes/ContentViews/Details/Repositories/ContentViewRepositories.js +2 -1
- data/webpack/scenes/ContentViews/Details/Repositories/__tests__/contentViewAddRemove.test.js +1 -10
- data/webpack/scenes/ContentViews/Details/Versions/Compare/CVVersionCompareConfig.js +21 -9
- data/webpack/scenes/ContentViews/Details/Versions/Compare/CVVersionCompareTable.js +4 -0
- data/webpack/scenes/ContentViews/Details/Versions/Compare/__tests__/CVVersionCompare.test.js +1 -32
- data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersions.js +3 -1
- data/webpack/scenes/ContentViews/Details/Versions/Delete/__tests__/cvVersionRemove.test.js +1 -15
- data/webpack/scenes/ContentViews/Details/Versions/Delete/affectedActivationKeys.js +1 -1
- data/webpack/scenes/ContentViews/Details/Versions/Delete/affectedHosts.js +1 -2
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetailConfig.js +31 -9
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetailsTable.js +4 -0
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionDetails.test.js +30 -14
- data/webpack/scenes/ContentViews/Table/ContentViewsTable.js +1 -1
- data/webpack/scenes/ContentViews/__tests__/contentViewPage.test.js +55 -120
- data/webpack/scenes/ContentViews/components/WizardHeader.js +1 -1
- data/webpack/scenes/ContentViews/expansions/RelatedContentViewComponentsModal.js +1 -1
- data/webpack/scenes/ContentViews/expansions/__tests__/contentViewComponentsModal.test.js +8 -1
- data/webpack/scenes/ModuleStreams/ModuleStreamsPage.js +3 -9
- data/webpack/scenes/ModuleStreams/__tests__/__snapshots__/ModuleStreamPage.test.js.snap +7 -1
- data/webpack/scenes/RedHatRepositories/components/Search.js +22 -16
- data/webpack/scenes/RedHatRepositories/index.scss +20 -1
- data/webpack/scenes/SmartProxy/SmartProxyContentTable.js +12 -1
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/CdnTypeForm.js +1 -1
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/CustomCdnTypeForm.js +1 -1
- data/webpack/scenes/Subscriptions/SubscriptionsPage.js +21 -19
- data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsPage.test.js.snap +34 -1
- data/webpack/scenes/Subscriptions/components/SubscriptionsToolbar/SubscriptionsToolbar.js +20 -7
- data/webpack/scenes/Subscriptions/components/SubscriptionsToolbar/SubscriptionsToolbar.test.js +0 -1
- data/webpack/scenes/Subscriptions/components/SubscriptionsToolbar/__snapshots__/SubscriptionsToolbar.test.js.snap +65 -15
- metadata +47 -113
- data/app/lib/actions/katello/pulp_selector.rb +0 -24
- data/app/lib/actions/katello/repository/correct_checksum.rb +0 -24
- data/app/lib/actions/katello/repository/destroy_package_group.rb +0 -26
- data/app/lib/actions/katello/repository/upload_package_group.rb +0 -24
- data/app/lib/actions/pulp/abstract.rb +0 -37
- data/app/lib/actions/pulp/abstract_async_task.rb +0 -154
- data/app/lib/actions/pulp/abstract_async_task_group.rb +0 -94
- data/app/lib/actions/pulp/consumer/sync_capsule.rb +0 -45
- data/app/lib/actions/pulp/consumer/unassociate_units.rb +0 -20
- data/app/lib/actions/pulp/expect_one_task.rb +0 -11
- data/app/lib/actions/pulp/orchestration/orphan_cleanup/remove_orphans.rb +0 -16
- data/app/lib/actions/pulp/orchestration/repository/copy_all_units.rb +0 -19
- data/app/lib/actions/pulp/orchestration/repository/delete.rb +0 -15
- data/app/lib/actions/pulp/orchestration/repository/refresh.rb +0 -14
- data/app/lib/actions/pulp/orchestration/repository/refresh_if_needed.rb +0 -13
- data/app/lib/actions/pulp/orchestration/repository/refresh_repos.rb +0 -19
- data/app/lib/actions/pulp/orchestration/repository/remove_units.rb +0 -14
- data/app/lib/actions/pulp/orchestration/repository/smart_proxy_sync.rb +0 -34
- data/app/lib/actions/pulp/orchestration/repository/sync.rb +0 -18
- data/app/lib/actions/pulp/orchestration/repository/upload_content.rb +0 -37
- data/app/lib/actions/pulp/orphan_cleanup/remove_orphans.rb +0 -15
- data/app/lib/actions/pulp/orphan_cleanup/remove_unneeded_repos.rb +0 -16
- data/app/lib/actions/pulp/repository/abstract_copy_content.rb +0 -45
- data/app/lib/actions/pulp/repository/abstract_remove_content.rb +0 -32
- data/app/lib/actions/pulp/repository/clear.rb +0 -18
- data/app/lib/actions/pulp/repository/copy_all_units.rb +0 -30
- data/app/lib/actions/pulp/repository/copy_units.rb +0 -25
- data/app/lib/actions/pulp/repository/create.rb +0 -28
- data/app/lib/actions/pulp/repository/create_in_plan.rb +0 -15
- data/app/lib/actions/pulp/repository/create_upload_request.rb +0 -20
- data/app/lib/actions/pulp/repository/delete_upload_request.rb +0 -19
- data/app/lib/actions/pulp/repository/destroy.rb +0 -28
- data/app/lib/actions/pulp/repository/distributor_publish.rb +0 -25
- data/app/lib/actions/pulp/repository/download.rb +0 -16
- data/app/lib/actions/pulp/repository/import_upload.rb +0 -19
- data/app/lib/actions/pulp/repository/presenters/abstract_sync_presenter.rb +0 -47
- data/app/lib/actions/pulp/repository/presenters/deb_presenter.rb +0 -95
- data/app/lib/actions/pulp/repository/presenters/docker_presenter.rb +0 -103
- data/app/lib/actions/pulp/repository/presenters/file_unit_presenter.rb +0 -42
- data/app/lib/actions/pulp/repository/presenters/yum_presenter.rb +0 -131
- data/app/lib/actions/pulp/repository/refresh.rb +0 -21
- data/app/lib/actions/pulp/repository/regenerate_applicability.rb +0 -21
- data/app/lib/actions/pulp/repository/remove_distribution.rb +0 -11
- data/app/lib/actions/pulp/repository/remove_units.rb +0 -44
- data/app/lib/actions/pulp/repository/sync.rb +0 -99
- data/app/lib/actions/pulp/repository/upload_file.rb +0 -28
- data/app/lib/actions/pulp/repository_group/create.rb +0 -31
- data/app/lib/actions/pulp/repository_group/delete.rb +0 -17
- data/app/lib/actions/pulp/repository_group/export.rb +0 -51
- data/app/lib/katello/util/package_clause_generator.rb +0 -77
- data/app/models/katello/glue/pulp/pulp_errors.rb +0 -9
- data/app/models/katello/glue/pulp/repo.rb +0 -353
- data/app/models/katello/pulp_sync_status.rb +0 -165
- data/app/models/katello/pulp_task_status.rb +0 -63
- data/app/services/katello/pulp/content.rb +0 -24
- data/app/services/katello/pulp/importer_comparison.rb +0 -28
- data/app/services/katello/pulp/repository/deb.rb +0 -61
- data/app/services/katello/pulp/repository/docker.rb +0 -82
- data/app/services/katello/pulp/repository/file.rb +0 -52
- data/app/services/katello/pulp/repository/yum.rb +0 -205
- data/app/services/katello/pulp/repository.rb +0 -327
- data/app/services/katello/pulp/server.rb +0 -35
- data/app/services/katello/pulp/simple_package.rb +0 -24
- data/app/services/katello/pulp/smart_proxy_repository.rb +0 -52
- data/lib/monkeys/fix_deb_optimized_sync.rb +0 -35
- data/lib/monkeys/fix_pulp_container_path.rb +0 -35
- data/locale/zanata.xml +0 -30
- data/webpack/scenes/ContentViews/Details/Filters/MatchContentModal/__tests__/CVRpmMatchContentSearch.fixtures.json +0 -33
@@ -3,7 +3,7 @@ import { renderWithRedux, patientlyWaitFor, fireEvent } from 'react-testing-lib-
|
|
3
3
|
import { Route } from 'react-router-dom';
|
4
4
|
|
5
5
|
import api from '../../../../../services/api';
|
6
|
-
import { nockInstance, assertNockRequest, mockAutocomplete
|
6
|
+
import { nockInstance, assertNockRequest, mockAutocomplete } from '../../../../../test-utils/nockWrapper';
|
7
7
|
import ContentViewFilters from '../ContentViewFilters';
|
8
8
|
import CONTENT_VIEWS_KEY from '../../../ContentViewsConstants';
|
9
9
|
import cvFilterFixtures from './contentViewFilters.fixtures.json';
|
@@ -27,19 +27,10 @@ const autocompleteUrl = '/content_view_filters/auto_complete_search';
|
|
27
27
|
|
28
28
|
let firstFilter;
|
29
29
|
let lastFilter;
|
30
|
-
let searchDelayScope;
|
31
|
-
let autoSearchScope;
|
32
30
|
beforeEach(() => {
|
33
31
|
const { results } = cvFilterFixtures;
|
34
32
|
[firstFilter] = results;
|
35
33
|
[lastFilter] = results.slice(-1);
|
36
|
-
searchDelayScope = mockSetting(nockInstance, 'autosearch_delay', 0);
|
37
|
-
autoSearchScope = mockSetting(nockInstance, 'autosearch_while_typing');
|
38
|
-
});
|
39
|
-
|
40
|
-
afterEach(() => {
|
41
|
-
assertNockRequest(searchDelayScope);
|
42
|
-
assertNockRequest(autoSearchScope);
|
43
34
|
});
|
44
35
|
|
45
36
|
test('Can call API and show filters on page load', async (done) => {
|
@@ -68,17 +59,39 @@ test('Can call API and show filters on page load', async (done) => {
|
|
68
59
|
|
69
60
|
test('Can search for filter', async (done) => {
|
70
61
|
const { name, description } = firstFilter;
|
71
|
-
const
|
72
|
-
|
73
|
-
|
62
|
+
const autocompleteQuery = {
|
63
|
+
organization_id: 1,
|
64
|
+
search: '',
|
65
|
+
};
|
66
|
+
const searchQueryMatcher = {
|
67
|
+
organization_id: 1,
|
68
|
+
search: 'name = f5',
|
69
|
+
};
|
70
|
+
const searchResults = [
|
71
|
+
{
|
72
|
+
completed: 'name = f5',
|
73
|
+
part: 'and',
|
74
|
+
label: 'name = f5 and',
|
75
|
+
category: 'Operators',
|
76
|
+
},
|
77
|
+
{
|
78
|
+
completed: 'name = f5',
|
79
|
+
part: 'or',
|
80
|
+
label: 'name = f5 or',
|
81
|
+
category: 'Operators',
|
82
|
+
},
|
83
|
+
];
|
84
|
+
const autocompleteScope = mockAutocomplete(nockInstance, autocompleteUrl, autocompleteQuery);
|
85
|
+
const withSearchScope = mockAutocomplete(
|
86
|
+
nockInstance,
|
87
|
+
autocompleteUrl,
|
88
|
+
searchQueryMatcher,
|
89
|
+
searchResults,
|
90
|
+
);
|
74
91
|
const initialScope = nockInstance
|
75
92
|
.get(cvFilters)
|
76
93
|
.query(true)
|
77
94
|
.reply(200, cvFilterFixtures);
|
78
|
-
const searchResultScope = nockInstance
|
79
|
-
.get(cvFilters)
|
80
|
-
.query(searchQueryMatcher)
|
81
|
-
.reply(200, { results: [firstFilter] });
|
82
95
|
|
83
96
|
const { queryByText, getByLabelText, getByText } = renderWithRedux(
|
84
97
|
withCVRoute(<ContentViewFilters cvId={1} details={details} />),
|
@@ -86,19 +99,23 @@ test('Can search for filter', async (done) => {
|
|
86
99
|
);
|
87
100
|
|
88
101
|
// Looking for description because the name is in the search bar and could match
|
89
|
-
await patientlyWaitFor(() =>
|
102
|
+
await patientlyWaitFor(() => {
|
103
|
+
expect(getByText(description)).toBeInTheDocument();
|
104
|
+
expect(getByText(name)).toBeInTheDocument();
|
105
|
+
expect(getByText('f5')).toBeInTheDocument();
|
106
|
+
});
|
90
107
|
// Search for a filter by name
|
91
|
-
|
108
|
+
getByLabelText('Search input').focus();
|
109
|
+
fireEvent.change(getByLabelText('Search input'), { target: { value: `name = ${lastFilter.name}` } });
|
92
110
|
// Only the first filter should be showing, not the last one
|
93
111
|
await patientlyWaitFor(() => {
|
94
|
-
expect(getByText(
|
95
|
-
expect(queryByText(
|
112
|
+
expect(getByText(`name = ${lastFilter.name} and`)).toBeInTheDocument();
|
113
|
+
expect(queryByText(`name = ${name} and`)).not.toBeInTheDocument();
|
96
114
|
});
|
97
115
|
|
98
116
|
assertNockRequest(autocompleteScope);
|
99
|
-
assertNockRequest(withSearchScope);
|
100
117
|
assertNockRequest(initialScope);
|
101
|
-
assertNockRequest(
|
118
|
+
assertNockRequest(withSearchScope, done);
|
102
119
|
});
|
103
120
|
|
104
121
|
test('Can remove a filter', async (done) => {
|
@@ -8,7 +8,6 @@ import {
|
|
8
8
|
nockInstance,
|
9
9
|
assertNockRequest,
|
10
10
|
mockAutocomplete,
|
11
|
-
mockSetting,
|
12
11
|
} from '../../../../../test-utils/nockWrapper';
|
13
12
|
import api from '../../../../../services/api';
|
14
13
|
import allErrata from './allFilterErrata.fixtures.json';
|
@@ -37,18 +36,6 @@ const renderOptions = {
|
|
37
36
|
|
38
37
|
const withCVRoute = component => <Route path="/content_views/:id([0-9]+)#/filters/:filterId([0-9]+)">{component}</Route>;
|
39
38
|
|
40
|
-
let searchDelayScope;
|
41
|
-
let autoSearchScope;
|
42
|
-
beforeEach(() => {
|
43
|
-
searchDelayScope = mockSetting(nockInstance, 'autosearch_delay', 0);
|
44
|
-
autoSearchScope = mockSetting(nockInstance, 'autosearch_while_typing');
|
45
|
-
});
|
46
|
-
|
47
|
-
afterEach(() => {
|
48
|
-
assertNockRequest(searchDelayScope);
|
49
|
-
assertNockRequest(autoSearchScope);
|
50
|
-
});
|
51
|
-
|
52
39
|
test('Can enable and disable add filter button', async (done) => {
|
53
40
|
const { name: cvFilterName } = cvFilterDetails;
|
54
41
|
const cvFilterScope = nockInstance
|
@@ -8,7 +8,6 @@ import {
|
|
8
8
|
nockInstance,
|
9
9
|
assertNockRequest,
|
10
10
|
mockAutocomplete,
|
11
|
-
mockSetting,
|
12
11
|
} from '../../../../../test-utils/nockWrapper';
|
13
12
|
import api from '../../../../../services/api';
|
14
13
|
import allModuleStreams from './allFilterModulesStreams.fixtures.json';
|
@@ -37,18 +36,6 @@ const renderOptions = {
|
|
37
36
|
|
38
37
|
const withCVRoute = component => <Route path="/content_views/:id([0-9]+)#/filters/:filterId([0-9]+)">{component}</Route>;
|
39
38
|
|
40
|
-
let searchDelayScope;
|
41
|
-
let autoSearchScope;
|
42
|
-
beforeEach(() => {
|
43
|
-
searchDelayScope = mockSetting(nockInstance, 'autosearch_delay', 0);
|
44
|
-
autoSearchScope = mockSetting(nockInstance, 'autosearch_while_typing');
|
45
|
-
});
|
46
|
-
|
47
|
-
afterEach(() => {
|
48
|
-
assertNockRequest(searchDelayScope);
|
49
|
-
assertNockRequest(autoSearchScope);
|
50
|
-
});
|
51
|
-
|
52
39
|
test('Can enable and disable add filter button', async (done) => {
|
53
40
|
const { name: cvFilterName } = cvFilterDetails;
|
54
41
|
const cvFilterScope = nockInstance
|
@@ -83,7 +83,8 @@ const ContentViewHistories = ({ cvId }) => {
|
|
83
83
|
}}
|
84
84
|
ouiaId="content-view-history-table"
|
85
85
|
variant={TableVariant.compact}
|
86
|
-
autocompleteEndpoint={`/content_views/${cvId}/history
|
86
|
+
autocompleteEndpoint={`/katello/api/v2/content_views/${cvId}/history`}
|
87
|
+
bookmarkController="katello_content_view_histories"
|
87
88
|
fetchItems={useCallback(params => getContentViewHistories(cvId, params), [cvId])}
|
88
89
|
>
|
89
90
|
<Thead>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { renderWithRedux, patientlyWaitFor } from 'react-testing-lib-wrapper';
|
3
3
|
|
4
|
-
import { nockInstance, assertNockRequest, mockAutocomplete
|
4
|
+
import { nockInstance, assertNockRequest, mockAutocomplete } from '../../../../../test-utils/nockWrapper';
|
5
5
|
import api from '../../../../../services/api';
|
6
6
|
import CONTENT_VIEWS_KEY from '../../../ContentViewsConstants';
|
7
7
|
import ContentViewHistories from '../ContentViewHistories';
|
@@ -12,19 +12,10 @@ const cvHistories = api.getApiUrl('/content_views/1/history');
|
|
12
12
|
const autocompleteUrl = '/content_views/1/history/auto_complete_search';
|
13
13
|
|
14
14
|
let firstHistory;
|
15
|
-
let searchDelayScope;
|
16
|
-
let autoSearchScope;
|
17
15
|
|
18
16
|
beforeEach(() => {
|
19
17
|
const { results } = historyData;
|
20
18
|
[firstHistory] = results;
|
21
|
-
searchDelayScope = mockSetting(nockInstance, 'autosearch_delay', 0);
|
22
|
-
autoSearchScope = mockSetting(nockInstance, 'autosearch_while_typing');
|
23
|
-
});
|
24
|
-
|
25
|
-
afterEach(() => {
|
26
|
-
assertNockRequest(searchDelayScope);
|
27
|
-
assertNockRequest(autoSearchScope);
|
28
19
|
});
|
29
20
|
|
30
21
|
test('Can call API and show history on page load', async (done) => {
|
@@ -251,7 +251,8 @@ const ContentViewRepositories = ({ cvId, details }) => {
|
|
251
251
|
ouiaId="content-view-repositories-table"
|
252
252
|
{...selectAll}
|
253
253
|
variant={TableVariant.compact}
|
254
|
-
autocompleteEndpoint="/repositories
|
254
|
+
autocompleteEndpoint="/katello/api/v2/repositories"
|
255
|
+
bookmarkController="katello_content_view_repositories"
|
255
256
|
fetchItems={useCallback(params => getCVReposWithOptions(params), [getCVReposWithOptions])}
|
256
257
|
additionalListeners={[typeSelected, statusSelected]}
|
257
258
|
displaySelectAllCheckbox={hasPermission(permissions, 'edit_content_views')}
|
data/webpack/scenes/ContentViews/Details/Repositories/__tests__/contentViewAddRemove.test.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { renderWithRedux, patientlyWaitFor, act } from 'react-testing-lib-wrapper';
|
3
3
|
|
4
|
-
import { nockInstance, assertNockRequest, mockAutocomplete
|
4
|
+
import { nockInstance, assertNockRequest, mockAutocomplete } from '../../../../../test-utils/nockWrapper';
|
5
5
|
import api from '../../../../../services/api';
|
6
6
|
import CONTENT_VIEWS_KEY from '../../../ContentViewsConstants';
|
7
7
|
import ContentViewRepositories from '../ContentViewRepositories';
|
@@ -17,14 +17,10 @@ const repoTypesResponse = [{ name: 'deb' }, { name: 'docker' }, { name: 'file' }
|
|
17
17
|
const cvDetailsPath = api.getApiUrl('/content_views/1');
|
18
18
|
|
19
19
|
let firstRepo;
|
20
|
-
let searchDelayScope;
|
21
|
-
let autoSearchScope;
|
22
20
|
|
23
21
|
beforeEach(() => {
|
24
22
|
const { results } = repoData;
|
25
23
|
[firstRepo] = results;
|
26
|
-
searchDelayScope = mockSetting(nockInstance, 'autosearch_delay', 0);
|
27
|
-
autoSearchScope = mockSetting(nockInstance, 'autosearch_while_typing');
|
28
24
|
nockInstance
|
29
25
|
.persist() // match any query to this endpoint, gets cleaned up by `nock.cleanAll()`
|
30
26
|
.get(api.getApiUrl('/repositories/repository_types'))
|
@@ -32,11 +28,6 @@ beforeEach(() => {
|
|
32
28
|
.reply(200, repoTypesResponse);
|
33
29
|
});
|
34
30
|
|
35
|
-
afterEach(() => {
|
36
|
-
assertNockRequest(searchDelayScope);
|
37
|
-
assertNockRequest(autoSearchScope);
|
38
|
-
});
|
39
|
-
|
40
31
|
jest.mock('react-intl', () => ({ addLocaleData: () => { }, FormattedDate: () => 'mocked' }));
|
41
32
|
|
42
33
|
test('Can enable and disable add repositories button', async (done) => {
|
@@ -47,6 +47,8 @@ export const TableType = PropTypes.shape({
|
|
47
47
|
responseSelector: PropTypes.func,
|
48
48
|
statusSelector: PropTypes.func,
|
49
49
|
autocompleteEndpoint: PropTypes.string,
|
50
|
+
autocompleteQueryParams: PropTypes.shape({}),
|
51
|
+
bookmarkController: PropTypes.string,
|
50
52
|
fetchItems: PropTypes.func,
|
51
53
|
columnHeaders:
|
52
54
|
PropTypes.arrayOf(PropTypes.shape({
|
@@ -90,7 +92,9 @@ export default ({
|
|
90
92
|
selectRepositoriesComparison(state, versionOneId, versionTwoId, viewBy),
|
91
93
|
statusSelector: state =>
|
92
94
|
selectRepositoriesComparisonStatus(state, versionOneId, versionTwoId, viewBy),
|
93
|
-
autocompleteEndpoint: '/repositories
|
95
|
+
autocompleteEndpoint: '/katello/api/v2/repositories',
|
96
|
+
autocompleteQueryParams: { archived: true },
|
97
|
+
bookmarkController: 'katello_content_view_repositories',
|
94
98
|
fetchItems: params => getRepositoriesComparison(
|
95
99
|
versionOneId,
|
96
100
|
versionTwoId,
|
@@ -133,7 +137,8 @@ export default ({
|
|
133
137
|
selectRPMPackagesComparison(state, versionOneId, versionTwoId, viewBy),
|
134
138
|
statusSelector: state =>
|
135
139
|
selectRPMPackagesComparisonStatus(state, versionOneId, versionTwoId, viewBy),
|
136
|
-
autocompleteEndpoint: '/packages
|
140
|
+
autocompleteEndpoint: 'katello/api/v2/packages',
|
141
|
+
bookmarkController: 'katello_content_view_components',
|
137
142
|
fetchItems: params => getRPMPackagesComparison(
|
138
143
|
versionOneId,
|
139
144
|
versionTwoId,
|
@@ -170,7 +175,8 @@ export default ({
|
|
170
175
|
selectPackageGroupsComparison(state, versionOneId, versionTwoId, viewBy),
|
171
176
|
statusSelector: state =>
|
172
177
|
selectPackageGroupsComparisonStatus(state, versionOneId, versionTwoId, viewBy),
|
173
|
-
autocompleteEndpoint: '/package_groups
|
178
|
+
autocompleteEndpoint: '/katello/api/v2/package_groups',
|
179
|
+
bookmarkController: 'katello_content_view_components',
|
174
180
|
fetchItems: params => getPackageGroupsComparison(versionOneId, versionTwoId, viewBy, params),
|
175
181
|
columnHeaders: [
|
176
182
|
{ title: __('Name'), getProperty: item => item?.name },
|
@@ -189,7 +195,8 @@ export default ({
|
|
189
195
|
responseSelector: state => selectFilesComparison(state, versionOneId, versionTwoId, viewBy),
|
190
196
|
statusSelector: state =>
|
191
197
|
selectFilesComparisonStatus(state, versionOneId, versionTwoId, viewBy),
|
192
|
-
autocompleteEndpoint: '/files
|
198
|
+
autocompleteEndpoint: '/katello/api/v2/files',
|
199
|
+
bookmarkController: 'katello_content_view_components',
|
193
200
|
fetchItems: params => getFilesComparison(versionOneId, versionTwoId, viewBy, params),
|
194
201
|
columnHeaders: [
|
195
202
|
{
|
@@ -214,7 +221,8 @@ export default ({
|
|
214
221
|
responseSelector: state => selectErrataComparison(state, versionOneId, versionTwoId, viewBy),
|
215
222
|
statusSelector: state =>
|
216
223
|
selectErrataComparisonStatus(state, versionOneId, versionTwoId, viewBy),
|
217
|
-
autocompleteEndpoint: '/errata
|
224
|
+
autocompleteEndpoint: '/katello/api/v2/errata',
|
225
|
+
bookmarkController: 'katello_content_view_components',
|
218
226
|
fetchItems: params => getErrataComparison(versionOneId, versionTwoId, viewBy, params),
|
219
227
|
columnHeaders: [
|
220
228
|
{
|
@@ -277,7 +285,8 @@ export default ({
|
|
277
285
|
selectModuleStreamsComparison(state, versionOneId, versionTwoId, viewBy),
|
278
286
|
statusSelector: state =>
|
279
287
|
selectModuleStreamsComparisonStatus(state, versionOneId, versionTwoId, viewBy),
|
280
|
-
autocompleteEndpoint: '/module_streams
|
288
|
+
autocompleteEndpoint: '/katello/api/v2/module_streams',
|
289
|
+
bookmarkController: 'katello_content_view_components',
|
281
290
|
fetchItems: params => getModuleStreamsComparison(versionOneId, versionTwoId, viewBy, params),
|
282
291
|
columnHeaders: [
|
283
292
|
{
|
@@ -310,7 +319,8 @@ export default ({
|
|
310
319
|
selectDebPackagesComparison(state, versionOneId, versionTwoId, viewBy),
|
311
320
|
statusSelector: state =>
|
312
321
|
selectDebPackagesComparisonStatus(state, versionOneId, versionTwoId, viewBy),
|
313
|
-
autocompleteEndpoint: '/debs
|
322
|
+
autocompleteEndpoint: '/katello/api/v2/debs',
|
323
|
+
bookmarkController: 'katello_content_view_components',
|
314
324
|
fetchItems: params => getDebPackagesComparison(versionOneId, versionTwoId, viewBy, params),
|
315
325
|
columnHeaders: [
|
316
326
|
{
|
@@ -339,7 +349,8 @@ export default ({
|
|
339
349
|
selectDockerTagsComparison(state, versionOneId, versionTwoId, viewBy),
|
340
350
|
statusSelector: state =>
|
341
351
|
selectDockerTagsComparisonStatus(state, versionOneId, versionTwoId, viewBy),
|
342
|
-
autocompleteEndpoint: '/docker_tags
|
352
|
+
autocompleteEndpoint: '/katello/api/v2/docker_tags',
|
353
|
+
bookmarkController: 'katello_content_view_components',
|
343
354
|
fetchItems: params => getDockerTagsComparison(versionOneId, versionTwoId, viewBy, params),
|
344
355
|
columnHeaders: [
|
345
356
|
{
|
@@ -381,7 +392,8 @@ export default ({
|
|
381
392
|
pluralLabel,
|
382
393
|
viewBy,
|
383
394
|
),
|
384
|
-
autocompleteEndpoint:
|
395
|
+
autocompleteEndpoint: `/katello/api/v2/${pluralLabel}`,
|
396
|
+
bookmarkController: 'katello_content_view_components',
|
385
397
|
fetchItems: params =>
|
386
398
|
getGenericContentComparison(pluralLabel, versionOneId, versionTwoId, viewBy, params),
|
387
399
|
columnHeaders: [
|
@@ -16,6 +16,8 @@ const CVVersionCompareTable = ({
|
|
16
16
|
responseSelector,
|
17
17
|
statusSelector,
|
18
18
|
autocompleteEndpoint,
|
19
|
+
autocompleteQueryParams,
|
20
|
+
bookmarkController,
|
19
21
|
fetchItems: fetchItemsSorted,
|
20
22
|
columnHeaders,
|
21
23
|
hideSearch,
|
@@ -48,6 +50,8 @@ const CVVersionCompareTable = ({
|
|
48
50
|
updateSearchQuery,
|
49
51
|
status,
|
50
52
|
autocompleteEndpoint,
|
53
|
+
autocompleteQueryParams,
|
54
|
+
bookmarkController,
|
51
55
|
hideSearch,
|
52
56
|
}}
|
53
57
|
key={`cvv-comparison-table-${name}`}
|
data/webpack/scenes/ContentViews/Details/Versions/Compare/__tests__/CVVersionCompare.test.js
CHANGED
@@ -2,7 +2,7 @@ import React from 'react';
|
|
2
2
|
import { act, renderWithRedux, patientlyWaitFor, fireEvent } from 'react-testing-lib-wrapper';
|
3
3
|
import { Route } from 'react-router-dom';
|
4
4
|
import { head, last } from 'lodash';
|
5
|
-
import { nockInstance, assertNockRequest, mockAutocomplete
|
5
|
+
import { nockInstance, assertNockRequest, mockAutocomplete } from '../../../../../../test-utils/nockWrapper';
|
6
6
|
import api from '../../../../../../services/api';
|
7
7
|
|
8
8
|
import ContentViewVersions from '../../ContentViewVersions';
|
@@ -55,8 +55,6 @@ const renderOptions = {
|
|
55
55
|
|
56
56
|
};
|
57
57
|
|
58
|
-
let searchDelayScope;
|
59
|
-
let autoSearchScope;
|
60
58
|
let envScope;
|
61
59
|
|
62
60
|
const versionIdsAllContentTypes = {
|
@@ -343,9 +341,6 @@ test('Can make an API call and show comparison of two versions with all content
|
|
343
341
|
renderOptions,
|
344
342
|
);
|
345
343
|
|
346
|
-
searchDelayScope = mockSetting(nockInstance, 'autosearch_delay', undefined, 9);
|
347
|
-
autoSearchScope = mockSetting(nockInstance, 'autosearch_while_typing', undefined, 9);
|
348
|
-
|
349
344
|
// Nothing will show at first, page is loading
|
350
345
|
expect(queryByText(`Version ${versionLabelsAllContentTypes.versionOneLabel}`)).toBeNull();
|
351
346
|
expect(queryByText(`Version ${versionLabelsAllContentTypes.versionTwoLabel}`)).toBeNull();
|
@@ -381,8 +376,6 @@ test('Can make an API call and show comparison of two versions with all content
|
|
381
376
|
scopeContentTypes.map(cv => assertNockRequest(cv));
|
382
377
|
autoCompleteContentTypesScope.map(cv => assertNockRequest(cv));
|
383
378
|
assertNockRequest(sortedRpmTabScope);
|
384
|
-
assertNockRequest(searchDelayScope);
|
385
|
-
assertNockRequest(autoSearchScope);
|
386
379
|
act(done);
|
387
380
|
});
|
388
381
|
|
@@ -412,9 +405,6 @@ test('Can make an API call and compare two versions with three content types', a
|
|
412
405
|
renderOptions,
|
413
406
|
);
|
414
407
|
|
415
|
-
searchDelayScope = mockSetting(nockInstance, 'autosearch_delay', undefined, 3);
|
416
|
-
autoSearchScope = mockSetting(nockInstance, 'autosearch_while_typing', undefined, 3);
|
417
|
-
|
418
408
|
// Nothing will show at first, page is loading
|
419
409
|
expect(queryByText(`Version ${versionLabelsThreeContentTypes.versionOneLabel}`)).toBeNull();
|
420
410
|
expect(queryByText(`Version ${versionLabelsThreeContentTypes.versionTwoLabel}`)).toBeNull();
|
@@ -442,8 +432,6 @@ test('Can make an API call and compare two versions with three content types', a
|
|
442
432
|
assertNockRequest(scopeVersionTwoDetails);
|
443
433
|
scopeContentTypes.map(cv => assertNockRequest(cv));
|
444
434
|
autoCompleteContentTypesScope.map(cv => assertNockRequest(cv));
|
445
|
-
assertNockRequest(searchDelayScope);
|
446
|
-
assertNockRequest(autoSearchScope);
|
447
435
|
act(done);
|
448
436
|
});
|
449
437
|
|
@@ -453,8 +441,6 @@ test('Can select two versions and click compare button', async (done) => {
|
|
453
441
|
const autocompleteScope = mockAutocomplete(nockInstance, autocompleteUrl);
|
454
442
|
const scopeContentTypes = testConfigAllContentTypes.map(({ dataUrl, data }) =>
|
455
443
|
nockInstance.get(dataUrl).query(true).reply(200, data));
|
456
|
-
searchDelayScope = mockSetting(nockInstance, 'autosearch_delay', undefined, 10);
|
457
|
-
autoSearchScope = mockSetting(nockInstance, 'autosearch_while_typing', undefined, 10);
|
458
444
|
const scope = nockInstance
|
459
445
|
.get(cvVersions)
|
460
446
|
.query(true)
|
@@ -499,15 +485,11 @@ test('Can select two versions and click compare button', async (done) => {
|
|
499
485
|
assertNockRequest(autocompleteScope);
|
500
486
|
assertNockRequest(scope);
|
501
487
|
assertNockRequest(scopeCVDetails);
|
502
|
-
assertNockRequest(searchDelayScope);
|
503
|
-
assertNockRequest(autoSearchScope);
|
504
488
|
act(done);
|
505
489
|
});
|
506
490
|
|
507
491
|
test('Can select two versions with no content and click compare button', async (done) => {
|
508
492
|
const autocompleteScope = mockAutocomplete(nockInstance, autocompleteUrl);
|
509
|
-
searchDelayScope = mockSetting(nockInstance, 'autosearch_delay');
|
510
|
-
autoSearchScope = mockSetting(nockInstance, 'autosearch_while_typing');
|
511
493
|
const scope = nockInstance
|
512
494
|
.get(cvVersions)
|
513
495
|
.query(true)
|
@@ -550,8 +532,6 @@ test('Can select two versions with no content and click compare button', async (
|
|
550
532
|
assertNockRequest(autocompleteScope);
|
551
533
|
assertNockRequest(scope);
|
552
534
|
assertNockRequest(scopeCVDetails);
|
553
|
-
assertNockRequest(searchDelayScope);
|
554
|
-
assertNockRequest(autoSearchScope);
|
555
535
|
act(done);
|
556
536
|
});
|
557
537
|
|
@@ -586,9 +566,6 @@ test('Can select viewing by "Different" in the dropdown and see the content in e
|
|
586
566
|
renderOptions,
|
587
567
|
);
|
588
568
|
|
589
|
-
searchDelayScope = mockSetting(nockInstance, 'autosearch_delay', undefined, 3);
|
590
|
-
autoSearchScope = mockSetting(nockInstance, 'autosearch_while_typing', undefined, 3);
|
591
|
-
|
592
569
|
// Nothing will show at first, page is loading
|
593
570
|
expect(queryByText(`Version ${versionLabelsThreeContentTypes.versionOneLabel}`)).toBeNull();
|
594
571
|
expect(queryByText(`Version ${versionLabelsThreeContentTypes.versionTwoLabel}`)).toBeNull();
|
@@ -631,8 +608,6 @@ test('Can select viewing by "Different" in the dropdown and see the content in e
|
|
631
608
|
assertNockRequest(scopeVersionTwoDetails);
|
632
609
|
scopeContentTypes.map(cv => assertNockRequest(cv));
|
633
610
|
autoCompleteContentTypesScope.map(cv => assertNockRequest(cv));
|
634
|
-
assertNockRequest(searchDelayScope);
|
635
|
-
assertNockRequest(autoSearchScope);
|
636
611
|
act(done);
|
637
612
|
});
|
638
613
|
|
@@ -667,10 +642,6 @@ test('Can select viewing by "Same" in the dropdown and see the content in common
|
|
667
642
|
renderOptions,
|
668
643
|
);
|
669
644
|
|
670
|
-
searchDelayScope = mockSetting(nockInstance, 'autosearch_delay', undefined, 3);
|
671
|
-
autoSearchScope = mockSetting(nockInstance, 'autosearch_while_typing', undefined, 3);
|
672
|
-
|
673
|
-
|
674
645
|
expect(queryByText(`Version ${versionLabelsThreeContentTypes.versionOneLabel}`)).toBeNull();
|
675
646
|
expect(queryByText(`Version ${versionLabelsThreeContentTypes.versionTwoLabel}`)).toBeNull();
|
676
647
|
|
@@ -704,7 +675,5 @@ test('Can select viewing by "Same" in the dropdown and see the content in common
|
|
704
675
|
assertNockRequest(scopeVersionTwoDetails);
|
705
676
|
scopeContentTypes.map(cv => assertNockRequest(cv));
|
706
677
|
autoCompleteContentTypesScope.map(cv => assertNockRequest(cv));
|
707
|
-
assertNockRequest(searchDelayScope);
|
708
|
-
assertNockRequest(autoSearchScope);
|
709
678
|
act(done);
|
710
679
|
});
|
@@ -253,7 +253,9 @@ const ContentViewVersions = ({ cvId, details }) => {
|
|
253
253
|
}}
|
254
254
|
ouiaId="content-view-versions-table"
|
255
255
|
variant={TableVariant.compact}
|
256
|
-
autocompleteEndpoint=
|
256
|
+
autocompleteEndpoint="/katello/api/v2/content_view_versions"
|
257
|
+
autocompleteQueryParams={{ content_view_id: cvId }}
|
258
|
+
bookmarkController="katello_content_view_versions"
|
257
259
|
fetchItems={fetchItems}
|
258
260
|
{...hasActionPermissions ? selectionSetVars : []}
|
259
261
|
actionButtons={
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { renderWithRedux, patientlyWaitFor, fireEvent } from 'react-testing-lib-wrapper';
|
3
|
-
import { nockInstance, assertNockRequest, mockAutocomplete, mockForemanAutocomplete
|
3
|
+
import { nockInstance, assertNockRequest, mockAutocomplete, mockForemanAutocomplete } from '../../../../../../test-utils/nockWrapper';
|
4
4
|
import api, { foremanApi } from '../../../../../../services/api';
|
5
5
|
import CONTENT_VIEWS_KEY from '../../../../ContentViewsConstants';
|
6
6
|
import ContentViewVersions from '../../ContentViewVersions';
|
@@ -27,15 +27,11 @@ const cVDropDownOptionsPath = api.getApiUrl('/content_views?organization_id=1&in
|
|
27
27
|
// const taskPollingUrl = '/foreman_tasks/api/tasks/6b900ff8-62bb-42ac-8c45-da86b7258520';
|
28
28
|
|
29
29
|
let firstVersion;
|
30
|
-
let searchDelayScope;
|
31
|
-
let autoSearchScope;
|
32
30
|
let envScope;
|
33
31
|
|
34
32
|
beforeEach(() => {
|
35
33
|
const { results } = cvVersionsData;
|
36
34
|
[firstVersion] = results;
|
37
|
-
searchDelayScope = mockSetting(nockInstance, 'autosearch_delay', 0);
|
38
|
-
autoSearchScope = mockSetting(nockInstance, 'autosearch_while_typing');
|
39
35
|
envScope = nockInstance
|
40
36
|
.get(environmentPathsPath)
|
41
37
|
.query(true)
|
@@ -44,8 +40,6 @@ beforeEach(() => {
|
|
44
40
|
|
45
41
|
afterEach(() => {
|
46
42
|
assertNockRequest(envScope);
|
47
|
-
assertNockRequest(searchDelayScope);
|
48
|
-
assertNockRequest(autoSearchScope);
|
49
43
|
});
|
50
44
|
|
51
45
|
test('Can call API and show versions on page load', async (done) => {
|
@@ -128,8 +122,6 @@ test('Can open Remove wizard and remove version from environment with hosts', as
|
|
128
122
|
const autocompleteScope = mockAutocomplete(nockInstance, autocompleteUrl);
|
129
123
|
const hostAutocompleteUrl = '/hosts/auto_complete_search';
|
130
124
|
const hostAutocompleteScope = mockForemanAutocomplete(nockInstance, hostAutocompleteUrl);
|
131
|
-
const hostSearchDelayScope = mockSetting(nockInstance, 'autosearch_delay', 0);
|
132
|
-
const hostAutoSearchScope = mockSetting(nockInstance, 'autosearch_while_typing');
|
133
125
|
|
134
126
|
const scope = nockInstance
|
135
127
|
.get(cvVersions)
|
@@ -206,8 +198,6 @@ test('Can open Remove wizard and remove version from environment with hosts', as
|
|
206
198
|
assertNockRequest(scope);
|
207
199
|
assertNockRequest(autocompleteScope);
|
208
200
|
assertNockRequest(hostAutocompleteScope);
|
209
|
-
assertNockRequest(hostSearchDelayScope);
|
210
|
-
assertNockRequest(hostAutoSearchScope);
|
211
201
|
assertNockRequest(hostScope);
|
212
202
|
assertNockRequest(cVDropDownOptionsScope);
|
213
203
|
assertNockRequest(envPathRemovalScope);
|
@@ -218,8 +208,6 @@ test('Can open Remove wizard and remove version from environment with activation
|
|
218
208
|
const autocompleteScope = mockAutocomplete(nockInstance, autocompleteUrl);
|
219
209
|
const akAutocompleteUrl = '/activation_keys/auto_complete_search';
|
220
210
|
const akAutocompleteScope = mockAutocomplete(nockInstance, akAutocompleteUrl);
|
221
|
-
const akSearchDelayScope = mockSetting(nockInstance, 'autosearch_delay', 0);
|
222
|
-
const akAutoSearchScope = mockSetting(nockInstance, 'autosearch_while_typing');
|
223
211
|
|
224
212
|
const scope = nockInstance
|
225
213
|
.get(cvVersions)
|
@@ -297,8 +285,6 @@ test('Can open Remove wizard and remove version from environment with activation
|
|
297
285
|
assertNockRequest(scope);
|
298
286
|
assertNockRequest(autocompleteScope);
|
299
287
|
assertNockRequest(akAutocompleteScope);
|
300
|
-
assertNockRequest(akSearchDelayScope);
|
301
|
-
assertNockRequest(akAutoSearchScope);
|
302
288
|
assertNockRequest(activationKeysScope);
|
303
289
|
assertNockRequest(cVDropDownOptionsScope);
|
304
290
|
assertNockRequest(envPathRemovalScope);
|
@@ -55,7 +55,7 @@ const AffectedActivationKeys = ({
|
|
55
55
|
status,
|
56
56
|
}}
|
57
57
|
ouiaId="content-view-delete-modal-affected-activation-keys"
|
58
|
-
autocompleteEndpoint="/activation_keys
|
58
|
+
autocompleteEndpoint="/katello/api/v2/activation_keys"
|
59
59
|
variant={TableVariant.compact}
|
60
60
|
>
|
61
61
|
<Thead>
|
@@ -50,8 +50,7 @@ const AffectedHosts = ({
|
|
50
50
|
status,
|
51
51
|
}}
|
52
52
|
ouiaId="content-view-delete-modal-affected-hosts-table"
|
53
|
-
autocompleteEndpoint="/hosts
|
54
|
-
foremanApiAutoComplete
|
53
|
+
autocompleteEndpoint="/api/v2/hosts"
|
55
54
|
variant={TableVariant.compact}
|
56
55
|
>
|
57
56
|
<Thead>
|