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.

Files changed (299) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/katello/api/v2/api_controller.rb +4 -0
  3. data/app/controllers/katello/api/v2/capsule_content_controller.rb +11 -3
  4. data/app/controllers/katello/api/v2/content_uploads_controller.rb +1 -1
  5. data/app/controllers/katello/api/v2/generic_content_units_controller.rb +10 -4
  6. data/app/controllers/katello/api/v2/host_errata_controller.rb +5 -0
  7. data/app/controllers/katello/api/v2/host_packages_controller.rb +2 -0
  8. data/app/controllers/katello/api/v2/host_tracer_controller.rb +4 -0
  9. data/app/controllers/katello/api/v2/repositories_bulk_actions_controller.rb +8 -0
  10. data/app/controllers/katello/api/v2/repositories_controller.rb +35 -3
  11. data/app/controllers/katello/api/v2/repository_sets_controller.rb +2 -2
  12. data/app/controllers/katello/api/v2/root_controller.rb +10 -19
  13. data/app/controllers/katello/concerns/api/v2/bulk_extensions.rb +3 -13
  14. data/app/controllers/katello/concerns/api/v2/registration_controller_extensions.rb +1 -9
  15. data/app/controllers/katello/remote_execution_controller.rb +1 -1
  16. data/app/lib/actions/katello/capsule_content/refresh_repos.rb +1 -1
  17. data/app/lib/actions/katello/capsule_content/sync_capsule.rb +7 -5
  18. data/app/lib/actions/katello/repository/destroy.rb +3 -3
  19. data/app/lib/actions/katello/repository/import_upload.rb +12 -2
  20. data/app/lib/actions/pulp/repository/sync.rb +0 -2
  21. data/app/lib/actions/pulp3/abstract_async_task.rb +16 -4
  22. data/app/lib/actions/pulp3/capsule_content/generate_metadata.rb +5 -4
  23. data/app/lib/actions/pulp3/capsule_content/reclaim_space.rb +25 -0
  24. data/app/lib/actions/pulp3/orchestration/repository/import_repository_upload.rb +36 -0
  25. data/app/lib/actions/pulp3/orchestration/repository/import_upload.rb +1 -1
  26. data/app/lib/actions/pulp3/repository/commit_upload.rb +3 -1
  27. data/app/lib/actions/pulp3/repository/import_upload.rb +4 -2
  28. data/app/lib/actions/pulp3/repository/reclaim_space.rb +25 -0
  29. data/app/lib/actions/pulp3/repository/save_artifact.rb +12 -8
  30. data/app/lib/katello/resources/cdn.rb +10 -1
  31. data/app/lib/katello/resources/registry.rb +1 -1
  32. data/app/models/katello/concerns/host_managed_extensions.rb +7 -4
  33. data/app/models/katello/concerns/smart_proxy_extensions.rb +21 -9
  34. data/app/models/katello/content_view_version.rb +1 -6
  35. data/app/models/katello/glue/pulp/repo.rb +1 -2
  36. data/app/models/katello/host_tracer.rb +2 -0
  37. data/app/models/katello/pulp3/repository_reference.rb +7 -0
  38. data/app/models/katello/repository.rb +2 -30
  39. data/app/models/katello/root_repository.rb +3 -44
  40. data/app/models/setting/content.rb +2 -8
  41. data/app/presenters/katello/host_package_presenter.rb +21 -0
  42. data/app/services/katello/bulk_items_helper.rb +35 -0
  43. data/app/services/katello/pulp3/api/core.rb +16 -2
  44. data/app/services/katello/pulp3/content.rb +4 -2
  45. data/app/services/katello/pulp3/pulp_content_unit.rb +9 -3
  46. data/app/services/katello/pulp3/repository.rb +9 -4
  47. data/app/services/katello/pulp3/repository_mirror.rb +1 -1
  48. data/app/services/katello/repository_type.rb +2 -1
  49. data/app/services/katello/smart_proxy_helper.rb +10 -1
  50. data/app/views/foreman/job_templates/change_content_source.erb +42 -0
  51. data/app/views/foreman/job_templates/install_errata.erb +8 -6
  52. data/app/views/foreman/job_templates/resolve_traces.erb +4 -5
  53. data/app/views/foreman/job_templates/resolve_traces_-_katello_ansible_default.erb +3 -5
  54. data/app/views/foreman/smart_proxies/_content_sync.html.erb +17 -4
  55. data/app/views/foreman/smart_proxies/_reclaim_space.html.erb +12 -0
  56. data/app/views/foreman/smart_proxies/show.html.erb +4 -2
  57. data/app/views/katello/api/v2/capsule_content/sync_status.json.rabl +6 -0
  58. data/app/views/katello/api/v2/{organizations/cdn_configuration.rabl → cdn_configurations/show.json.rabl} +4 -0
  59. data/app/views/katello/api/v2/content_facet/show.json.rabl +8 -0
  60. data/app/views/katello/api/v2/content_view_filters/show.json.rabl +0 -1
  61. data/app/views/katello/api/v2/content_views/base.json.rabl +1 -1
  62. data/app/views/katello/api/v2/host_packages/base.json.rabl +2 -0
  63. data/app/views/katello/api/v2/organizations/show.json.rabl +1 -1
  64. data/app/views/katello/api/v2/repositories/show.json.rabl +0 -3
  65. data/config/routes/api/v2.rb +5 -10
  66. data/db/migrate/20210331180353_katello_pool_organization_id_not_nullable.rb +2 -0
  67. data/db/migrate/20211115215210_drop_ostree_branches.rb +13 -0
  68. data/db/migrate/20211129200124_remove_dependency_solving_algorithm_setting.rb +5 -0
  69. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/bastion-katello-bootstrap.js +1 -2
  70. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/bastion_katello.js +3 -3
  71. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/capsule-content/capsule-content.controller.js +21 -1
  72. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/capsule-content/capsule-content.factory.js +2 -1
  73. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/capsule-content/sync-state.service.js +2 -0
  74. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/content-views.routes.js +0 -10
  75. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-versions.html +0 -3
  76. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/content-view-version-content.controller.js +0 -10
  77. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/content-view-versions.module.js +0 -1
  78. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version.html +0 -7
  79. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/content.service.js +0 -5
  80. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/environments.module.js +0 -1
  81. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/environments.routes.js +0 -11
  82. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/organizations/fenced-pages.service.js +1 -2
  83. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/product-repositories.controller.js +14 -2
  84. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-info.controller.js +2 -4
  85. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-info.filter.js +0 -10
  86. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-reclaim-space-modal.controller.js +36 -0
  87. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details.controller.js +16 -2
  88. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-details-reclaim-space-modal.html +18 -0
  89. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-details.html +13 -0
  90. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +1 -1
  91. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/new-repository.controller.js +3 -6
  92. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html +4 -1
  93. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/os-versions.service.js +1 -0
  94. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/product-repositories-reclaim-space-modal.controller.js +35 -0
  95. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repositories.routes.js +0 -9
  96. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repository.factory.js +3 -1
  97. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/views/product-repositories-reclaim-space-modal.html +18 -0
  98. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/views/product-repositories.html +7 -8
  99. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/pulp-primary/pulp-primary.controller.js +35 -0
  100. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/pulp-primary/pulp-primary.factory.js +18 -0
  101. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/pulp-primary/pulp-primary.module.js +14 -0
  102. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/pulp-primary/pulp-primary.routes.js +16 -0
  103. data/engines/bastion_katello/lib/bastion_katello/engine.rb +0 -1
  104. data/lib/katello/permission_creator.rb +3 -4
  105. data/lib/katello/plugin.rb +4 -10
  106. data/lib/katello/repository_types/ostree.rb +3 -1
  107. data/lib/katello/tasks/reset.rake +2 -2
  108. data/lib/katello/tasks/upgrades/4.3/fix_url_auth.rake +25 -0
  109. data/lib/katello/version.rb +1 -1
  110. data/package.json +1 -0
  111. data/webpack/components/AddedStatusLabel.js +2 -1
  112. data/webpack/components/EditableTextInput/EditableTextInput.js +76 -17
  113. data/webpack/components/EditableTextInput/__tests__/editableTextInput.test.js +82 -0
  114. data/webpack/components/EditableTextInput/editableTextInput.scss +4 -0
  115. data/webpack/components/Packages/index.js +63 -0
  116. data/webpack/components/RoutedTabs/index.js +3 -1
  117. data/webpack/components/Search/Search.js +7 -1
  118. data/webpack/components/SelectAllCheckbox/index.js +2 -2
  119. data/webpack/components/Table/EmptyStateMessage.js +4 -2
  120. data/webpack/components/Table/MainTable.scss +7 -1
  121. data/webpack/components/Table/TableHooks.js +10 -19
  122. data/webpack/components/Table/TableWrapper.js +3 -3
  123. data/webpack/components/WithOrganization/__snapshots__/withOrganization.test.js.snap +3 -3
  124. data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard.js +24 -30
  125. data/webpack/components/extensions/HostDetails/HostDetailsConstants.js +1 -0
  126. data/webpack/components/extensions/HostDetails/HostDetailsSelectors.js +16 -0
  127. data/webpack/components/extensions/HostDetails/HostErrata/HostErrataConstants.js +2 -0
  128. data/webpack/components/extensions/HostDetails/HostPackages/HostPackagesActions.js +11 -0
  129. data/webpack/components/extensions/HostDetails/HostPackages/HostPackagesConstants.js +2 -0
  130. data/webpack/components/extensions/HostDetails/HostPackages/HostPackagesSelectors.js +16 -0
  131. data/webpack/components/extensions/HostDetails/Tabs/ContentTab/SecondaryTabsRoutes.js +4 -0
  132. data/webpack/components/extensions/HostDetails/Tabs/ContentTab/constants.js +1 -0
  133. data/webpack/components/extensions/HostDetails/Tabs/ErrataTab.js +119 -25
  134. data/webpack/components/extensions/HostDetails/Tabs/HostTracesConstants.js +1 -0
  135. data/webpack/components/extensions/HostDetails/Tabs/PackagesTab.js +127 -0
  136. data/webpack/components/extensions/HostDetails/Tabs/PackagesTab.scss +11 -0
  137. data/webpack/components/extensions/HostDetails/Tabs/RemoteExecutionActions.js +30 -4
  138. data/webpack/components/extensions/HostDetails/Tabs/RemoteExecutionConstants.js +1 -0
  139. data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsActions.js +73 -0
  140. data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsConstants.js +2 -0
  141. data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsSelectors.js +16 -0
  142. data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsTab.js +347 -0
  143. data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsTab.scss +7 -0
  144. data/webpack/components/extensions/HostDetails/Tabs/TracesTab.js +38 -31
  145. data/webpack/components/extensions/HostDetails/Tabs/__tests__/bookmarks.fixtures.json +12 -0
  146. data/webpack/components/extensions/HostDetails/Tabs/__tests__/contentOverrides.fixtures.json +227 -0
  147. data/webpack/components/extensions/HostDetails/Tabs/__tests__/errataTab.test.js +423 -2
  148. data/webpack/components/extensions/HostDetails/Tabs/__tests__/packages.fixtures.json +28 -0
  149. data/webpack/components/extensions/HostDetails/Tabs/__tests__/packagesTab.test.js +91 -0
  150. data/webpack/components/extensions/HostDetails/Tabs/__tests__/repositorySets.fixtures.json +120 -0
  151. data/webpack/components/extensions/HostDetails/Tabs/__tests__/repositorySetsTab.test.js +307 -0
  152. data/webpack/components/extensions/HostDetails/Tabs/__tests__/resolveErrata.fixtures.json +35 -0
  153. data/webpack/components/extensions/HostDetails/Tabs/__tests__/tracesTab.test.js +55 -9
  154. data/webpack/components/extensions/HostDetails/Tabs/customizedRexUrlHelpers.js +28 -14
  155. data/webpack/containers/Application/overrides.scss +31 -9
  156. data/webpack/global_index.js +11 -4
  157. data/webpack/redux/reducers/RedHatRepositories/enabled.fixtures.js +0 -2
  158. data/webpack/scenes/Content/ContentConfig.js +23 -7
  159. data/webpack/scenes/Content/Details/__tests__/contentDetail.test.js +2 -0
  160. data/webpack/scenes/ContentCredentials/ContentCredentialActions.js +18 -0
  161. data/webpack/scenes/ContentCredentials/ContentCredentialConstants.js +2 -0
  162. data/webpack/scenes/ContentCredentials/ContentCredentialSelectors.js +12 -0
  163. data/webpack/scenes/ContentCredentials/__tests__/contentCredentials.fixtures.js +73 -0
  164. data/webpack/scenes/ContentViews/Copy/CopyContentViewForm.js +8 -12
  165. data/webpack/scenes/ContentViews/Copy/CopyContentViewModal.js +1 -1
  166. data/webpack/scenes/ContentViews/Copy/__tests__/copyContentView.test.js +1 -1
  167. data/webpack/scenes/ContentViews/Create/ContentViewFormComponents.js +3 -3
  168. data/webpack/scenes/ContentViews/Create/CreateContentViewForm.js +7 -2
  169. data/webpack/scenes/ContentViews/Create/CreateContentViewForm.scss +7 -0
  170. data/webpack/scenes/ContentViews/Create/__tests__/createContentView.test.js +9 -9
  171. data/webpack/scenes/ContentViews/Delete/ContentViewDeleteWizard.js +6 -6
  172. data/webpack/scenes/ContentViews/Delete/Steps/CVDeleteEnvironmentsSelection.js +39 -37
  173. data/webpack/scenes/ContentViews/Delete/Steps/CVDeletionFinish.js +10 -4
  174. data/webpack/scenes/ContentViews/Delete/Steps/CVDeletionReview.js +35 -33
  175. data/webpack/scenes/ContentViews/Delete/__tests__/contentViewDelete.test.js +12 -7
  176. data/webpack/scenes/ContentViews/Delete/__tests__/cvVersionsData.fixtures.json +2 -6
  177. data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentEnvironments.js +13 -14
  178. data/webpack/scenes/ContentViews/Details/ComponentContentViews/ContentViewComponents.js +36 -31
  179. data/webpack/scenes/ContentViews/Details/ContentViewDetailActions.js +8 -8
  180. data/webpack/scenes/ContentViews/Details/ContentViewDetails.js +108 -41
  181. data/webpack/scenes/ContentViews/Details/ContentViewInfo.js +3 -2
  182. data/webpack/scenes/ContentViews/Details/Filters/Add/CVFilterAddModal.js +2 -2
  183. data/webpack/scenes/ContentViews/Details/Filters/Add/__tests__/cvFilterCreateResult.fixtures.json +1 -2
  184. data/webpack/scenes/ContentViews/Details/Filters/AffectedRepositories/AffectedRepositoryTable.js +1 -4
  185. data/webpack/scenes/ContentViews/Details/Filters/CVContainerImageFilterContent.js +6 -6
  186. data/webpack/scenes/ContentViews/Details/Filters/CVErrataDateFilterContent.js +11 -5
  187. data/webpack/scenes/ContentViews/Details/Filters/CVErrataIDFilterContent.js +6 -9
  188. data/webpack/scenes/ContentViews/Details/Filters/CVModuleStreamFilterContent.js +5 -8
  189. data/webpack/scenes/ContentViews/Details/Filters/CVPackageGroupFilterContent.js +40 -43
  190. data/webpack/scenes/ContentViews/Details/Filters/CVRpmFilterContent.js +2 -2
  191. data/webpack/scenes/ContentViews/Details/Filters/ContentType.js +4 -4
  192. data/webpack/scenes/ContentViews/Details/Filters/ContentViewFilterDetailsHeader.js +6 -8
  193. data/webpack/scenes/ContentViews/Details/Filters/ContentViewFilters.js +6 -1
  194. data/webpack/scenes/ContentViews/Details/Filters/Rules/ContainerTag/AddEditContainerTagRuleModal.js +1 -1
  195. data/webpack/scenes/ContentViews/Details/Filters/Rules/Package/AddEditPackageRuleModal.js +16 -22
  196. data/webpack/scenes/ContentViews/Details/Filters/__tests__/CVRpmFilterContent.test.js +8 -8
  197. data/webpack/scenes/ContentViews/Details/Filters/__tests__/ContentViewPackageGroupFilter.test.js +3 -5
  198. data/webpack/scenes/ContentViews/Details/Filters/__tests__/contentViewErrataByDateDetails.fixtures.json +1 -8
  199. data/webpack/scenes/ContentViews/Details/Filters/__tests__/contentViewFilterDetail.fixtures.json +1 -2
  200. data/webpack/scenes/ContentViews/Details/Filters/__tests__/contentViewFilterDetails.test.js +5 -9
  201. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvAllRepos.fixtures.json +0 -2
  202. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvErrataDateFilterContent.test.js +1 -9
  203. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvErrataIDFilter.test.js +2 -4
  204. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvErratumFilterDetails.fixtures.json +1 -2
  205. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvFilterDetailModuleAffectedRepos.fixtures.json +1 -8
  206. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvFilterDetailWithAffectedRepos.fixtures.json +1 -8
  207. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvModuleStreamFilter.test.js +2 -4
  208. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvModuleStreamFilterDetails.fixtures.json +1 -2
  209. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvPackageFilterDetail.fixtures.json +1 -3
  210. data/webpack/scenes/ContentViews/Details/Promote/ContentViewVersionPromote.js +61 -32
  211. data/webpack/scenes/ContentViews/Details/Repositories/ContentCounts.js +6 -1
  212. data/webpack/scenes/ContentViews/Details/Repositories/ContentViewRepositories.js +5 -8
  213. data/webpack/scenes/ContentViews/Details/Repositories/LastSync.js +55 -9
  214. data/webpack/scenes/ContentViews/Details/Repositories/__tests__/contentViewAddRemove.test.js +2 -0
  215. data/webpack/scenes/ContentViews/Details/Repositories/__tests__/contentViewDetailRepos.fixtures.json +0 -2
  216. data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersionContent.js +48 -29
  217. data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersionEnvironments.js +2 -2
  218. data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersionErrata.js +9 -7
  219. data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersionErrata.scss +5 -2
  220. data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersions.js +38 -9
  221. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveCVVersionWizard.js +4 -1
  222. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVEnvironmentSelectionForm.js +59 -53
  223. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVVersionDeleteFinish.js +14 -3
  224. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVVersionRemoveReview.js +24 -17
  225. data/webpack/scenes/ContentViews/Details/Versions/Delete/__tests__/cvVersionRemove.test.js +3 -3
  226. data/webpack/scenes/ContentViews/Details/Versions/Delete/__tests__/versionsResponseData.fixtures.json +1 -4
  227. data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetails.js +4 -2
  228. data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetailsHeader.js +134 -32
  229. data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionRepositoryCell.js +8 -3
  230. data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionComponent.fixtures.json +1 -4
  231. data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionDetails.fixtures.json +1 -2
  232. data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionDetails.test.js +21 -1
  233. data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionDetailsCounts.fixtures.json +1 -2
  234. data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionDetailsEmpty.test.js +22 -1
  235. data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionRepositories.fixtures.json +1 -18
  236. data/webpack/scenes/ContentViews/Details/Versions/__tests__/contentViewVersions.fixtures.json +5 -5
  237. data/webpack/scenes/ContentViews/Details/Versions/__tests__/contentViewVersions.test.js +2 -0
  238. data/webpack/scenes/ContentViews/Details/Versions/__tests__/contentViewVersionsWithTask.fixtures.json +1 -3
  239. data/webpack/scenes/ContentViews/Details/contentViewInfo.scss +0 -4
  240. data/webpack/scenes/ContentViews/Publish/CVPublishForm.js +66 -53
  241. data/webpack/scenes/ContentViews/Publish/CVPublishReview.js +40 -28
  242. data/webpack/scenes/ContentViews/Publish/PublishContentViewWizard.js +3 -3
  243. data/webpack/scenes/ContentViews/Publish/__tests__/publishContentView.test.js +14 -14
  244. data/webpack/scenes/ContentViews/Publish/cvPublishForm.scss +6 -0
  245. data/webpack/scenes/ContentViews/Table/ContentViewsTable.js +53 -12
  246. data/webpack/scenes/ContentViews/Table/tableDataGenerator.js +12 -6
  247. data/webpack/scenes/ContentViews/__tests__/contentViewPage.test.js +6 -6
  248. data/webpack/scenes/ContentViews/components/ContentViewIcon.js +12 -7
  249. data/webpack/scenes/ContentViews/components/ContentViewsCounter.js +2 -2
  250. data/webpack/scenes/ContentViews/components/EnvironmentPaths/EnvironmentPaths.js +26 -27
  251. data/webpack/scenes/ContentViews/components/EnvironmentPaths/EnvironmentPaths.scss +18 -6
  252. data/webpack/scenes/ContentViews/components/WizardHeader.js +44 -0
  253. data/webpack/scenes/ContentViews/components/contentViewIcon.scss +13 -2
  254. data/webpack/scenes/Organizations/OrganizationActions.js +22 -24
  255. data/webpack/scenes/Organizations/OrganizationConstants.js +1 -3
  256. data/webpack/scenes/Organizations/OrganizationReducer.js +0 -7
  257. data/webpack/scenes/Organizations/OrganizationSelectors.js +16 -0
  258. data/webpack/scenes/Organizations/__tests__/OrganizationActions.test.js +1 -21
  259. data/webpack/scenes/Organizations/__tests__/OrganizationReducer.test.js +0 -20
  260. data/webpack/scenes/Organizations/__tests__/organizations.fixtures.js +34 -23
  261. data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationForm.js +185 -0
  262. data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationForm.scss +3 -0
  263. data/webpack/scenes/Subscriptions/Manifest/ManageManifestModal.js +112 -146
  264. data/webpack/scenes/Subscriptions/Manifest/__tests__/CdnConfigurationForm.test.js +114 -0
  265. data/webpack/scenes/Subscriptions/Manifest/__tests__/ManageManifestModal.test.js +121 -31
  266. data/webpack/scenes/Subscriptions/Manifest/index.js +14 -3
  267. data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsActions.test.js.snap +1 -0
  268. data/webpack/scenes/Tasks/TaskActions.js +4 -3
  269. data/webpack/scenes/Tasks/__tests__/__snapshots__/TaskActions.test.js.snap +1 -0
  270. data/webpack/utils/helpers.js +2 -2
  271. metadata +62 -43
  272. data/app/controllers/katello/api/v2/ostree_branches_controller.rb +0 -16
  273. data/app/lib/actions/pulp/repository/presenters/ostree_presenter.rb +0 -91
  274. data/app/models/katello/ostree_branch.rb +0 -12
  275. data/app/models/katello/repository_ostree_branch.rb +0 -7
  276. data/app/services/katello/pulp/ostree_branch.rb +0 -14
  277. data/app/services/katello/pulp/repository/ostree.rb +0 -48
  278. data/app/views/katello/api/v2/ostree_branches/compare.json.rabl +0 -10
  279. data/app/views/katello/api/v2/ostree_branches/index.json.rabl +0 -7
  280. data/app/views/katello/api/v2/ostree_branches/show.json.rabl +0 -5
  281. data/app/views/katello/api/v2/root/resource_list.json.rabl +0 -3
  282. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-ostree-branches.html +0 -26
  283. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-ostree.html +0 -27
  284. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/details/ostree-branch-repositories.controller.js +0 -77
  285. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/details/ostree-branch.controller.js +0 -31
  286. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/details/views/ostree-branch-info.html +0 -15
  287. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/details/views/ostree-branch-repositories.html +0 -72
  288. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/details/views/ostree-branch.html +0 -30
  289. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/ostree-branch.factory.js +0 -27
  290. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/ostree-branches.controller.js +0 -67
  291. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/ostree-branches.module.js +0 -15
  292. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/ostree-branches.routes.js +0 -50
  293. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/views/ostree-branches.html +0 -40
  294. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-ostree-branches.html +0 -40
  295. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/ostree-upstream-sync-policy.service.js +0 -26
  296. data/webpack/components/extensions/HostDetails/Tabs/SubscriptionTab.js +0 -12
  297. data/webpack/scenes/Content/Details/ContentCounts.js +0 -42
  298. data/webpack/scenes/Subscriptions/Manifest/__tests__/SimpleContentAccess.test.js +0 -108
  299. data/webpack/scenes/Subscriptions/Manifest/__tests__/__snapshots__/ManageManifestModal.test.js.snap +0 -158
