katello 4.7.2 → 4.8.0.rc1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of katello might be problematic. Click here for more details.

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