katello 4.3.0.rc1 → 4.3.0.rc4
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/v2/api_controller.rb +4 -0
- data/app/controllers/katello/api/v2/capsule_content_controller.rb +11 -3
- data/app/controllers/katello/api/v2/content_uploads_controller.rb +1 -1
- data/app/controllers/katello/api/v2/generic_content_units_controller.rb +10 -4
- data/app/controllers/katello/api/v2/host_errata_controller.rb +5 -0
- data/app/controllers/katello/api/v2/host_packages_controller.rb +2 -0
- data/app/controllers/katello/api/v2/host_tracer_controller.rb +4 -0
- data/app/controllers/katello/api/v2/repositories_bulk_actions_controller.rb +8 -0
- data/app/controllers/katello/api/v2/repositories_controller.rb +35 -3
- data/app/controllers/katello/api/v2/repository_sets_controller.rb +2 -2
- data/app/controllers/katello/api/v2/root_controller.rb +10 -19
- data/app/controllers/katello/concerns/api/v2/bulk_extensions.rb +3 -13
- data/app/controllers/katello/concerns/api/v2/registration_controller_extensions.rb +1 -9
- data/app/controllers/katello/remote_execution_controller.rb +1 -1
- data/app/lib/actions/katello/capsule_content/refresh_repos.rb +1 -1
- data/app/lib/actions/katello/capsule_content/sync_capsule.rb +7 -5
- data/app/lib/actions/katello/repository/destroy.rb +3 -3
- data/app/lib/actions/katello/repository/import_upload.rb +12 -2
- data/app/lib/actions/pulp/repository/sync.rb +0 -2
- data/app/lib/actions/pulp3/abstract_async_task.rb +16 -4
- data/app/lib/actions/pulp3/capsule_content/generate_metadata.rb +5 -4
- data/app/lib/actions/pulp3/capsule_content/reclaim_space.rb +25 -0
- data/app/lib/actions/pulp3/orchestration/repository/import_repository_upload.rb +36 -0
- data/app/lib/actions/pulp3/orchestration/repository/import_upload.rb +1 -1
- data/app/lib/actions/pulp3/repository/commit_upload.rb +3 -1
- data/app/lib/actions/pulp3/repository/import_upload.rb +4 -2
- data/app/lib/actions/pulp3/repository/reclaim_space.rb +25 -0
- data/app/lib/actions/pulp3/repository/save_artifact.rb +12 -8
- data/app/lib/katello/resources/cdn.rb +10 -1
- data/app/lib/katello/resources/registry.rb +1 -1
- data/app/models/katello/concerns/host_managed_extensions.rb +7 -4
- data/app/models/katello/concerns/smart_proxy_extensions.rb +21 -9
- data/app/models/katello/content_view_version.rb +1 -6
- data/app/models/katello/glue/pulp/repo.rb +1 -2
- data/app/models/katello/host_tracer.rb +2 -0
- data/app/models/katello/pulp3/repository_reference.rb +7 -0
- data/app/models/katello/repository.rb +2 -30
- data/app/models/katello/root_repository.rb +3 -44
- data/app/models/setting/content.rb +2 -8
- data/app/presenters/katello/host_package_presenter.rb +21 -0
- data/app/services/katello/bulk_items_helper.rb +35 -0
- data/app/services/katello/pulp3/api/core.rb +16 -2
- data/app/services/katello/pulp3/content.rb +4 -2
- data/app/services/katello/pulp3/pulp_content_unit.rb +9 -3
- data/app/services/katello/pulp3/repository.rb +9 -4
- data/app/services/katello/pulp3/repository_mirror.rb +1 -1
- data/app/services/katello/repository_type.rb +2 -1
- data/app/services/katello/smart_proxy_helper.rb +10 -1
- data/app/views/foreman/job_templates/change_content_source.erb +42 -0
- data/app/views/foreman/job_templates/install_errata.erb +8 -6
- data/app/views/foreman/job_templates/resolve_traces.erb +4 -5
- data/app/views/foreman/job_templates/resolve_traces_-_katello_ansible_default.erb +3 -5
- data/app/views/foreman/smart_proxies/_content_sync.html.erb +17 -4
- data/app/views/foreman/smart_proxies/_reclaim_space.html.erb +12 -0
- data/app/views/foreman/smart_proxies/show.html.erb +4 -2
- data/app/views/katello/api/v2/capsule_content/sync_status.json.rabl +6 -0
- data/app/views/katello/api/v2/{organizations/cdn_configuration.rabl → cdn_configurations/show.json.rabl} +4 -0
- data/app/views/katello/api/v2/content_facet/show.json.rabl +8 -0
- data/app/views/katello/api/v2/content_view_filters/show.json.rabl +0 -1
- data/app/views/katello/api/v2/content_views/base.json.rabl +1 -1
- data/app/views/katello/api/v2/host_packages/base.json.rabl +2 -0
- data/app/views/katello/api/v2/organizations/show.json.rabl +1 -1
- data/app/views/katello/api/v2/repositories/show.json.rabl +0 -3
- data/config/routes/api/v2.rb +5 -10
- data/db/migrate/20210331180353_katello_pool_organization_id_not_nullable.rb +2 -0
- data/db/migrate/20211115215210_drop_ostree_branches.rb +13 -0
- data/db/migrate/20211129200124_remove_dependency_solving_algorithm_setting.rb +5 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/bastion-katello-bootstrap.js +1 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/bastion_katello.js +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/capsule-content/capsule-content.controller.js +21 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/capsule-content/capsule-content.factory.js +2 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/capsule-content/sync-state.service.js +2 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/content-views.routes.js +0 -10
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-versions.html +0 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/content-view-version-content.controller.js +0 -10
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/content-view-versions.module.js +0 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version.html +0 -7
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/content.service.js +0 -5
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/environments.module.js +0 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/environments.routes.js +0 -11
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/organizations/fenced-pages.service.js +1 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/product-repositories.controller.js +14 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-info.controller.js +2 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-info.filter.js +0 -10
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-reclaim-space-modal.controller.js +36 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details.controller.js +16 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-details-reclaim-space-modal.html +18 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-details.html +13 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/new-repository.controller.js +3 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html +4 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/os-versions.service.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/product-repositories-reclaim-space-modal.controller.js +35 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repositories.routes.js +0 -9
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repository.factory.js +3 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/views/product-repositories-reclaim-space-modal.html +18 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/views/product-repositories.html +7 -8
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/pulp-primary/pulp-primary.controller.js +35 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/pulp-primary/pulp-primary.factory.js +18 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/pulp-primary/pulp-primary.module.js +14 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/pulp-primary/pulp-primary.routes.js +16 -0
- data/engines/bastion_katello/lib/bastion_katello/engine.rb +0 -1
- data/lib/katello/permission_creator.rb +3 -4
- data/lib/katello/plugin.rb +4 -10
- data/lib/katello/repository_types/ostree.rb +3 -1
- data/lib/katello/tasks/reset.rake +2 -2
- data/lib/katello/tasks/upgrades/4.3/fix_url_auth.rake +25 -0
- data/lib/katello/version.rb +1 -1
- data/package.json +1 -0
- data/webpack/components/AddedStatusLabel.js +2 -1
- data/webpack/components/EditableTextInput/EditableTextInput.js +76 -17
- data/webpack/components/EditableTextInput/__tests__/editableTextInput.test.js +82 -0
- data/webpack/components/EditableTextInput/editableTextInput.scss +4 -0
- data/webpack/components/Packages/index.js +63 -0
- data/webpack/components/RoutedTabs/index.js +3 -1
- data/webpack/components/Search/Search.js +7 -1
- data/webpack/components/SelectAllCheckbox/index.js +2 -2
- data/webpack/components/Table/EmptyStateMessage.js +4 -2
- data/webpack/components/Table/MainTable.scss +7 -1
- data/webpack/components/Table/TableHooks.js +10 -19
- data/webpack/components/Table/TableWrapper.js +3 -3
- data/webpack/components/WithOrganization/__snapshots__/withOrganization.test.js.snap +3 -3
- data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard.js +24 -30
- data/webpack/components/extensions/HostDetails/HostDetailsConstants.js +1 -0
- data/webpack/components/extensions/HostDetails/HostDetailsSelectors.js +16 -0
- data/webpack/components/extensions/HostDetails/HostErrata/HostErrataConstants.js +2 -0
- data/webpack/components/extensions/HostDetails/HostPackages/HostPackagesActions.js +11 -0
- data/webpack/components/extensions/HostDetails/HostPackages/HostPackagesConstants.js +2 -0
- data/webpack/components/extensions/HostDetails/HostPackages/HostPackagesSelectors.js +16 -0
- data/webpack/components/extensions/HostDetails/Tabs/ContentTab/SecondaryTabsRoutes.js +4 -0
- data/webpack/components/extensions/HostDetails/Tabs/ContentTab/constants.js +1 -0
- data/webpack/components/extensions/HostDetails/Tabs/ErrataTab.js +119 -25
- data/webpack/components/extensions/HostDetails/Tabs/HostTracesConstants.js +1 -0
- data/webpack/components/extensions/HostDetails/Tabs/PackagesTab.js +127 -0
- data/webpack/components/extensions/HostDetails/Tabs/PackagesTab.scss +11 -0
- data/webpack/components/extensions/HostDetails/Tabs/RemoteExecutionActions.js +30 -4
- data/webpack/components/extensions/HostDetails/Tabs/RemoteExecutionConstants.js +1 -0
- data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsActions.js +73 -0
- data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsConstants.js +2 -0
- data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsSelectors.js +16 -0
- data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsTab.js +347 -0
- data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsTab.scss +7 -0
- data/webpack/components/extensions/HostDetails/Tabs/TracesTab.js +38 -31
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/bookmarks.fixtures.json +12 -0
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/contentOverrides.fixtures.json +227 -0
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/errataTab.test.js +423 -2
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/packages.fixtures.json +28 -0
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/packagesTab.test.js +91 -0
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/repositorySets.fixtures.json +120 -0
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/repositorySetsTab.test.js +307 -0
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/resolveErrata.fixtures.json +35 -0
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/tracesTab.test.js +55 -9
- data/webpack/components/extensions/HostDetails/Tabs/customizedRexUrlHelpers.js +28 -14
- data/webpack/containers/Application/overrides.scss +31 -9
- data/webpack/global_index.js +11 -4
- data/webpack/redux/reducers/RedHatRepositories/enabled.fixtures.js +0 -2
- data/webpack/scenes/Content/ContentConfig.js +23 -7
- data/webpack/scenes/Content/Details/__tests__/contentDetail.test.js +2 -0
- data/webpack/scenes/ContentCredentials/ContentCredentialActions.js +18 -0
- data/webpack/scenes/ContentCredentials/ContentCredentialConstants.js +2 -0
- data/webpack/scenes/ContentCredentials/ContentCredentialSelectors.js +12 -0
- data/webpack/scenes/ContentCredentials/__tests__/contentCredentials.fixtures.js +73 -0
- data/webpack/scenes/ContentViews/Copy/CopyContentViewForm.js +8 -12
- data/webpack/scenes/ContentViews/Copy/CopyContentViewModal.js +1 -1
- data/webpack/scenes/ContentViews/Copy/__tests__/copyContentView.test.js +1 -1
- data/webpack/scenes/ContentViews/Create/ContentViewFormComponents.js +3 -3
- data/webpack/scenes/ContentViews/Create/CreateContentViewForm.js +7 -2
- data/webpack/scenes/ContentViews/Create/CreateContentViewForm.scss +7 -0
- data/webpack/scenes/ContentViews/Create/__tests__/createContentView.test.js +9 -9
- data/webpack/scenes/ContentViews/Delete/ContentViewDeleteWizard.js +6 -6
- data/webpack/scenes/ContentViews/Delete/Steps/CVDeleteEnvironmentsSelection.js +39 -37
- data/webpack/scenes/ContentViews/Delete/Steps/CVDeletionFinish.js +10 -4
- data/webpack/scenes/ContentViews/Delete/Steps/CVDeletionReview.js +35 -33
- data/webpack/scenes/ContentViews/Delete/__tests__/contentViewDelete.test.js +12 -7
- data/webpack/scenes/ContentViews/Delete/__tests__/cvVersionsData.fixtures.json +2 -6
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentEnvironments.js +13 -14
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/ContentViewComponents.js +36 -31
- data/webpack/scenes/ContentViews/Details/ContentViewDetailActions.js +8 -8
- data/webpack/scenes/ContentViews/Details/ContentViewDetails.js +108 -41
- data/webpack/scenes/ContentViews/Details/ContentViewInfo.js +3 -2
- data/webpack/scenes/ContentViews/Details/Filters/Add/CVFilterAddModal.js +2 -2
- data/webpack/scenes/ContentViews/Details/Filters/Add/__tests__/cvFilterCreateResult.fixtures.json +1 -2
- data/webpack/scenes/ContentViews/Details/Filters/AffectedRepositories/AffectedRepositoryTable.js +1 -4
- data/webpack/scenes/ContentViews/Details/Filters/CVContainerImageFilterContent.js +6 -6
- data/webpack/scenes/ContentViews/Details/Filters/CVErrataDateFilterContent.js +11 -5
- data/webpack/scenes/ContentViews/Details/Filters/CVErrataIDFilterContent.js +6 -9
- data/webpack/scenes/ContentViews/Details/Filters/CVModuleStreamFilterContent.js +5 -8
- data/webpack/scenes/ContentViews/Details/Filters/CVPackageGroupFilterContent.js +40 -43
- data/webpack/scenes/ContentViews/Details/Filters/CVRpmFilterContent.js +2 -2
- data/webpack/scenes/ContentViews/Details/Filters/ContentType.js +4 -4
- data/webpack/scenes/ContentViews/Details/Filters/ContentViewFilterDetailsHeader.js +6 -8
- data/webpack/scenes/ContentViews/Details/Filters/ContentViewFilters.js +6 -1
- data/webpack/scenes/ContentViews/Details/Filters/Rules/ContainerTag/AddEditContainerTagRuleModal.js +1 -1
- data/webpack/scenes/ContentViews/Details/Filters/Rules/Package/AddEditPackageRuleModal.js +16 -22
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/CVRpmFilterContent.test.js +8 -8
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/ContentViewPackageGroupFilter.test.js +3 -5
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/contentViewErrataByDateDetails.fixtures.json +1 -8
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/contentViewFilterDetail.fixtures.json +1 -2
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/contentViewFilterDetails.test.js +5 -9
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvAllRepos.fixtures.json +0 -2
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvErrataDateFilterContent.test.js +1 -9
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvErrataIDFilter.test.js +2 -4
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvErratumFilterDetails.fixtures.json +1 -2
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvFilterDetailModuleAffectedRepos.fixtures.json +1 -8
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvFilterDetailWithAffectedRepos.fixtures.json +1 -8
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvModuleStreamFilter.test.js +2 -4
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvModuleStreamFilterDetails.fixtures.json +1 -2
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvPackageFilterDetail.fixtures.json +1 -3
- data/webpack/scenes/ContentViews/Details/Promote/ContentViewVersionPromote.js +61 -32
- data/webpack/scenes/ContentViews/Details/Repositories/ContentCounts.js +6 -1
- data/webpack/scenes/ContentViews/Details/Repositories/ContentViewRepositories.js +5 -8
- data/webpack/scenes/ContentViews/Details/Repositories/LastSync.js +55 -9
- data/webpack/scenes/ContentViews/Details/Repositories/__tests__/contentViewAddRemove.test.js +2 -0
- data/webpack/scenes/ContentViews/Details/Repositories/__tests__/contentViewDetailRepos.fixtures.json +0 -2
- data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersionContent.js +48 -29
- data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersionEnvironments.js +2 -2
- data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersionErrata.js +9 -7
- data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersionErrata.scss +5 -2
- data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersions.js +38 -9
- data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveCVVersionWizard.js +4 -1
- data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVEnvironmentSelectionForm.js +59 -53
- data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVVersionDeleteFinish.js +14 -3
- data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVVersionRemoveReview.js +24 -17
- data/webpack/scenes/ContentViews/Details/Versions/Delete/__tests__/cvVersionRemove.test.js +3 -3
- data/webpack/scenes/ContentViews/Details/Versions/Delete/__tests__/versionsResponseData.fixtures.json +1 -4
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetails.js +4 -2
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetailsHeader.js +134 -32
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionRepositoryCell.js +8 -3
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionComponent.fixtures.json +1 -4
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionDetails.fixtures.json +1 -2
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionDetails.test.js +21 -1
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionDetailsCounts.fixtures.json +1 -2
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionDetailsEmpty.test.js +22 -1
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionRepositories.fixtures.json +1 -18
- data/webpack/scenes/ContentViews/Details/Versions/__tests__/contentViewVersions.fixtures.json +5 -5
- data/webpack/scenes/ContentViews/Details/Versions/__tests__/contentViewVersions.test.js +2 -0
- data/webpack/scenes/ContentViews/Details/Versions/__tests__/contentViewVersionsWithTask.fixtures.json +1 -3
- data/webpack/scenes/ContentViews/Details/contentViewInfo.scss +0 -4
- data/webpack/scenes/ContentViews/Publish/CVPublishForm.js +66 -53
- data/webpack/scenes/ContentViews/Publish/CVPublishReview.js +40 -28
- data/webpack/scenes/ContentViews/Publish/PublishContentViewWizard.js +3 -3
- data/webpack/scenes/ContentViews/Publish/__tests__/publishContentView.test.js +14 -14
- data/webpack/scenes/ContentViews/Publish/cvPublishForm.scss +6 -0
- data/webpack/scenes/ContentViews/Table/ContentViewsTable.js +53 -12
- data/webpack/scenes/ContentViews/Table/tableDataGenerator.js +12 -6
- data/webpack/scenes/ContentViews/__tests__/contentViewPage.test.js +6 -6
- data/webpack/scenes/ContentViews/components/ContentViewIcon.js +12 -7
- data/webpack/scenes/ContentViews/components/ContentViewsCounter.js +2 -2
- data/webpack/scenes/ContentViews/components/EnvironmentPaths/EnvironmentPaths.js +26 -27
- data/webpack/scenes/ContentViews/components/EnvironmentPaths/EnvironmentPaths.scss +18 -6
- data/webpack/scenes/ContentViews/components/WizardHeader.js +44 -0
- data/webpack/scenes/ContentViews/components/contentViewIcon.scss +13 -2
- data/webpack/scenes/Organizations/OrganizationActions.js +22 -24
- data/webpack/scenes/Organizations/OrganizationConstants.js +1 -3
- data/webpack/scenes/Organizations/OrganizationReducer.js +0 -7
- data/webpack/scenes/Organizations/OrganizationSelectors.js +16 -0
- data/webpack/scenes/Organizations/__tests__/OrganizationActions.test.js +1 -21
- data/webpack/scenes/Organizations/__tests__/OrganizationReducer.test.js +0 -20
- data/webpack/scenes/Organizations/__tests__/organizations.fixtures.js +34 -23
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationForm.js +185 -0
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationForm.scss +3 -0
- data/webpack/scenes/Subscriptions/Manifest/ManageManifestModal.js +112 -146
- data/webpack/scenes/Subscriptions/Manifest/__tests__/CdnConfigurationForm.test.js +114 -0
- data/webpack/scenes/Subscriptions/Manifest/__tests__/ManageManifestModal.test.js +121 -31
- data/webpack/scenes/Subscriptions/Manifest/index.js +14 -3
- data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsActions.test.js.snap +1 -0
- data/webpack/scenes/Tasks/TaskActions.js +4 -3
- data/webpack/scenes/Tasks/__tests__/__snapshots__/TaskActions.test.js.snap +1 -0
- data/webpack/utils/helpers.js +2 -2
- metadata +62 -43
- data/app/controllers/katello/api/v2/ostree_branches_controller.rb +0 -16
- data/app/lib/actions/pulp/repository/presenters/ostree_presenter.rb +0 -91
- data/app/models/katello/ostree_branch.rb +0 -12
- data/app/models/katello/repository_ostree_branch.rb +0 -7
- data/app/services/katello/pulp/ostree_branch.rb +0 -14
- data/app/services/katello/pulp/repository/ostree.rb +0 -48
- data/app/views/katello/api/v2/ostree_branches/compare.json.rabl +0 -10
- data/app/views/katello/api/v2/ostree_branches/index.json.rabl +0 -7
- data/app/views/katello/api/v2/ostree_branches/show.json.rabl +0 -5
- data/app/views/katello/api/v2/root/resource_list.json.rabl +0 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-ostree-branches.html +0 -26
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-ostree.html +0 -27
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/details/ostree-branch-repositories.controller.js +0 -77
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/details/ostree-branch.controller.js +0 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/details/views/ostree-branch-info.html +0 -15
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/details/views/ostree-branch-repositories.html +0 -72
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/details/views/ostree-branch.html +0 -30
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/ostree-branch.factory.js +0 -27
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/ostree-branches.controller.js +0 -67
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/ostree-branches.module.js +0 -15
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/ostree-branches.routes.js +0 -50
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/views/ostree-branches.html +0 -40
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-ostree-branches.html +0 -40
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/ostree-upstream-sync-policy.service.js +0 -26
- data/webpack/components/extensions/HostDetails/Tabs/SubscriptionTab.js +0 -12
- data/webpack/scenes/Content/Details/ContentCounts.js +0 -42
- data/webpack/scenes/Subscriptions/Manifest/__tests__/SimpleContentAccess.test.js +0 -108
- data/webpack/scenes/Subscriptions/Manifest/__tests__/__snapshots__/ManageManifestModal.test.js.snap +0 -158
data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetailsHeader.js
CHANGED
@@ -1,4 +1,5 @@
|
|
1
|
-
import React from 'react';
|
1
|
+
import React, { useState, useEffect } from 'react';
|
2
|
+
import { useDispatch } from 'react-redux';
|
2
3
|
import PropTypes from 'prop-types';
|
3
4
|
import {
|
4
5
|
GridItem,
|
@@ -10,52 +11,153 @@ import {
|
|
10
11
|
Label,
|
11
12
|
Flex,
|
12
13
|
FlexItem,
|
14
|
+
Dropdown,
|
15
|
+
DropdownItem,
|
16
|
+
DropdownToggle,
|
17
|
+
DropdownPosition,
|
13
18
|
} from '@patternfly/react-core';
|
14
19
|
import { translate as __ } from 'foremanReact/common/I18n';
|
15
20
|
import EditableTextInput from '../../../../../components/EditableTextInput';
|
16
21
|
import { hasPermission } from '../../../helpers';
|
22
|
+
import ContentViewVersionPromote from '../../Promote/ContentViewVersionPromote';
|
23
|
+
import getEnvironmentPaths from '../../../components/EnvironmentPaths/EnvironmentPathActions';
|
24
|
+
import RemoveCVVersionWizard from '../Delete/RemoveCVVersionWizard';
|
17
25
|
|
18
26
|
const ContentViewVersionDetailsHeader = ({
|
19
27
|
versionDetails: {
|
20
|
-
version, description, environments,
|
28
|
+
version, description, environments, content_view_id: cvId, id,
|
21
29
|
},
|
22
30
|
onEdit,
|
23
31
|
details: { permissions },
|
24
|
-
}) =>
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
)
|
32
|
+
}) => {
|
33
|
+
const dispatch = useDispatch();
|
34
|
+
useEffect(
|
35
|
+
() => {
|
36
|
+
dispatch(getEnvironmentPaths());
|
37
|
+
},
|
38
|
+
[dispatch],
|
39
|
+
);
|
40
|
+
const [dropdownOpen, setDropdownOpen] = useState(false);
|
41
|
+
const [promoting, setPromoting] = useState(false);
|
42
|
+
const [removingFromEnv, setRemovingFromEnv] = useState(false);
|
43
|
+
const [currentStep, setCurrentStep] = useState(1);
|
44
|
+
const [deleteVersion, setDeleteVersion] = useState(false);
|
45
|
+
const dropDownItems = [
|
46
|
+
<DropdownItem
|
47
|
+
key="promote"
|
48
|
+
onClick={() => {
|
49
|
+
setPromoting(true);
|
50
|
+
}}
|
51
|
+
>
|
52
|
+
{__('Promote')}
|
53
|
+
</DropdownItem>,
|
54
|
+
<DropdownItem
|
55
|
+
key="remove"
|
56
|
+
onClick={() => {
|
57
|
+
setRemovingFromEnv(true);
|
58
|
+
}}
|
59
|
+
>
|
60
|
+
{__('Remove from environment')}
|
61
|
+
</DropdownItem>,
|
62
|
+
<DropdownItem
|
63
|
+
key="delete"
|
64
|
+
onClick={() => {
|
65
|
+
setCurrentStep(1);
|
66
|
+
setDeleteVersion(true);
|
67
|
+
setRemovingFromEnv(true);
|
68
|
+
}}
|
69
|
+
>
|
70
|
+
{__('Delete')}
|
71
|
+
</DropdownItem>,
|
72
|
+
];
|
73
|
+
|
74
|
+
return (
|
75
|
+
<>
|
76
|
+
<GridItem span={10}>
|
77
|
+
<TextContent>
|
78
|
+
<Text component={TextVariants.h2}>{__('Version ')}{version}</Text>
|
79
|
+
</TextContent>
|
80
|
+
</GridItem>
|
81
|
+
<GridItem span={2} style={{ display: 'flex' }}>
|
82
|
+
<Dropdown
|
83
|
+
aria-label="version-action-dropdown"
|
84
|
+
position={DropdownPosition.right}
|
85
|
+
style={{ marginLeft: 'auto' }}
|
86
|
+
toggle={
|
87
|
+
<DropdownToggle
|
88
|
+
onToggle={setDropdownOpen}
|
89
|
+
id="toggle-id"
|
90
|
+
>
|
91
|
+
{__('Actions')}
|
92
|
+
</DropdownToggle>
|
93
|
+
}
|
94
|
+
isOpen={dropdownOpen}
|
95
|
+
dropdownItems={dropDownItems}
|
96
|
+
/>
|
97
|
+
</GridItem>
|
98
|
+
<GridItem className="content-view-header-content" span={12}>
|
99
|
+
<TextContent>
|
100
|
+
<TextList component={TextListVariants.dl}>
|
101
|
+
<EditableTextInput
|
102
|
+
key={description} // This fixes a render issue with the initial value
|
103
|
+
textArea
|
104
|
+
label={__('Description')}
|
105
|
+
attribute="description"
|
106
|
+
placeholder={__('No description')}
|
107
|
+
onEdit={onEdit}
|
108
|
+
disabled={!hasPermission(permissions, 'edit_content_views')}
|
109
|
+
value={description}
|
110
|
+
/>
|
111
|
+
</TextList>
|
112
|
+
</TextContent>
|
113
|
+
<Flex>
|
114
|
+
{environments?.map(({ name, id: envId }) =>
|
115
|
+
<FlexItem key={name}><Label isTruncated color="purple" href={`/lifecycle_environments/${envId}`}>{name}</Label></FlexItem>)}
|
116
|
+
</Flex>
|
117
|
+
</GridItem>
|
118
|
+
{promoting &&
|
119
|
+
<ContentViewVersionPromote
|
120
|
+
cvId={cvId}
|
121
|
+
versionIdToPromote={id}
|
122
|
+
versionNameToPromote={version}
|
123
|
+
versionEnvironments={environments}
|
124
|
+
setIsOpen={setPromoting}
|
125
|
+
detailsPage
|
126
|
+
aria-label="promote_content_view_modal"
|
127
|
+
/>
|
128
|
+
}
|
129
|
+
{removingFromEnv &&
|
130
|
+
<RemoveCVVersionWizard
|
131
|
+
cvId={cvId}
|
132
|
+
versionIdToRemove={id}
|
133
|
+
versionNameToRemove={version}
|
134
|
+
versionEnvironments={environments}
|
135
|
+
show={removingFromEnv}
|
136
|
+
setIsOpen={setRemovingFromEnv}
|
137
|
+
currentStep={currentStep}
|
138
|
+
setCurrentStep={setCurrentStep}
|
139
|
+
deleteWizard={deleteVersion}
|
140
|
+
detailsPage
|
141
|
+
aria-label="remove_content_view_version_modal"
|
142
|
+
/>
|
143
|
+
}
|
144
|
+
</>
|
145
|
+
);
|
146
|
+
};
|
53
147
|
|
54
148
|
ContentViewVersionDetailsHeader.propTypes = {
|
55
149
|
versionDetails: PropTypes.shape({
|
56
150
|
version: PropTypes.string,
|
57
|
-
environments: PropTypes.arrayOf(PropTypes.shape({
|
151
|
+
environments: PropTypes.arrayOf(PropTypes.shape({})),
|
58
152
|
description: PropTypes.string,
|
153
|
+
content_view_id: PropTypes.oneOfType([
|
154
|
+
PropTypes.string,
|
155
|
+
PropTypes.number,
|
156
|
+
]),
|
157
|
+
id: PropTypes.oneOfType([
|
158
|
+
PropTypes.string,
|
159
|
+
PropTypes.number,
|
160
|
+
]),
|
59
161
|
}).isRequired,
|
60
162
|
onEdit: PropTypes.func.isRequired,
|
61
163
|
details: PropTypes.shape({
|
data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionRepositoryCell.js
CHANGED
@@ -8,6 +8,7 @@ import {
|
|
8
8
|
GridItem,
|
9
9
|
} from '@patternfly/react-core';
|
10
10
|
import InactiveText from '../../../components/InactiveText';
|
11
|
+
import ContentConfig from '../../../../Content/ContentConfig';
|
11
12
|
|
12
13
|
const ContentViewVersionRepositoryCell = ({
|
13
14
|
data: {
|
@@ -49,9 +50,6 @@ const ContentViewVersionRepositoryCell = ({
|
|
49
50
|
name: __('Module streams'),
|
50
51
|
url: `products/${id}/repositories/${libraryInstanceId}/content/module_streams`,
|
51
52
|
},
|
52
|
-
ostree_branch: {
|
53
|
-
name: __('OStree branches'),
|
54
|
-
},
|
55
53
|
package: {
|
56
54
|
name: __('Packages'),
|
57
55
|
url: `products/${id}/repositories/${libraryInstanceId}/content/packages`,
|
@@ -69,6 +67,13 @@ const ContentViewVersionRepositoryCell = ({
|
|
69
67
|
},
|
70
68
|
};
|
71
69
|
|
70
|
+
ContentConfig().forEach((type) => {
|
71
|
+
CONTENT_COUNTS[type.names.singularLabel] = {
|
72
|
+
name: type.names.pluralLowercase,
|
73
|
+
url: `products/${id}/repositories/${libraryInstanceId}/content/${type.names.pluralLabel}`,
|
74
|
+
};
|
75
|
+
});
|
76
|
+
|
72
77
|
const getContentSpan = (num) => {
|
73
78
|
switch (true) {
|
74
79
|
case num < 4:
|
@@ -242,7 +242,6 @@
|
|
242
242
|
"srpm_count": 0,
|
243
243
|
"module_stream_count": 14,
|
244
244
|
"package_count": 22,
|
245
|
-
"ostree_branch_count": null,
|
246
245
|
"component_view_count": 0,
|
247
246
|
"ansible_collection_repository_count": 1,
|
248
247
|
"deb_repository_count": 0,
|
@@ -445,7 +444,6 @@
|
|
445
444
|
"srpm_count": 0,
|
446
445
|
"module_stream_count": 0,
|
447
446
|
"package_count": 0,
|
448
|
-
"ostree_branch_count": null,
|
449
447
|
"component_view_count": 0,
|
450
448
|
"ansible_collection_repository_count": 0,
|
451
449
|
"deb_repository_count": 1,
|
@@ -732,7 +730,6 @@
|
|
732
730
|
"srpm_count": 0,
|
733
731
|
"module_stream_count": 0,
|
734
732
|
"package_count": 0,
|
735
|
-
"ostree_branch_count": null,
|
736
733
|
"component_view_count": 0,
|
737
734
|
"ansible_collection_repository_count": 0,
|
738
735
|
"deb_repository_count": 0,
|
@@ -750,4 +747,4 @@
|
|
750
747
|
}
|
751
748
|
}
|
752
749
|
]
|
753
|
-
}
|
750
|
+
}
|
@@ -138,7 +138,6 @@
|
|
138
138
|
"srpm_count": 0,
|
139
139
|
"module_stream_count": 0,
|
140
140
|
"package_count": 0,
|
141
|
-
"ostree_branch_count": null,
|
142
141
|
"component_view_count": 0,
|
143
142
|
"ansible_collection_repository_count": 0,
|
144
143
|
"deb_repository_count": 0,
|
@@ -155,4 +154,4 @@
|
|
155
154
|
"permissions": {
|
156
155
|
"deletable": true
|
157
156
|
}
|
158
|
-
}
|
157
|
+
}
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
2
2
|
import { renderWithRedux, patientlyWaitFor } from 'react-testing-lib-wrapper';
|
3
3
|
import { Route } from 'react-router-dom';
|
4
4
|
import { head, last } from 'lodash';
|
5
|
-
import { nockInstance, assertNockRequest, mockSetting, mockAutocomplete } from '../../../../../../test-utils/nockWrapper';
|
5
|
+
import nock, { nockInstance, assertNockRequest, mockSetting, mockAutocomplete } from '../../../../../../test-utils/nockWrapper';
|
6
6
|
import api from '../../../../../../services/api';
|
7
7
|
import { cvVersionDetailsKey } from '../../../../ContentViewsConstants';
|
8
8
|
import ContentViewVersionDetails from '../ContentViewVersionDetails';
|
@@ -20,12 +20,15 @@ import ContentViewVersionModuleStreamsData from './ContentViewVersionModuleStrea
|
|
20
20
|
import ContentViewVersionDebPackagesData from './ContentViewVersionDebPackages.fixtures.json';
|
21
21
|
import ContentViewVersionAnsibleCollectionsData from './ContentViewVersionAnsibleCollections.fixtures.json';
|
22
22
|
import ContentViewVersionDockerTagsData from './ContentViewVersionDockerTags.fixtures.json';
|
23
|
+
import environmentPathsData from '../../Delete/__tests__/versionRemoveEnvPaths.fixtures';
|
23
24
|
|
24
25
|
// This changes the api count value so that only the specified tab will show.
|
25
26
|
const getTabSpecificData = key => ({
|
26
27
|
...ContentViewVersionDetailsData,
|
27
28
|
[key]: ContentViewVersionDetailsCounts[key],
|
28
29
|
});
|
30
|
+
let envScope;
|
31
|
+
const environmentPathsPath = api.getApiUrl('/organizations/1/environments/paths');
|
29
32
|
|
30
33
|
const withCVRoute = component => <Route path="/versions/:versionId([0-9]+)">{component}</Route>;
|
31
34
|
|
@@ -39,11 +42,23 @@ const renderOptions = {
|
|
39
42
|
},
|
40
43
|
};
|
41
44
|
|
45
|
+
beforeEach(() => {
|
46
|
+
envScope = nockInstance
|
47
|
+
.get(environmentPathsPath)
|
48
|
+
.query(true)
|
49
|
+
.reply(200, environmentPathsData);
|
50
|
+
});
|
51
|
+
|
52
|
+
afterEach(() => {
|
53
|
+
assertNockRequest(envScope);
|
54
|
+
nock.cleanAll();
|
55
|
+
});
|
42
56
|
// This is written separately, as the autocomplete/search scopes are not needed.
|
43
57
|
test('Can show versions details - Components Tab', async (done) => {
|
44
58
|
const { version } = ContentViewVersionDetailsData;
|
45
59
|
const scope = nockInstance
|
46
60
|
.get(cvVersions)
|
61
|
+
.times(2)
|
47
62
|
.query(true)
|
48
63
|
.reply(200, getTabSpecificData('component_view_count'));
|
49
64
|
|
@@ -72,6 +87,7 @@ test('Can show versions details - Components Tab', async (done) => {
|
|
72
87
|
.content_view.name)).toBeTruthy();
|
73
88
|
});
|
74
89
|
|
90
|
+
assertNockRequest(scope);
|
75
91
|
assertNockRequest(scope);
|
76
92
|
assertNockRequest(componentScope, done);
|
77
93
|
});
|
@@ -188,6 +204,7 @@ testConfig.forEach(({
|
|
188
204
|
|
189
205
|
const scope = nockInstance
|
190
206
|
.get(cvVersions)
|
207
|
+
.times(2)
|
191
208
|
.query(true)
|
192
209
|
.reply(200, getTabSpecificData(countKey));
|
193
210
|
|
@@ -219,6 +236,7 @@ testConfig.forEach(({
|
|
219
236
|
assertNockRequest(autocompleteScope);
|
220
237
|
assertNockRequest(searchDelayScope);
|
221
238
|
assertNockRequest(autoSearchScope);
|
239
|
+
assertNockRequest(scope);
|
222
240
|
assertNockRequest(tabScope);
|
223
241
|
assertNockRequest(scope, done);
|
224
242
|
}));
|
@@ -239,6 +257,7 @@ test('Can change repository selector', async (done) => {
|
|
239
257
|
const scope = nockInstance
|
240
258
|
.get(cvVersions)
|
241
259
|
.query(true)
|
260
|
+
.times(2)
|
242
261
|
.reply(200, {
|
243
262
|
...getTabSpecificData(countKey),
|
244
263
|
repositories: ContentViewVersionDetailsCounts.repositories,
|
@@ -284,6 +303,7 @@ test('Can change repository selector', async (done) => {
|
|
284
303
|
assertNockRequest(autocompleteScope);
|
285
304
|
assertNockRequest(searchDelayScope);
|
286
305
|
assertNockRequest(autoSearchScope);
|
306
|
+
assertNockRequest(scope);
|
287
307
|
assertNockRequest(tabScope);
|
288
308
|
assertNockRequest(scope, done);
|
289
309
|
});
|
@@ -12,7 +12,6 @@
|
|
12
12
|
"srpm_count": 0,
|
13
13
|
"module_stream_count": 14,
|
14
14
|
"package_count": 22,
|
15
|
-
"ostree_branch_count": null,
|
16
15
|
"component_view_count": 3,
|
17
16
|
"ansible_collection_repository_count": 1,
|
18
17
|
"deb_repository_count": 1,
|
@@ -70,4 +69,4 @@
|
|
70
69
|
"library_instance_id": 22
|
71
70
|
}
|
72
71
|
]
|
73
|
-
}
|
72
|
+
}
|
@@ -2,16 +2,20 @@ import React from 'react';
|
|
2
2
|
import { renderWithRedux, patientlyWaitFor } from 'react-testing-lib-wrapper';
|
3
3
|
import { Route } from 'react-router-dom';
|
4
4
|
|
5
|
-
import { nockInstance, assertNockRequest } from '../../../../../../test-utils/nockWrapper';
|
5
|
+
import nock, { nockInstance, assertNockRequest } from '../../../../../../test-utils/nockWrapper';
|
6
6
|
import api from '../../../../../../services/api';
|
7
7
|
import { cvVersionDetailsKey } from '../../../../ContentViewsConstants';
|
8
8
|
import ContentViewVersionDetails from '../ContentViewVersionDetails';
|
9
9
|
import ContentViewVersionDetailsEmptyData from './ContentViewVersionDetails.fixtures.json';
|
10
10
|
import cvDetailData from '../../../../__tests__/mockDetails.fixtures.json';
|
11
|
+
import environmentPathsData from '../../Delete/__tests__/versionRemoveEnvPaths.fixtures';
|
11
12
|
|
12
13
|
const withCVRoute = component =>
|
13
14
|
<Route path="/versions/:versionId([0-9]+)">{component}</Route>;
|
14
15
|
const cvVersions = api.getApiUrl('/content_view_versions/73');
|
16
|
+
let envScope;
|
17
|
+
let versionScope;
|
18
|
+
const environmentPathsPath = api.getApiUrl('/organizations/1/environments/paths');
|
15
19
|
|
16
20
|
const renderOptions = {
|
17
21
|
apiNamespace: cvVersionDetailsKey(3, 73),
|
@@ -21,6 +25,23 @@ const renderOptions = {
|
|
21
25
|
},
|
22
26
|
};
|
23
27
|
|
28
|
+
beforeEach(() => {
|
29
|
+
envScope = nockInstance
|
30
|
+
.get(environmentPathsPath)
|
31
|
+
.query(true)
|
32
|
+
.reply(200, environmentPathsData);
|
33
|
+
versionScope = nockInstance
|
34
|
+
.get(cvVersions)
|
35
|
+
.query(true)
|
36
|
+
.reply(200, ContentViewVersionDetailsEmptyData);
|
37
|
+
});
|
38
|
+
|
39
|
+
afterEach(() => {
|
40
|
+
assertNockRequest(envScope);
|
41
|
+
assertNockRequest(versionScope);
|
42
|
+
nock.cleanAll();
|
43
|
+
});
|
44
|
+
|
24
45
|
test('Can show versions detail header', async (done) => {
|
25
46
|
const { version } = ContentViewVersionDetailsEmptyData;
|
26
47
|
const scope = nockInstance
|
@@ -52,7 +52,6 @@
|
|
52
52
|
},
|
53
53
|
"content_label": "Default_Organization_Nemero_Uno_Producto_Ansible_Collection_uno",
|
54
54
|
"content_counts": {
|
55
|
-
"ostree_branch": 0,
|
56
55
|
"docker_manifest": 0,
|
57
56
|
"docker_manifest_list": 0,
|
58
57
|
"docker_tag": 0,
|
@@ -110,7 +109,6 @@
|
|
110
109
|
},
|
111
110
|
"content_label": "rhel-7-server-ansible-tower-3.3-rpms",
|
112
111
|
"content_counts": {
|
113
|
-
"ostree_branch": 0,
|
114
112
|
"docker_manifest": 0,
|
115
113
|
"docker_manifest_list": 0,
|
116
114
|
"docker_tag": 0,
|
@@ -168,7 +166,6 @@
|
|
168
166
|
},
|
169
167
|
"content_label": "rhel-7-server-ansible-tower-3.4-rpms",
|
170
168
|
"content_counts": {
|
171
|
-
"ostree_branch": 0,
|
172
169
|
"docker_manifest": 0,
|
173
170
|
"docker_manifest_list": 0,
|
174
171
|
"docker_tag": 0,
|
@@ -226,7 +223,6 @@
|
|
226
223
|
},
|
227
224
|
"content_label": "rhel-7-server-ansible-tower-3.5-rpms",
|
228
225
|
"content_counts": {
|
229
|
-
"ostree_branch": 0,
|
230
226
|
"docker_manifest": 0,
|
231
227
|
"docker_manifest_list": 0,
|
232
228
|
"docker_tag": 0,
|
@@ -284,7 +280,6 @@
|
|
284
280
|
},
|
285
281
|
"content_label": "rhel-7-server-ansible-tower-3.6-rpms",
|
286
282
|
"content_counts": {
|
287
|
-
"ostree_branch": 0,
|
288
283
|
"docker_manifest": 0,
|
289
284
|
"docker_manifest_list": 0,
|
290
285
|
"docker_tag": 0,
|
@@ -342,7 +337,6 @@
|
|
342
337
|
},
|
343
338
|
"content_label": "rhel-7-server-ansible-tower-3.8-textonly-rpms",
|
344
339
|
"content_counts": {
|
345
|
-
"ostree_branch": 0,
|
346
340
|
"docker_manifest": 0,
|
347
341
|
"docker_manifest_list": 0,
|
348
342
|
"docker_tag": 0,
|
@@ -400,7 +394,6 @@
|
|
400
394
|
},
|
401
395
|
"content_label": "Default_Organization_Nemero_Uno_Producto_Deb_distro_Uno",
|
402
396
|
"content_counts": {
|
403
|
-
"ostree_branch": 0,
|
404
397
|
"docker_manifest": 0,
|
405
398
|
"docker_manifest_list": 0,
|
406
399
|
"docker_tag": 0,
|
@@ -458,7 +451,6 @@
|
|
458
451
|
},
|
459
452
|
"content_label": "Default_Organization_Nemero_Uno_Producto_Docker_Repo_Dos",
|
460
453
|
"content_counts": {
|
461
|
-
"ostree_branch": 0,
|
462
454
|
"docker_manifest": 407,
|
463
455
|
"docker_manifest_list": 76,
|
464
456
|
"docker_tag": 162,
|
@@ -516,7 +508,6 @@
|
|
516
508
|
},
|
517
509
|
"content_label": "Default_Organization_Nemero_Uno_Producto_Docker_Repo_Uno",
|
518
510
|
"content_counts": {
|
519
|
-
"ostree_branch": 0,
|
520
511
|
"docker_manifest": 1,
|
521
512
|
"docker_manifest_list": 0,
|
522
513
|
"docker_tag": 1,
|
@@ -574,7 +565,6 @@
|
|
574
565
|
},
|
575
566
|
"content_label": "Default_Organization_Nemero_Uno_Producto_File_Repo_Uno",
|
576
567
|
"content_counts": {
|
577
|
-
"ostree_branch": 0,
|
578
568
|
"docker_manifest": 0,
|
579
569
|
"docker_manifest_list": 0,
|
580
570
|
"docker_tag": 0,
|
@@ -632,7 +622,6 @@
|
|
632
622
|
},
|
633
623
|
"content_label": "a-mq-clients-1-for-rhel-5-server-rpms",
|
634
624
|
"content_counts": {
|
635
|
-
"ostree_branch": 0,
|
636
625
|
"docker_manifest": 0,
|
637
626
|
"docker_manifest_list": 0,
|
638
627
|
"docker_tag": 0,
|
@@ -690,7 +679,6 @@
|
|
690
679
|
},
|
691
680
|
"content_label": "a-mq-clients-1-for-rhel-6-server-rpms",
|
692
681
|
"content_counts": {
|
693
|
-
"ostree_branch": 0,
|
694
682
|
"docker_manifest": 0,
|
695
683
|
"docker_manifest_list": 0,
|
696
684
|
"docker_tag": 0,
|
@@ -748,7 +736,6 @@
|
|
748
736
|
},
|
749
737
|
"content_label": "a-mq-clients-1-for-rhel-6-server-rpms",
|
750
738
|
"content_counts": {
|
751
|
-
"ostree_branch": 0,
|
752
739
|
"docker_manifest": 0,
|
753
740
|
"docker_manifest_list": 0,
|
754
741
|
"docker_tag": 0,
|
@@ -806,7 +793,6 @@
|
|
806
793
|
},
|
807
794
|
"content_label": "a-mq-clients-1-for-rhel-7-server-rpms",
|
808
795
|
"content_counts": {
|
809
|
-
"ostree_branch": 0,
|
810
796
|
"docker_manifest": 0,
|
811
797
|
"docker_manifest_list": 0,
|
812
798
|
"docker_tag": 0,
|
@@ -864,7 +850,6 @@
|
|
864
850
|
},
|
865
851
|
"content_label": "Default_Organization_Nemero_Uno_Producto_Module_Stream_Uno",
|
866
852
|
"content_counts": {
|
867
|
-
"ostree_branch": 0,
|
868
853
|
"docker_manifest": 0,
|
869
854
|
"docker_manifest_list": 0,
|
870
855
|
"docker_tag": 0,
|
@@ -922,7 +907,6 @@
|
|
922
907
|
},
|
923
908
|
"content_label": "Default_Organization_Nemero_Uno_Producto_Zoo_Repo_Dos",
|
924
909
|
"content_counts": {
|
925
|
-
"ostree_branch": 0,
|
926
910
|
"docker_manifest": 0,
|
927
911
|
"docker_manifest_list": 0,
|
928
912
|
"docker_tag": 0,
|
@@ -980,7 +964,6 @@
|
|
980
964
|
},
|
981
965
|
"content_label": "Default_Organization_Nemero_Uno_Producto_Zoo_Repo_Uno",
|
982
966
|
"content_counts": {
|
983
|
-
"ostree_branch": 0,
|
984
967
|
"docker_manifest": 0,
|
985
968
|
"docker_manifest_list": 0,
|
986
969
|
"docker_tag": 0,
|
@@ -997,4 +980,4 @@
|
|
997
980
|
"last_sync_words": null
|
998
981
|
}
|
999
982
|
]
|
1000
|
-
}
|
983
|
+
}
|
data/webpack/scenes/ContentViews/Details/Versions/__tests__/contentViewVersions.fixtures.json
CHANGED
@@ -288,7 +288,8 @@
|
|
288
288
|
"srpm_count": 0,
|
289
289
|
"module_stream_count": 0,
|
290
290
|
"package_count": 8,
|
291
|
-
"
|
291
|
+
"ostree_ref_count": 2,
|
292
|
+
"python_package_count": 80,
|
292
293
|
"errata_counts": {
|
293
294
|
"security": 5,
|
294
295
|
"bugfix": 3,
|
@@ -442,7 +443,6 @@
|
|
442
443
|
"srpm_count": 0,
|
443
444
|
"module_stream_count": 0,
|
444
445
|
"package_count": 8,
|
445
|
-
"ostree_branch_count": 0,
|
446
446
|
"errata_counts": {
|
447
447
|
"security": null,
|
448
448
|
"bugfix": 0,
|
@@ -582,7 +582,6 @@
|
|
582
582
|
"srpm_count": 0,
|
583
583
|
"module_stream_count": 0,
|
584
584
|
"package_count": 8,
|
585
|
-
"ostree_branch_count": 0,
|
586
585
|
"errata_counts": {
|
587
586
|
"security": null,
|
588
587
|
"bugfix": 0,
|
@@ -713,7 +712,8 @@
|
|
713
712
|
"srpm_count": 0,
|
714
713
|
"module_stream_count": 0,
|
715
714
|
"package_count": 0,
|
716
|
-
"
|
715
|
+
"ostree_ref_count": 0,
|
716
|
+
"python_package_count": 0,
|
717
717
|
"errata_counts": {
|
718
718
|
"security": null,
|
719
719
|
"bugfix": 0,
|
@@ -725,4 +725,4 @@
|
|
725
725
|
}
|
726
726
|
}
|
727
727
|
]
|
728
|
-
}
|
728
|
+
}
|
@@ -152,6 +152,8 @@ test('Can show additional content and link to list page', async () => {
|
|
152
152
|
.toHaveAttribute('href', '/content_views/5#/versions/11/files/');
|
153
153
|
expect(getByText('1 Deb packages').closest('a'))
|
154
154
|
.toHaveAttribute('href', '/versions/11/debPackages');
|
155
|
+
expect(getByText('80 Python packages')).toBeInTheDocument();
|
156
|
+
expect(getByText('2 OSTree refs')).toBeInTheDocument();
|
155
157
|
});
|
156
158
|
|
157
159
|
assertNockRequest(autocompleteScope);
|
@@ -550,7 +550,6 @@
|
|
550
550
|
"srpm_count": 0,
|
551
551
|
"module_stream_count": 0,
|
552
552
|
"package_count": 0,
|
553
|
-
"ostree_branch_count": null,
|
554
553
|
"errata_counts": {
|
555
554
|
"security": null,
|
556
555
|
"bugfix": 0,
|
@@ -698,7 +697,6 @@
|
|
698
697
|
"srpm_count": 0,
|
699
698
|
"module_stream_count": 0,
|
700
699
|
"package_count": 8,
|
701
|
-
"ostree_branch_count": null,
|
702
700
|
"errata_counts": {
|
703
701
|
"security": null,
|
704
702
|
"bugfix": 0,
|
@@ -710,4 +708,4 @@
|
|
710
708
|
}
|
711
709
|
}
|
712
710
|
]
|
713
|
-
}
|
711
|
+
}
|