@@ -1,6 +1,6 @@
1
1
  import React, { useState } from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import { capitalize, head } from 'lodash';
3
+ import { head } from 'lodash';
4
4
  import { Split, SplitItem, GridItem, TextContent, Text, TextVariants, Label } from '@patternfly/react-core';
5
5
  import { translate as __ } from 'foremanReact/common/I18n';
6
6
  import { useDispatch } from 'react-redux';
@@ -10,6 +10,7 @@ import RepoIcon from '../Repositories/RepoIcon';
10
10
  import { repoType } from '../../../../utils/helpers';
11
11
  import EditableTextInput from '../../../../components/EditableTextInput';
12
12
  import { hasPermission } from '../../helpers';
13
+ import { typeName } from './ContentType';
13
14
 
14
15
  const ContentViewFilterDetailsHeader = ({
15
16
  cvId, filterId, filterDetails, setShowAffectedRepos, details,
@@ -22,11 +23,8 @@ const ContentViewFilterDetailsHeader = ({
22
23
  const { permissions } = details;
23
24
  const errataByDate = !!(type === 'erratum' && head(rules)?.types);
24
25
  const repositoryType = repoType(type);
25
- const displayedType = () => {
26
- if (errataByDate) return __('Errata - by date range');
27
- if (type) return capitalize(type.replace(/_/g, ' '));
28
- return '';
29
- };
26
+
27
+ const displayedType = () => typeName(type, errataByDate);
30
28
 
31
29
  const onEdit = (val, attribute) => {
32
30
  if (val === filterDetails[attribute]) return;
@@ -60,7 +58,7 @@ const ContentViewFilterDetailsHeader = ({
60
58
  textArea
61
59
  label={__('Description')}
62
60
  attribute="description"
63
- placeholder={__('No description provided')}
61
+ placeholder={__('No description')}
64
62
  onEdit={onEdit}
65
63
  disabled={!hasPermission(permissions, 'edit_content_views')}
66
64
  value={description}
@@ -78,7 +76,7 @@ const ContentViewFilterDetailsHeader = ({
78
76
  />
79
77
  </GridItem>
80
78
  <GridItem span={10}>
81
- <Split hasGutter>
79
+ <Split hasGutter style={{ alignItems: 'baseline' }}>
82
80
  <SplitItem>
83
81
  <Label color="blue">{inclusion ? __('Include') : __('Exclude')}</Label>
84
82
  </SplitItem>
@@ -21,6 +21,7 @@ import { truncate } from '../../../../utils/helpers';
21
21
  import ContentType from './ContentType';
22
22
  import CVFilterAddModal from './Add/CVFilterAddModal';
23
23
  import { hasPermission } from '../../helpers';
24
+ import InactiveText from '../../components/InactiveText';
24
25
 
25
26
  const ContentViewFilters = ({ cvId, details }) => {
26
27
  const dispatch = useDispatch();
@@ -58,7 +59,11 @@ const ContentViewFilters = ({ cvId, details }) => {
58
59
 
59
60
  const cells = [
60
61
  { title: <Link to={`/filters/${id}`}>{name}</Link> },
61
- truncate(description || ''),
62
+ {
63
+ title: description ?
64
+ truncate(description) :
65
+ <InactiveText text={__('No description')} />,
66
+ },
62
67
  { title: <LongDateTime date={updatedAt} showRelativeTimeTooltip /> },
63
68
  { title: <ContentType type={type} errataByDate={errataByDate} /> },
64
69
  {
@@ -34,7 +34,7 @@ const AddEditContainerTagRuleModal = ({
34
34
 
35
35
  return (
36
36
  <Modal
37
- title={isEditing ? __('Edit rule') : __('Add rule')}
37
+ title={isEditing ? __('Edit filter rule') : __('Add filter rule')}
38
38
  variant={ModalVariant.small}
39
39
  isOpen
40
40
  onClose={onClose}
@@ -4,7 +4,10 @@ import { useDispatch, useSelector } from 'react-redux';
4
4
  import { STATUS } from 'foremanReact/constants';
5
5
  import PropTypes from 'prop-types';
6
6
  import { translate as __ } from 'foremanReact/common/I18n';
7
- import { Modal, ModalVariant, Form, FormGroup, TextInput, ActionGroup, Button, Select, SelectOption } from '@patternfly/react-core';
7
+ import {
8
+ Modal, ModalVariant, Form, FormGroup, TextInput,
9
+ ActionGroup, Button, FormSelect, FormSelectOption,
10
+ } from '@patternfly/react-core';
8
11
  import { addCVFilterRule, editCVFilterRule, getCVFilterRules } from '../../../ContentViewDetailActions';
9
12
  import {
10
13
  selectCreateFilterRuleStatus,
@@ -23,7 +26,7 @@ const AddEditPackageRuleModal = ({ filterId, onClose, selectedFilterRuleData })
23
26
  const isEditing = !!selectedFilterRuleData;
24
27
 
25
28
  const VersionModifiers = {
26
- 'All versions': __('All Versions'),
29
+ 'All versions': __('All versions'),
27
30
  'Equal to': __('Equal to'),
28
31
  'Greater than': __('Greater than'),
29
32
  'Less than': __('Less than'),
@@ -48,7 +51,6 @@ const AddEditPackageRuleModal = ({ filterId, onClose, selectedFilterRuleData })
48
51
  const [maxVersion, setMaxVersion] = useState(editingMaxVersion || '');
49
52
  const [versionComparator, setVersionComparator] = useState(versionText(selectedFilterRuleData));
50
53
  const [saving, setSaving] = useState(false);
51
- const [versionComparatorSelectOpen, setVersionComparatorSelectOpen] = useState(false);
52
54
  const dispatch = useDispatch();
53
55
  const status = useSelector(state => selectCreateFilterRuleStatus(state));
54
56
 
@@ -62,7 +64,7 @@ const AddEditPackageRuleModal = ({ filterId, onClose, selectedFilterRuleData })
62
64
 
63
65
  const formVersionParams = () => {
64
66
  switch (versionComparator) {
65
- case 'All Versions':
67
+ case 'All versions':
66
68
  return {};
67
69
  case 'Equal to':
68
70
  return { version };
@@ -102,10 +104,6 @@ const AddEditPackageRuleModal = ({ filterId, onClose, selectedFilterRuleData })
102
104
  ));
103
105
  };
104
106
 
105
- const onSelect = (_event, selection) => {
106
- setVersionComparator(selection);
107
- setVersionComparatorSelectOpen(false);
108
- };
109
107
 
110
108
  useDeepCompareEffect(() => {
111
109
  if (status === STATUS.ERROR) {
@@ -115,7 +113,7 @@ const AddEditPackageRuleModal = ({ filterId, onClose, selectedFilterRuleData })
115
113
 
116
114
  return (
117
115
  <Modal
118
- title={selectedFilterRuleData ? __('Edit package filter rule') : __('Create package filter rule')}
116
+ title={selectedFilterRuleData ? __('Edit RPM rule') : __('Add RPM rule')}
119
117
  variant={ModalVariant.small}
120
118
  isOpen
121
119
  onClose={onClose}
@@ -148,22 +146,18 @@ const AddEditPackageRuleModal = ({ filterId, onClose, selectedFilterRuleData })
148
146
  />
149
147
  </FormGroup>
150
148
  <FormGroup label={__('Version')} fieldId="version_comparator">
151
- <Select
152
- selections={versionComparator}
153
- onSelect={onSelect}
154
- isOpen={versionComparatorSelectOpen}
155
- onToggle={isExpanded => setVersionComparatorSelectOpen(isExpanded)}
149
+ <FormSelect
150
+ value={versionComparator}
151
+ onChange={setVersionComparator}
156
152
  id="version_comparator"
157
153
  name="version_comparator"
158
154
  aria-label="version_comparator"
159
155
  >
160
156
  {
161
157
  Object.values(VersionModifiers).map(item => (
162
- <SelectOption key={item} value={item}>
163
- {VersionModifiers[item]}
164
- </SelectOption>))
158
+ <FormSelectOption key={item} value={item} label={VersionModifiers[item]} />))
165
159
  }
166
- </Select>
160
+ </FormSelect>
167
161
  </FormGroup>
168
162
  {showVersion &&
169
163
  <FormGroup label={__('Version')} fieldId="version">
@@ -177,7 +171,7 @@ const AddEditPackageRuleModal = ({ filterId, onClose, selectedFilterRuleData })
177
171
  />
178
172
  </FormGroup>}
179
173
  {showMinVersion &&
180
- <FormGroup label={__('Minimum Version')} fieldId="min_version">
174
+ <FormGroup label={__('Minimum version')} fieldId="min_version">
181
175
  <TextInput
182
176
  type="text"
183
177
  id="min_version"
@@ -188,7 +182,7 @@ const AddEditPackageRuleModal = ({ filterId, onClose, selectedFilterRuleData })
188
182
  />
189
183
  </FormGroup>}
190
184
  {showMaxVersion &&
191
- <FormGroup label={__('Maximum Version')} fieldId="max_version">
185
+ <FormGroup label={__('Maximum version')} fieldId="max_version">
192
186
  <TextInput
193
187
  type="text"
194
188
  id="max_version"
@@ -200,12 +194,12 @@ const AddEditPackageRuleModal = ({ filterId, onClose, selectedFilterRuleData })
200
194
  </FormGroup>}
201
195
  <ActionGroup>
202
196
  <Button
203
- aria-label="create_package_filter_rule"
197
+ aria-label="add_package_filter_rule"
204
198
  variant="primary"
205
199
  isDisabled={saving || submitDisabled}
206
200
  type="submit"
207
201
  >
208
- {selectedFilterRuleData ? __('Edit rule') : __('Create rule')}
202
+ {selectedFilterRuleData ? __('Edit rule') : __('Add rule')}
209
203
  </Button>
210
204
  <Button variant="link" onClick={onClose}>
211
205
  {__('Cancel')}
@@ -83,7 +83,7 @@ test('Can show filter details and package groups on page load', async (done) =>
83
83
  assertNockRequest(cvFilterScope);
84
84
  assertNockRequest(cvFiltersScope);
85
85
  assertNockRequest(cvPackageFilterRulesScope, done);
86
- await act(() => Promise.resolve());
86
+ act(done);
87
87
  });
88
88
 
89
89
  test('Can search for package rules in package filter details', async (done) => {
@@ -186,21 +186,21 @@ test('Can add package rules to filter in a self-closing modal', async (done) =>
186
186
  expect(queryByText(cvFilterName)).toBeNull();
187
187
  await patientlyWaitFor(() => {
188
188
  expect(getByText(cvFilterName)).toBeInTheDocument();
189
- expect(getByLabelText('create_rpm_rule')).toBeInTheDocument();
189
+ expect(getByLabelText('add_rpm_rule')).toBeInTheDocument();
190
190
  });
191
- getByLabelText('create_rpm_rule').click();
191
+ getByLabelText('add_rpm_rule').click();
192
192
  await patientlyWaitFor(() => {
193
193
  expect(getByLabelText('input_name')).toBeInTheDocument();
194
194
  expect(getByLabelText('input_architecture')).toBeInTheDocument();
195
- expect(getByLabelText('create_package_filter_rule')).toBeInTheDocument();
195
+ expect(getByLabelText('add_package_filter_rule')).toBeInTheDocument();
196
196
  });
197
197
 
198
198
  fireEvent.change(getByLabelText('input_name'), { target: { value: 'elephant' } });
199
199
  fireEvent.change(getByLabelText('input_architecture'), { target: { value: 'noarch' } });
200
- fireEvent.submit(getByLabelText('create_package_filter_rule'));
200
+ fireEvent.submit(getByLabelText('add_package_filter_rule'));
201
201
 
202
202
  await patientlyWaitFor(() => {
203
- expect(queryByText('Create rule')).not.toBeInTheDocument();
203
+ expect(queryByText('Add rule')).not.toBeInTheDocument();
204
204
  });
205
205
  assertNockRequest(autocompleteScope);
206
206
  assertNockRequest(cvFiltersScope);
@@ -307,8 +307,8 @@ test('Edit rpm filter rule in a self-closing modal', async (done) => {
307
307
  getByText('Edit').click();
308
308
 
309
309
  await patientlyWaitFor(() => {
310
- expect(getByText('Edit package filter rule')).toBeInTheDocument();
311
- fireEvent.submit(getByLabelText('create_package_filter_rule'));
310
+ expect(getByText('Edit RPM rule')).toBeInTheDocument();
311
+ fireEvent.submit(getByLabelText('add_package_filter_rule'));
312
312
  });
313
313
 
314
314
  await patientlyWaitFor(() => {
@@ -301,10 +301,8 @@ test('Can bulk add filter rules', async (done) => {
301
301
  expect(getByLabelText('bulk_actions')).toHaveAttribute('aria-expanded', 'false');
302
302
  });
303
303
  fireEvent.click(getByLabelText('Select all rows'));
304
- fireEvent.click(getByLabelText('bulk_actions'));
305
- expect(getByLabelText('bulk_actions')).toHaveAttribute('aria-expanded', 'true');
306
- expect(getByLabelText('bulk_add')).toBeInTheDocument();
307
- fireEvent.click(getByLabelText('bulk_add'));
304
+ expect(getByLabelText('add_filter_rule')).toBeInTheDocument();
305
+ fireEvent.click(getByLabelText('add_filter_rule'));
308
306
 
309
307
  assertNockRequest(cvFilterScope);
310
308
  assertNockRequest(cvFiltersScope);
@@ -439,7 +437,7 @@ test('Can show affected repository tab and remove affected repos', async (done)
439
437
  expect(getByText(name)).toBeInTheDocument();
440
438
  expect(getByText('Apply to subset of repositories')).toBeInTheDocument();
441
439
  });
442
- fireEvent.click(getByText('Affected Repositories').closest('button'));
440
+ fireEvent.click(getByText('Affected repositories').closest('button'));
443
441
  await patientlyWaitFor(() => {
444
442
  expect(getByText(repoName)).toBeInTheDocument();
445
443
  });
@@ -141,7 +141,6 @@
141
141
  "name": "test_all_types"
142
142
  },
143
143
  "content_counts": {
144
- "ostree_branch": 0,
145
144
  "docker_manifest": 0,
146
145
  "docker_tag": 0,
147
146
  "rpm": 8,
@@ -161,7 +160,6 @@
161
160
  "name": "test_all_types"
162
161
  },
163
162
  "content_counts": {
164
- "ostree_branch": 0,
165
163
  "docker_manifest": 0,
166
164
  "docker_tag": 0,
167
165
  "rpm": 8,
@@ -181,7 +179,6 @@
181
179
  "name": "test_all_types"
182
180
  },
183
181
  "content_counts": {
184
- "ostree_branch": 0,
185
182
  "docker_manifest": 0,
186
183
  "docker_tag": 0,
187
184
  "rpm": 22,
@@ -201,7 +198,6 @@
201
198
  "name": "test_all_types"
202
199
  },
203
200
  "content_counts": {
204
- "ostree_branch": 0,
205
201
  "docker_manifest": 1,
206
202
  "docker_tag": 1,
207
203
  "rpm": 0,
@@ -221,7 +217,6 @@
221
217
  "name": "test_all_types"
222
218
  },
223
219
  "content_counts": {
224
- "ostree_branch": 0,
225
220
  "docker_manifest": 0,
226
221
  "docker_tag": 0,
227
222
  "rpm": 0,
@@ -241,7 +236,6 @@
241
236
  "name": "test_all_types"
242
237
  },
243
238
  "content_counts": {
244
- "ostree_branch": 0,
245
239
  "docker_manifest": 0,
246
240
  "docker_tag": 0,
247
241
  "rpm": 0,
@@ -261,7 +255,6 @@
261
255
  "name": "test_all_types"
262
256
  },
263
257
  "content_counts": {
264
- "ostree_branch": 0,
265
258
  "docker_manifest": 0,
266
259
  "docker_tag": 0,
267
260
  "rpm": 0,
@@ -356,4 +349,4 @@
356
349
  "updated_at": "2021-10-06 09:50:25 -0400"
357
350
  }
358
351
  ]
359
- }
352
+ }
@@ -41,7 +41,6 @@
41
41
  "name": "prod1"
42
42
  },
43
43
  "content_counts": {
44
- "ostree_branch": 0,
45
44
  "docker_manifest": 0,
46
45
  "docker_tag": 0,
47
46
  "rpm": 32,
@@ -86,4 +85,4 @@
86
85
  "updated_at": "2021-02-23 20:57:19 -0500"
87
86
  }
88
87
  ]
89
- }
88
+ }
@@ -44,11 +44,6 @@ afterEach(() => {
44
44
  nock.cleanAll();
45
45
  });
46
46
 
47
- jest.mock('../../../../../utils/useDebounce', () => ({
48
- __esModule: true,
49
- default: value => value,
50
- }));
51
-
52
47
  test('Can show filter details and package groups on page load', async (done) => {
53
48
  const { name: cvFilterName } = cvFilterDetails;
54
49
  const cvFilterScope = nockInstance
@@ -64,7 +59,6 @@ test('Can show filter details and package groups on page load', async (done) =>
64
59
  .query(true)
65
60
  .reply(200, allPackageGroups);
66
61
  const autocompleteScope = mockAutocomplete(nockInstance, autocompleteUrl);
67
-
68
62
  const { getByText, queryByText } =
69
63
  renderWithRedux(withCVRoute(<ContentViewFilterDetails
70
64
  cvId={1}
@@ -77,11 +71,12 @@ test('Can show filter details and package groups on page load', async (done) =>
77
71
  await patientlyWaitFor(() => {
78
72
  expect(getByText(cvFilterName)).toBeInTheDocument();
79
73
  });
80
- await act(() => Promise.resolve());
74
+
81
75
  assertNockRequest(autocompleteScope);
82
76
  assertNockRequest(cvFilterScope);
83
77
  assertNockRequest(cvFiltersScope);
84
78
  assertNockRequest(packageGroupsScope, done);
79
+ act(done);
85
80
  });
86
81
 
87
82
  test('Can search for package groups in package group filter', async (done) => {
@@ -109,7 +104,8 @@ test('Can search for package groups in package group filter', async (done) => {
109
104
  .query(searchQueryMatcher)
110
105
  .reply(200, { results: [lastPackageGroup] });
111
106
 
112
- const autocompleteScope = mockAutocomplete(nockInstance, autocompleteUrl);
107
+ const autocompleteScope =
108
+ mockAutocomplete(nockInstance, autocompleteUrl, undefined, undefined, 2);
113
109
  const withSearchScope = mockAutocomplete(nockInstance, autocompleteUrl, searchQueryMatcher);
114
110
  const { getByText, queryByText, getByLabelText } =
115
111
  renderWithRedux(withCVRoute(<ContentViewFilterDetails
@@ -137,5 +133,5 @@ test('Can search for package groups in package group filter', async (done) => {
137
133
  assertNockRequest(packageGroupsScope);
138
134
  assertNockRequest(withSearchScope);
139
135
  assertNockRequest(packageGroupSearchScope, done);
140
- await act(() => Promise.resolve());
136
+ act(done);
141
137
  });
@@ -62,7 +62,6 @@
62
62
  },
63
63
  "content_label": "Default_Organization_yums_test",
64
64
  "content_counts": {
65
- "ostree_branch": 0,
66
65
  "docker_manifest": 0,
67
66
  "docker_manifest_list": 0,
68
67
  "docker_tag": 0,
@@ -130,7 +129,6 @@
130
129
  },
131
130
  "content_label": "Default_Organization_test_testYums",
132
131
  "content_counts": {
133
- "ostree_branch": 0,
134
132
  "docker_manifest": 0,
135
133
  "docker_manifest_list": 0,
136
134
  "docker_tag": 0,
@@ -10,19 +10,12 @@ import CVErrataDateFilterContent from '../CVErrataDateFilterContent';
10
10
  import cvFilterDetails from './contentViewErrataByDateDetails.fixtures.json';
11
11
  import details from '../../../__tests__/mockDetails.fixtures.json';
12
12
 
13
- const cvFilterDetailsPath = api.getApiUrl('/content_view_filters/36');
14
-
15
13
  const cvErrataDateRuleEditPath = api.getApiUrl('/content_view_filters/36/rules/35');
16
14
 
17
15
  test('Can display errata-date filter rule and edit', async (done) => {
18
16
  const useSelectorMock = jest.spyOn(reactRedux, 'useSelector');
19
17
  useSelectorMock.mockReturnValue(cvFilterDetails);
20
18
 
21
- const cvFilterScope = nockInstance
22
- .get(cvFilterDetailsPath)
23
- .query(true)
24
- .reply(200, cvFilterDetails);
25
-
26
19
  const editDetails = {
27
20
  id: 35,
28
21
  content_view_filter_id: '36',
@@ -42,7 +35,7 @@ test('Can display errata-date filter rule and edit', async (done) => {
42
35
  cvId={1}
43
36
  filterId="36"
44
37
  showAffectedRepos={false}
45
- setShowAffectedRepos={() => {}}
38
+ setShowAffectedRepos={() => { }}
46
39
  details={details}
47
40
  />);
48
41
 
@@ -70,5 +63,4 @@ test('Can display errata-date filter rule and edit', async (done) => {
70
63
 
71
64
  useSelectorMock.mockClear();
72
65
  assertNockRequest(ruleEditScope, done);
73
- assertNockRequest(cvFilterScope, done);
74
66
  });
@@ -317,10 +317,8 @@ test('Can bulk add filter rules', async (done) => {
317
317
  expect(getByLabelText('bulk_actions')).toHaveAttribute('aria-expanded', 'false');
318
318
  });
319
319
  fireEvent.click(getByLabelText('Select all rows'));
320
- fireEvent.click(getByLabelText('bulk_actions'));
321
- expect(getByLabelText('bulk_actions')).toHaveAttribute('aria-expanded', 'true');
322
- expect(getByLabelText('bulk_add')).toBeInTheDocument();
323
- fireEvent.click(getByLabelText('bulk_add'));
320
+ expect(getByLabelText('add_filter_rule')).toBeInTheDocument();
321
+ fireEvent.click(getByLabelText('add_filter_rule'));
324
322
 
325
323
  assertNockRequest(autocompleteScope);
326
324
  assertNockRequest(cvFilterScope);
@@ -41,7 +41,6 @@
41
41
  "name": "prod1"
42
42
  },
43
43
  "content_counts": {
44
- "ostree_branch": 0,
45
44
  "docker_manifest": 0,
46
45
  "docker_tag": 0,
47
46
  "rpm": 32,
@@ -86,4 +85,4 @@
86
85
  "updated_at": "2013-01-27"
87
86
  }
88
87
  ]
89
- }
88
+ }
@@ -75,7 +75,6 @@
75
75
  "name": "yums"
76
76
  },
77
77
  "content_counts": {
78
- "ostree_branch": 0,
79
78
  "docker_manifest": 0,
80
79
  "docker_tag": 0,
81
80
  "rpm": 22,
@@ -95,7 +94,6 @@
95
94
  "name": "test"
96
95
  },
97
96
  "content_counts": {
98
- "ostree_branch": 0,
99
97
  "docker_manifest": 0,
100
98
  "docker_tag": 0,
101
99
  "rpm": 8,
@@ -115,7 +113,6 @@
115
113
  "name": "test"
116
114
  },
117
115
  "content_counts": {
118
- "ostree_branch": 0,
119
116
  "docker_manifest": 1,
120
117
  "docker_tag": 1,
121
118
  "rpm": 0,
@@ -135,7 +132,6 @@
135
132
  "name": "test"
136
133
  },
137
134
  "content_counts": {
138
- "ostree_branch": 0,
139
135
  "docker_manifest": 0,
140
136
  "docker_tag": 0,
141
137
  "rpm": 0,
@@ -155,7 +151,6 @@
155
151
  "name": "test"
156
152
  },
157
153
  "content_counts": {
158
- "ostree_branch": 0,
159
154
  "docker_manifest": 0,
160
155
  "docker_tag": 0,
161
156
  "rpm": 0,
@@ -268,7 +263,6 @@
268
263
  },
269
264
  "content_label": "Default_Organization_test_testYums",
270
265
  "content_counts": {
271
- "ostree_branch": 0,
272
266
  "docker_manifest": 0,
273
267
  "docker_manifest_list": 0,
274
268
  "docker_tag": 0,
@@ -336,7 +330,6 @@
336
330
  },
337
331
  "content_label": "Default_Organization_yums_test",
338
332
  "content_counts": {
339
- "ostree_branch": 0,
340
333
  "docker_manifest": 0,
341
334
  "docker_manifest_list": 0,
342
335
  "docker_tag": 0,
@@ -380,4 +373,4 @@
380
373
  "updated_at": "2021-09-07 12:51:46 -0400"
381
374
  }
382
375
  ]
383
- }
376
+ }
@@ -75,7 +75,6 @@
75
75
  "name": "yums"
76
76
  },
77
77
  "content_counts": {
78
- "ostree_branch": 0,
79
78
  "docker_manifest": 0,
80
79
  "docker_tag": 0,
81
80
  "rpm": 22,
@@ -95,7 +94,6 @@
95
94
  "name": "test"
96
95
  },
97
96
  "content_counts": {
98
- "ostree_branch": 0,
99
97
  "docker_manifest": 0,
100
98
  "docker_tag": 0,
101
99
  "rpm": 8,
@@ -115,7 +113,6 @@
115
113
  "name": "test"
116
114
  },
117
115
  "content_counts": {
118
- "ostree_branch": 0,
119
116
  "docker_manifest": 1,
120
117
  "docker_tag": 1,
121
118
  "rpm": 0,
@@ -135,7 +132,6 @@
135
132
  "name": "test"
136
133
  },
137
134
  "content_counts": {
138
- "ostree_branch": 0,
139
135
  "docker_manifest": 0,
140
136
  "docker_tag": 0,
141
137
  "rpm": 0,
@@ -155,7 +151,6 @@
155
151
  "name": "test"
156
152
  },
157
153
  "content_counts": {
158
- "ostree_branch": 0,
159
154
  "docker_manifest": 0,
160
155
  "docker_tag": 0,
161
156
  "rpm": 0,
@@ -268,7 +263,6 @@
268
263
  },
269
264
  "content_label": "Default_Organization_test_testYums",
270
265
  "content_counts": {
271
- "ostree_branch": 0,
272
266
  "docker_manifest": 0,
273
267
  "docker_manifest_list": 0,
274
268
  "docker_tag": 0,
@@ -336,7 +330,6 @@
336
330
  },
337
331
  "content_label": "Default_Organization_yums_test",
338
332
  "content_counts": {
339
- "ostree_branch": 0,
340
333
  "docker_manifest": 0,
341
334
  "docker_manifest_list": 0,
342
335
  "docker_tag": 0,
@@ -372,4 +365,4 @@
372
365
  "updated_at": "2021-02-23 20:57:19 -0500"
373
366
  }
374
367
  ]
375
- }
368
+ }
@@ -317,10 +317,8 @@ test('Can bulk add filter rules', async (done) => {
317
317
  expect(getByLabelText('bulk_actions')).toHaveAttribute('aria-expanded', 'false');
318
318
  });
319
319
  fireEvent.click(getByLabelText('Select all rows'));
320
- fireEvent.click(getByLabelText('bulk_actions'));
321
- expect(getByLabelText('bulk_actions')).toHaveAttribute('aria-expanded', 'true');
322
- expect(getByLabelText('bulk_add')).toBeInTheDocument();
323
- fireEvent.click(getByLabelText('bulk_add'));
320
+ expect(getByLabelText('add_filter_rule')).toBeInTheDocument();
321
+ fireEvent.click(getByLabelText('add_filter_rule'));
324
322
 
325
323
  assertNockRequest(autocompleteScope);
326
324
  assertNockRequest(cvFilterScope);
@@ -41,7 +41,6 @@
41
41
  "name": "prod1"
42
42
  },
43
43
  "content_counts": {
44
- "ostree_branch": 0,
45
44
  "docker_manifest": 0,
46
45
  "docker_tag": 0,
47
46
  "rpm": 32,
@@ -94,4 +93,4 @@
94
93
  "updated_at": "2021-09-07 12:51:46 -0400"
95
94
  }
96
95
  ]
97
- }
96
+ }
@@ -52,7 +52,6 @@
52
52
  "name": "test"
53
53
  },
54
54
  "content_counts": {
55
- "ostree_branch": 0,
56
55
  "docker_manifest": 0,
57
56
  "docker_tag": 0,
58
57
  "rpm": 8,
@@ -72,7 +71,6 @@
72
71
  "name": "test"
73
72
  },
74
73
  "content_counts": {
75
- "ostree_branch": 0,
76
74
  "docker_manifest": 0,
77
75
  "docker_tag": 0,
78
76
  "rpm": 8,
@@ -144,4 +142,4 @@
144
142
  "updated_at": "2021-04-01 11:35:39 -0400"
145
143
  }
146
144
  ]
147
- }
145
+ }