katello 4.16.3 → 4.17.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (509) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/katello/hosts/host_and_hostgroup_edit.js +5 -3
  3. data/app/assets/javascripts/katello/locale/bn/katello.js +77 -263
  4. data/app/assets/javascripts/katello/locale/bn_IN/katello.js +77 -263
  5. data/app/assets/javascripts/katello/locale/ca/katello.js +77 -263
  6. data/app/assets/javascripts/katello/locale/cs/katello.js +77 -263
  7. data/app/assets/javascripts/katello/locale/cs_CZ/katello.js +77 -263
  8. data/app/assets/javascripts/katello/locale/de/katello.js +87 -273
  9. data/app/assets/javascripts/katello/locale/de_AT/katello.js +77 -263
  10. data/app/assets/javascripts/katello/locale/de_DE/katello.js +77 -263
  11. data/app/assets/javascripts/katello/locale/el/katello.js +77 -263
  12. data/app/assets/javascripts/katello/locale/en/katello.js +77 -263
  13. data/app/assets/javascripts/katello/locale/en_GB/katello.js +77 -263
  14. data/app/assets/javascripts/katello/locale/en_US/katello.js +77 -263
  15. data/app/assets/javascripts/katello/locale/es/katello.js +242 -428
  16. data/app/assets/javascripts/katello/locale/et_EE/katello.js +77 -263
  17. data/app/assets/javascripts/katello/locale/fr/katello.js +900 -1086
  18. data/app/assets/javascripts/katello/locale/gl/katello.js +77 -263
  19. data/app/assets/javascripts/katello/locale/gu/katello.js +77 -263
  20. data/app/assets/javascripts/katello/locale/he_IL/katello.js +77 -263
  21. data/app/assets/javascripts/katello/locale/hi/katello.js +77 -263
  22. data/app/assets/javascripts/katello/locale/id/katello.js +77 -263
  23. data/app/assets/javascripts/katello/locale/it/katello.js +78 -264
  24. data/app/assets/javascripts/katello/locale/ja/katello.js +628 -814
  25. data/app/assets/javascripts/katello/locale/ka/katello.js +474 -660
  26. data/app/assets/javascripts/katello/locale/kn/katello.js +77 -263
  27. data/app/assets/javascripts/katello/locale/ko/katello.js +2129 -2314
  28. data/app/assets/javascripts/katello/locale/ml_IN/katello.js +77 -263
  29. data/app/assets/javascripts/katello/locale/mr/katello.js +77 -263
  30. data/app/assets/javascripts/katello/locale/nl_NL/katello.js +77 -263
  31. data/app/assets/javascripts/katello/locale/or/katello.js +77 -263
  32. data/app/assets/javascripts/katello/locale/pa/katello.js +77 -263
  33. data/app/assets/javascripts/katello/locale/pl/katello.js +77 -263
  34. data/app/assets/javascripts/katello/locale/pl_PL/katello.js +77 -263
  35. data/app/assets/javascripts/katello/locale/pt/katello.js +77 -263
  36. data/app/assets/javascripts/katello/locale/pt_BR/katello.js +255 -441
  37. data/app/assets/javascripts/katello/locale/ro/katello.js +77 -263
  38. data/app/assets/javascripts/katello/locale/ro_RO/katello.js +77 -263
  39. data/app/assets/javascripts/katello/locale/ru/katello.js +78 -264
  40. data/app/assets/javascripts/katello/locale/sl/katello.js +77 -263
  41. data/app/assets/javascripts/katello/locale/sv_SE/katello.js +77 -263
  42. data/app/assets/javascripts/katello/locale/ta/katello.js +77 -263
  43. data/app/assets/javascripts/katello/locale/ta_IN/katello.js +77 -263
  44. data/app/assets/javascripts/katello/locale/te/katello.js +77 -263
  45. data/app/assets/javascripts/katello/locale/tr/katello.js +77 -263
  46. data/app/assets/javascripts/katello/locale/vi/katello.js +77 -263
  47. data/app/assets/javascripts/katello/locale/vi_VN/katello.js +77 -263
  48. data/app/assets/javascripts/katello/locale/zh/katello.js +77 -263
  49. data/app/assets/javascripts/katello/locale/zh_CN/katello.js +632 -818
  50. data/app/assets/javascripts/katello/locale/zh_TW/katello.js +78 -264
  51. data/app/controllers/katello/api/registry/registry_proxies_controller.rb +19 -5
  52. data/app/controllers/katello/api/v2/content_view_components_controller.rb +6 -6
  53. data/app/controllers/katello/api/v2/content_view_filters_controller.rb +3 -0
  54. data/app/controllers/katello/api/v2/content_view_versions_controller.rb +6 -0
  55. data/app/controllers/katello/api/v2/content_views_controller.rb +12 -1
  56. data/app/controllers/katello/api/v2/exports_controller.rb +3 -0
  57. data/app/controllers/katello/api/v2/host_subscriptions_controller.rb +12 -14
  58. data/app/controllers/katello/api/v2/organizations_controller.rb +10 -10
  59. data/app/controllers/katello/concerns/authorization/api/v2/content_views_controller.rb +8 -2
  60. data/app/lib/actions/helpers/rolling_cv_repos.rb +25 -0
  61. data/app/lib/actions/katello/capsule_content/sync_capsule.rb +6 -1
  62. data/app/lib/actions/katello/content_view/add_rolling_repo_clone.rb +39 -0
  63. data/app/lib/actions/katello/content_view/create.rb +3 -0
  64. data/app/lib/actions/katello/content_view/refresh_rolling_repo.rb +40 -0
  65. data/app/lib/actions/katello/content_view/remove.rb +8 -4
  66. data/app/lib/actions/katello/content_view/remove_rolling_repo_clone.rb +28 -0
  67. data/app/lib/actions/katello/content_view/update.rb +8 -0
  68. data/app/lib/actions/katello/repository/check_matching_content.rb +1 -8
  69. data/app/lib/actions/katello/repository/import_upload.rb +5 -0
  70. data/app/lib/actions/katello/repository/sync.rb +8 -4
  71. data/app/lib/actions/katello/repository/upload_files.rb +7 -1
  72. data/app/lib/actions/pulp3/orchestration/orphan_cleanup/remove_orphans.rb +3 -2
  73. data/app/lib/actions/pulp3/orphan_cleanup/delete_orphan_repository_versions.rb +8 -1
  74. data/app/lib/katello/errors.rb +8 -0
  75. data/app/lib/katello/validators/container_image_name_validator.rb +3 -2
  76. data/app/models/katello/authorization/repository.rb +11 -1
  77. data/app/models/katello/concerns/host_managed_extensions.rb +2 -2
  78. data/app/models/katello/concerns/pulp_database_unit.rb +12 -42
  79. data/app/models/katello/concerns/smart_proxy_extensions.rb +8 -0
  80. data/app/models/katello/content_view.rb +14 -1
  81. data/app/models/katello/content_view_component.rb +4 -0
  82. data/app/models/katello/content_view_environment.rb +1 -0
  83. data/app/models/katello/content_view_version.rb +3 -2
  84. data/app/models/katello/host/content_facet.rb +18 -5
  85. data/app/models/katello/product_content.rb +3 -1
  86. data/app/models/katello/repository.rb +3 -3
  87. data/app/services/katello/content_unit_indexer.rb +1 -1
  88. data/app/services/katello/pulp3/api/content_guard.rb +1 -1
  89. data/app/services/katello/pulp3/api/core.rb +6 -0
  90. data/app/services/katello/pulp3/smart_proxy_mirror_repository.rb +58 -1
  91. data/app/services/katello/pulp3/smart_proxy_repository.rb +67 -3
  92. data/app/services/katello/smart_proxy_helper.rb +6 -1
  93. data/app/views/foreman/job_templates/install_errata_-_katello_ansible_default.erb +15 -1
  94. data/app/views/foreman/job_templates/install_errata_by_search_query_-_katello_ansible_default.erb +15 -1
  95. data/app/views/foreman/job_templates/install_group_-_katello_ansible_default.erb +15 -2
  96. data/app/views/foreman/job_templates/install_packages_by_search_query_-_katello_ansible_default.erb +21 -2
  97. data/app/views/foreman/job_templates/remove_group_-_katello_ansible_default.erb +15 -1
  98. data/app/views/foreman/job_templates/remove_packages_by_search_query_-_katello_ansible_default.erb +20 -1
  99. data/app/views/foreman/job_templates/update_group_-_katello_ansible_default.erb +15 -2
  100. data/app/views/foreman/job_templates/update_packages_by_search_query_-_katello_ansible_default.erb +17 -1
  101. data/app/views/katello/api/v2/activation_keys/base.json.rabl +1 -0
  102. data/app/views/katello/api/v2/capsule_content/sync_status.json.rabl +2 -1
  103. data/app/views/katello/api/v2/content_facet/base.json.rabl +2 -0
  104. data/app/views/katello/api/v2/content_view_versions/base.json.rabl +12 -0
  105. data/app/views/katello/api/v2/content_views/base.json.rabl +1 -0
  106. data/app/views/katello/api/v2/environments/show.json.rabl +14 -0
  107. data/app/views/katello/api/v2/hosts/base.json.rabl +1 -0
  108. data/app/views/katello/api/v2/organizations/show.json.rabl +2 -0
  109. data/app/views/katello/api/v2/repositories/base.json.rabl +2 -1
  110. data/db/migrate/20190930192813_add_pulp3_hrefs_to_content_types.rb +1 -1
  111. data/db/migrate/20240924161240_katello_recreate_evr_constructs.rb +0 -20
  112. data/db/migrate/20241022122325_add_rolling_to_katello_content_views.rb +5 -0
  113. data/db/migrate/20241025151105_remove_pulp3_migrated_hrefs_from_content_tables.rb +1 -1
  114. data/db/migrate/20250215143303_drop_katello_yum_metadata_file.rb +5 -0
  115. data/db/migrate/20250409120843_fix_file_download_policy.rb +11 -0
  116. data/db/migrate/20250410155300_change_ansible_templates_category.rb +22 -0
  117. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/bn.po +0 -6
  118. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/bn_IN.po +0 -6
  119. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ca.po +0 -6
  120. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/cs_CZ.po +0 -6
  121. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de.po +0 -6
  122. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de_AT.po +0 -6
  123. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de_DE.po +0 -6
  124. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/el.po +0 -6
  125. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/en_GB.po +0 -6
  126. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/en_US.po +0 -6
  127. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/es.po +0 -6
  128. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/et_EE.po +0 -6
  129. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/fr.po +0 -6
  130. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/gl.po +0 -6
  131. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/gu.po +0 -6
  132. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/he_IL.po +0 -6
  133. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/hi.po +0 -6
  134. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/id.po +0 -6
  135. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/it.po +0 -6
  136. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ja.po +0 -6
  137. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ka.po +0 -6
  138. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/kn.po +0 -6
  139. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ko.po +0 -6
  140. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ml_IN.po +0 -6
  141. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/mr.po +0 -6
  142. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/nl_NL.po +0 -6
  143. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/or.po +0 -6
  144. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pa.po +0 -6
  145. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pl.po +0 -6
  146. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pl_PL.po +0 -6
  147. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt.po +0 -6
  148. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt_BR.po +0 -6
  149. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ro.po +0 -6
  150. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ro_RO.po +0 -6
  151. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ru.po +0 -6
  152. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/sl.po +0 -6
  153. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/sv_SE.po +0 -6
  154. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ta.po +0 -6
  155. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ta_IN.po +0 -6
  156. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/te.po +0 -6
  157. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/tr.po +0 -6
  158. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/vi.po +0 -6
  159. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/vi_VN.po +0 -6
  160. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh.po +0 -6
  161. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_CN.po +0 -6
  162. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_TW.po +0 -6
  163. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repository-types.service.js +3 -0
  164. data/lib/katello/engine.rb +9 -1
  165. data/lib/katello/repository_types/python.rb +1 -1
  166. data/lib/katello/tasks/repository.rake +1 -1
  167. data/lib/katello/version.rb +1 -1
  168. data/locale/action_names.rb +3 -0
  169. data/locale/bn/LC_MESSAGES/katello.mo +0 -0
  170. data/locale/bn/katello.po +77 -263
  171. data/locale/bn_IN/LC_MESSAGES/katello.mo +0 -0
  172. data/locale/bn_IN/katello.po +77 -263
  173. data/locale/ca/LC_MESSAGES/katello.mo +0 -0
  174. data/locale/ca/katello.po +77 -263
  175. data/locale/cs/LC_MESSAGES/katello.mo +0 -0
  176. data/locale/cs/katello.po +77 -263
  177. data/locale/cs_CZ/LC_MESSAGES/katello.mo +0 -0
  178. data/locale/cs_CZ/katello.po +77 -263
  179. data/locale/de/LC_MESSAGES/katello.mo +0 -0
  180. data/locale/de/katello.po +91 -277
  181. data/locale/de_AT/LC_MESSAGES/katello.mo +0 -0
  182. data/locale/de_AT/katello.po +77 -263
  183. data/locale/de_DE/LC_MESSAGES/katello.mo +0 -0
  184. data/locale/de_DE/katello.po +77 -263
  185. data/locale/el/LC_MESSAGES/katello.mo +0 -0
  186. data/locale/el/katello.po +77 -263
  187. data/locale/en/LC_MESSAGES/katello.mo +0 -0
  188. data/locale/en/katello.po +77 -263
  189. data/locale/en_GB/LC_MESSAGES/katello.mo +0 -0
  190. data/locale/en_GB/katello.po +77 -263
  191. data/locale/en_US/LC_MESSAGES/katello.mo +0 -0
  192. data/locale/en_US/katello.po +77 -263
  193. data/locale/es/LC_MESSAGES/katello.mo +0 -0
  194. data/locale/es/katello.po +245 -432
  195. data/locale/et_EE/LC_MESSAGES/katello.mo +0 -0
  196. data/locale/et_EE/katello.po +77 -263
  197. data/locale/fr/LC_MESSAGES/katello.mo +0 -0
  198. data/locale/fr/katello.po +906 -1092
  199. data/locale/gl/LC_MESSAGES/katello.mo +0 -0
  200. data/locale/gl/katello.po +77 -263
  201. data/locale/gu/LC_MESSAGES/katello.mo +0 -0
  202. data/locale/gu/katello.po +77 -263
  203. data/locale/he_IL/LC_MESSAGES/katello.mo +0 -0
  204. data/locale/he_IL/katello.po +77 -263
  205. data/locale/hi/LC_MESSAGES/katello.mo +0 -0
  206. data/locale/hi/katello.po +77 -263
  207. data/locale/id/LC_MESSAGES/katello.mo +0 -0
  208. data/locale/id/katello.po +77 -263
  209. data/locale/it/LC_MESSAGES/katello.mo +0 -0
  210. data/locale/it/katello.po +78 -264
  211. data/locale/ja/LC_MESSAGES/katello.mo +0 -0
  212. data/locale/ja/katello.po +634 -822
  213. data/locale/ka/LC_MESSAGES/katello.mo +0 -0
  214. data/locale/ka/katello.po +474 -662
  215. data/locale/katello.pot +1194 -1472
  216. data/locale/kn/LC_MESSAGES/katello.mo +0 -0
  217. data/locale/kn/katello.po +77 -263
  218. data/locale/ko/LC_MESSAGES/katello.mo +0 -0
  219. data/locale/ko/katello.po +2125 -2324
  220. data/locale/ml_IN/LC_MESSAGES/katello.mo +0 -0
  221. data/locale/ml_IN/katello.po +77 -263
  222. data/locale/mr/LC_MESSAGES/katello.mo +0 -0
  223. data/locale/mr/katello.po +77 -263
  224. data/locale/nl_NL/LC_MESSAGES/katello.mo +0 -0
  225. data/locale/nl_NL/katello.po +77 -263
  226. data/locale/or/LC_MESSAGES/katello.mo +0 -0
  227. data/locale/or/katello.po +77 -263
  228. data/locale/pa/LC_MESSAGES/katello.mo +0 -0
  229. data/locale/pa/katello.po +77 -263
  230. data/locale/pl/LC_MESSAGES/katello.mo +0 -0
  231. data/locale/pl/katello.po +77 -263
  232. data/locale/pl_PL/LC_MESSAGES/katello.mo +0 -0
  233. data/locale/pl_PL/katello.po +77 -263
  234. data/locale/pt/LC_MESSAGES/katello.mo +0 -0
  235. data/locale/pt/katello.po +77 -263
  236. data/locale/pt_BR/LC_MESSAGES/katello.mo +0 -0
  237. data/locale/pt_BR/katello.po +258 -445
  238. data/locale/ro/LC_MESSAGES/katello.mo +0 -0
  239. data/locale/ro/katello.po +77 -263
  240. data/locale/ro_RO/LC_MESSAGES/katello.mo +0 -0
  241. data/locale/ro_RO/katello.po +77 -263
  242. data/locale/ru/LC_MESSAGES/katello.mo +0 -0
  243. data/locale/ru/katello.po +78 -264
  244. data/locale/sl/LC_MESSAGES/katello.mo +0 -0
  245. data/locale/sl/katello.po +77 -263
  246. data/locale/sv_SE/LC_MESSAGES/katello.mo +0 -0
  247. data/locale/sv_SE/katello.po +77 -263
  248. data/locale/ta/LC_MESSAGES/katello.mo +0 -0
  249. data/locale/ta/katello.po +77 -263
  250. data/locale/ta_IN/LC_MESSAGES/katello.mo +0 -0
  251. data/locale/ta_IN/katello.po +77 -263
  252. data/locale/te/LC_MESSAGES/katello.mo +0 -0
  253. data/locale/te/katello.po +77 -263
  254. data/locale/tr/LC_MESSAGES/katello.mo +0 -0
  255. data/locale/tr/katello.po +77 -263
  256. data/locale/vi/LC_MESSAGES/katello.mo +0 -0
  257. data/locale/vi/katello.po +77 -263
  258. data/locale/vi_VN/LC_MESSAGES/katello.mo +0 -0
  259. data/locale/vi_VN/katello.po +77 -263
  260. data/locale/zh/LC_MESSAGES/katello.mo +0 -0
  261. data/locale/zh/katello.po +77 -263
  262. data/locale/zh_CN/LC_MESSAGES/katello.mo +0 -0
  263. data/locale/zh_CN/katello.po +632 -824
  264. data/locale/zh_TW/LC_MESSAGES/katello.mo +0 -0
  265. data/locale/zh_TW/katello.po +78 -264
  266. data/webpack/ForemanColumnExtensions/index.js +12 -4
  267. data/webpack/components/ActivationKeysSearch/index.js +6 -7
  268. data/webpack/components/Bookmark/AddBookmarkModal.js +3 -3
  269. data/webpack/components/Bookmark/Bookmark.scss +3 -3
  270. data/webpack/components/Bookmark/index.js +7 -2
  271. data/webpack/components/EditableSwitch.js +1 -1
  272. data/webpack/components/EditableTextInput/EditableTextInput.js +1 -1
  273. data/webpack/components/EditableTextInput/editableTextInput.scss +1 -1
  274. data/webpack/components/Errata/index.js +1 -24
  275. data/webpack/components/Loading.js +10 -6
  276. data/webpack/components/Packages/index.js +2 -1
  277. data/webpack/components/SelectAllCheckbox/index.js +7 -3
  278. data/webpack/components/SelectableDropdown/SelectableDropdown.js +21 -3
  279. data/webpack/components/Table/EmptyStateMessage.js +12 -14
  280. data/webpack/components/Table/MainTable.js +8 -7
  281. data/webpack/components/Table/MainTable.scss +4 -4
  282. data/webpack/components/extensions/HostDetails/ActionsBar/index.js +4 -1
  283. data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/ChangeHostCVModal.js +1 -1
  284. data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/ContentViewDetailsCard.js +9 -6
  285. data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/__tests__/changeHostCVModal.test.js +2 -1
  286. data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/__tests__/contentViews.fixtures.json +4 -1
  287. data/webpack/components/extensions/HostDetails/Cards/ErrataOverviewCard.js +23 -6
  288. data/webpack/components/extensions/HostDetails/Cards/ErrataOverviewCard.scss +1 -1
  289. data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/HostCollectionsCard.js +5 -3
  290. data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/HostCollectionsCard.scss +3 -3
  291. data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/HostCollectionsModal.js +1 -1
  292. data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/__tests__/hostCollectionsModal.test.js +25 -10
  293. data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeCard.js +5 -2
  294. data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeCard.scss +2 -2
  295. data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeEditModal.js +5 -4
  296. data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/__tests__/SystemPurposeCard.test.js +6 -3
  297. data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/__tests__/SystemPurposeEditModal.test.js +19 -12
  298. data/webpack/components/extensions/HostDetails/Cards/__tests__/errataOverviewCard.test.js +1 -1
  299. data/webpack/components/extensions/HostDetails/DetailsTabCards/HwPropertiesCard.js +1 -4
  300. data/webpack/components/extensions/HostDetails/DetailsTabCards/ImageModeCard.js +1 -4
  301. data/webpack/components/extensions/HostDetails/DetailsTabCards/InstalledProductsCard.js +1 -4
  302. data/webpack/components/extensions/HostDetails/DetailsTabCards/__test__/HwPropertiesCard.test.js +63 -0
  303. data/webpack/components/extensions/HostDetails/DetailsTabCards/__test__/ImageModeCard.test.js +73 -0
  304. data/webpack/components/extensions/HostDetails/DetailsTabCards/__test__/InstalledProductsCard.test.js +45 -0
  305. data/webpack/components/extensions/HostDetails/Tabs/DebsTab/DebInstallModal.js +12 -2
  306. data/webpack/components/extensions/HostDetails/Tabs/DebsTab/DebInstallModal.scss +1 -1
  307. data/webpack/components/extensions/HostDetails/Tabs/DebsTab/DebsTab.js +10 -13
  308. data/webpack/components/extensions/HostDetails/Tabs/DebsTab/DebsTab.scss +1 -1
  309. data/webpack/components/extensions/HostDetails/Tabs/ErrataTab/ErrataTab.js +46 -21
  310. data/webpack/components/extensions/HostDetails/Tabs/ErrataTab/ErrataTab.scss +1 -1
  311. data/webpack/components/extensions/HostDetails/Tabs/ModuleStreamsTab/ModuleStreamsTab.js +15 -7
  312. data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackageInstallModal.js +13 -3
  313. data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackageInstallModal.scss +1 -1
  314. data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackagesTab.js +34 -20
  315. data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackagesTab.scss +1 -1
  316. data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsTab.js +8 -6
  317. data/webpack/components/extensions/HostDetails/Tabs/TracesTab/EnableTracerModal.js +5 -3
  318. data/webpack/components/extensions/HostDetails/Tabs/TracesTab/EnableTracerModal.scss +1 -1
  319. data/webpack/components/extensions/HostDetails/Tabs/TracesTab/TracesEnabler.js +12 -13
  320. data/webpack/components/extensions/HostDetails/Tabs/TracesTab/TracesTab.js +16 -6
  321. data/webpack/components/extensions/HostDetails/Tabs/__tests__/debsInstallModal.test.js +10 -5
  322. data/webpack/components/extensions/HostDetails/Tabs/__tests__/debsTab.test.js +48 -22
  323. data/webpack/components/extensions/HostDetails/Tabs/__tests__/errataTab.test.js +123 -47
  324. data/webpack/components/extensions/HostDetails/Tabs/__tests__/moduleStreamsTab.test.js +14 -7
  325. data/webpack/components/extensions/HostDetails/Tabs/__tests__/packageInstallModal.test.js +10 -5
  326. data/webpack/components/extensions/HostDetails/Tabs/__tests__/packagesTab.test.js +41 -24
  327. data/webpack/components/extensions/HostDetails/Tabs/__tests__/repositorySetsTab.test.js +50 -25
  328. data/webpack/components/extensions/HostDetails/Tabs/__tests__/tracesTab.test.js +50 -25
  329. data/webpack/components/extensions/HostDetails/hostDetailsHelpers.js +3 -0
  330. data/webpack/components/extensions/Hosts/BulkActions/BulkErrataWizard/04_Review.js +16 -2
  331. data/webpack/components/extensions/Hosts/BulkActions/BulkErrataWizard/04_ReviewFooter.js +6 -2
  332. data/webpack/components/extensions/Hosts/BulkActions/BulkErrataWizard/BulkErrataWizard.js +5 -1
  333. data/webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/04_Review.js +16 -2
  334. data/webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/04_ReviewFooter.js +6 -2
  335. data/webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/BulkPackagesWizard.js +15 -2
  336. data/webpack/components/extensions/Hosts/BulkActions/HostReview.js +1 -1
  337. data/webpack/components/extensions/Hosts/BulkActions/__tests__/bulkChangeHostCVModal.test.js +2 -1
  338. data/webpack/components/extensions/Hosts/FontAwesomeImageModeIcon.js +1 -1
  339. data/webpack/components/extensions/Hosts/ImageModeHostAlert.js +14 -0
  340. data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/ActivationKeys.test.js.snap +14 -17
  341. data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/Force.test.js.snap +1 -1
  342. data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/IgnoreSubmanErrors.test.js.snap +1 -1
  343. data/webpack/components/extensions/RegistrationCommands/fields/ActivationKeys.js +38 -49
  344. data/webpack/containers/Application/overrides.scss +7 -7
  345. data/webpack/ouia_id_check.js +15 -11
  346. data/webpack/redux/actions/RedHatRepositories/helpers.js +0 -2
  347. data/webpack/scenes/ActivationKeys/Details/__tests__/activationKeyDetails.test.js +12 -6
  348. data/webpack/scenes/ActivationKeys/Details/components/DeleteMenu.js +12 -2
  349. data/webpack/scenes/ActivationKeys/Details/components/EditModal.js +3 -3
  350. data/webpack/scenes/AlternateContentSources/Create/ACSCreateWizard.js +3 -1
  351. data/webpack/scenes/AlternateContentSources/Create/Steps/ACSCreateFinish.js +3 -1
  352. data/webpack/scenes/AlternateContentSources/Create/Steps/ACSCredentials.js +12 -6
  353. data/webpack/scenes/AlternateContentSources/Create/Steps/ACSSmartProxies.js +1 -1
  354. data/webpack/scenes/AlternateContentSources/Create/Steps/AcsUrlPaths.js +22 -7
  355. data/webpack/scenes/AlternateContentSources/Create/Steps/NameACS.js +2 -2
  356. data/webpack/scenes/AlternateContentSources/Create/Steps/SelectSource.js +1 -1
  357. data/webpack/scenes/AlternateContentSources/Create/__tests__/acsCreate.test.js +6 -3
  358. data/webpack/scenes/AlternateContentSources/Details/ACSExpandableDetails.js +25 -15
  359. data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditCredentials.js +9 -6
  360. data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditDetails.js +2 -2
  361. data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditSmartProxies.js +1 -1
  362. data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditURLPaths.js +33 -7
  363. data/webpack/scenes/AlternateContentSources/Details/__tests__/ACSEdits.test.js +10 -5
  364. data/webpack/scenes/AlternateContentSources/Details/__tests__/ACSExpandableDetails.test.js +4 -2
  365. data/webpack/scenes/AlternateContentSources/MainTable/ACSTable.js +10 -8
  366. data/webpack/scenes/AlternateContentSources/MainTable/__tests__/acsTable.test.js +4 -2
  367. data/webpack/scenes/BootedContainerImages/BootedContainerImagesPage.js +5 -5
  368. data/webpack/scenes/Content/Details/__tests__/contentDetail.test.js +8 -4
  369. data/webpack/scenes/Content/__tests__/contentTable.test.js +4 -2
  370. data/webpack/scenes/ContentViews/Copy/CopyContentViewForm.js +1 -1
  371. data/webpack/scenes/ContentViews/Copy/__tests__/contentViewCopyResult.fixtures.json +1 -0
  372. data/webpack/scenes/ContentViews/Copy/__tests__/copyContentView.test.js +2 -1
  373. data/webpack/scenes/ContentViews/Create/CreateContentViewForm.js +86 -31
  374. data/webpack/scenes/ContentViews/Create/CreateContentViewForm.scss +10 -2
  375. data/webpack/scenes/ContentViews/Create/__tests__/contentViewCreateResult.fixtures.json +1 -0
  376. data/webpack/scenes/ContentViews/Create/__tests__/createContentView.test.js +10 -4
  377. data/webpack/scenes/ContentViews/Delete/ContentViewDeleteWizard.js +3 -1
  378. data/webpack/scenes/ContentViews/Delete/Steps/CVDeleteEnvironmentsSelection.js +6 -6
  379. data/webpack/scenes/ContentViews/Delete/Steps/CVDeletionReassignActivationKeysForm.js +7 -2
  380. data/webpack/scenes/ContentViews/Delete/Steps/CVDeletionReassignHostsForm.js +7 -2
  381. data/webpack/scenes/ContentViews/Delete/Steps/CVDeletionReview.js +3 -3
  382. data/webpack/scenes/ContentViews/Delete/Steps/CVEnvironmentSelectionForm.scss +1 -1
  383. data/webpack/scenes/ContentViews/Delete/__tests__/CvData.fixtures.json +2 -1
  384. data/webpack/scenes/ContentViews/Delete/__tests__/affectedHosts.fixtures.json +3 -2
  385. data/webpack/scenes/ContentViews/Delete/__tests__/contentViewDelete.test.js +10 -8
  386. data/webpack/scenes/ContentViews/Delete/__tests__/cvDetails.fixtures.json +2 -1
  387. data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentContentViewAddModal.js +16 -5
  388. data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentContentViewBulkAddModal.js +19 -5
  389. data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentEnvironments.js +1 -1
  390. data/webpack/scenes/ContentViews/Details/ComponentContentViews/ContentViewComponents.js +11 -2
  391. data/webpack/scenes/ContentViews/Details/ComponentContentViews/__tests__/compositeCVDetails.fixtures.json +2 -1
  392. data/webpack/scenes/ContentViews/Details/ComponentContentViews/__tests__/contentViewComponents.test.js +69 -27
  393. data/webpack/scenes/ContentViews/Details/ComponentContentViews/__tests__/publishedContentViewDetails.fixtures.json +2 -1
  394. data/webpack/scenes/ContentViews/Details/ContentViewDetails.js +22 -29
  395. data/webpack/scenes/ContentViews/Details/ContentViewInfo.js +6 -2
  396. data/webpack/scenes/ContentViews/Details/Filters/Add/CVFilterAddModal.js +20 -7
  397. data/webpack/scenes/ContentViews/Details/Filters/Add/__tests__/cvFilterAdd.test.js +4 -2
  398. data/webpack/scenes/ContentViews/Details/Filters/AffectedRepositories/AffectedRepositorySelection.js +5 -2
  399. data/webpack/scenes/ContentViews/Details/Filters/AffectedRepositories/AffectedRepositoryTable.js +3 -1
  400. data/webpack/scenes/ContentViews/Details/Filters/ArtifactsWithNoErrata.js +1 -1
  401. data/webpack/scenes/ContentViews/Details/Filters/CVContainerImageFilterContent.js +4 -2
  402. data/webpack/scenes/ContentViews/Details/Filters/CVDebFilterContent.js +13 -1
  403. data/webpack/scenes/ContentViews/Details/Filters/CVErrataDateFilterContent.js +23 -7
  404. data/webpack/scenes/ContentViews/Details/Filters/CVErrataIDFilterContent.js +23 -5
  405. data/webpack/scenes/ContentViews/Details/Filters/CVModuleStreamFilterContent.js +15 -3
  406. data/webpack/scenes/ContentViews/Details/Filters/CVPackageGroupFilterContent.js +15 -3
  407. data/webpack/scenes/ContentViews/Details/Filters/CVRpmFilterContent.js +13 -1
  408. data/webpack/scenes/ContentViews/Details/Filters/ContentViewFilterDetailsHeader.js +6 -4
  409. data/webpack/scenes/ContentViews/Details/Filters/ContentViewFilters.js +11 -1
  410. data/webpack/scenes/ContentViews/Details/Filters/MatchContentModal/__tests__/CVRpmMatchContentModal.test.js +4 -2
  411. data/webpack/scenes/ContentViews/Details/Filters/MatchContentModal/matchContentModal.scss +1 -1
  412. data/webpack/scenes/ContentViews/Details/Filters/Rules/DebPackage/AddEditDebPackageRuleModal.js +2 -2
  413. data/webpack/scenes/ContentViews/Details/Filters/Rules/Package/AddEditPackageRuleModal.js +4 -4
  414. data/webpack/scenes/ContentViews/Details/Filters/__tests__/CVContainerImageFilterContent.test.js +18 -12
  415. data/webpack/scenes/ContentViews/Details/Filters/__tests__/CVRpmFilterContent.test.js +7 -11
  416. data/webpack/scenes/ContentViews/Details/Filters/__tests__/ContentViewPackageGroupFilter.test.js +81 -70
  417. data/webpack/scenes/ContentViews/Details/Filters/__tests__/contentViewErrataByDateDetails.fixtures.json +1 -0
  418. data/webpack/scenes/ContentViews/Details/Filters/__tests__/contentViewFilterDetails.test.js +4 -2
  419. data/webpack/scenes/ContentViews/Details/Filters/__tests__/contentViewFilters.test.js +52 -38
  420. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvErrataDateFilterContent.test.js +9 -4
  421. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvErrataIDFilter.test.js +18 -12
  422. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvErratumFilterDetails.fixtures.json +1 -0
  423. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvFilterDetailModuleAffectedRepos.fixtures.json +1 -0
  424. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvFilterDetailWithAffectedRepos.fixtures.json +1 -0
  425. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvFilterFixutre.fixture.json +2 -1
  426. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvModuleStreamFilter.test.js +77 -67
  427. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvModuleStreamFilterDetails.fixtures.json +1 -0
  428. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvPackageFilterDetail.fixtures.json +1 -0
  429. data/webpack/scenes/ContentViews/Details/Histories/ContentViewHistories.js +2 -2
  430. data/webpack/scenes/ContentViews/Details/Histories/__tests__/contentViewHistory.test.js +4 -2
  431. data/webpack/scenes/ContentViews/Details/Promote/ContentViewVersionPromote.js +1 -1
  432. data/webpack/scenes/ContentViews/Details/Repositories/ContentViewRepositories.js +7 -5
  433. data/webpack/scenes/ContentViews/Details/Repositories/__tests__/contentViewAddRemove.test.js +6 -3
  434. data/webpack/scenes/ContentViews/Details/Repositories/__tests__/contentViewRepoAdd.fixture.json +1 -0
  435. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/ActionSummary.js +3 -2
  436. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/BulkDeleteModal.js +3 -1
  437. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/Steps/ConfirmBulkDelete.js +2 -2
  438. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/Steps/ReassignActivationKeys.js +3 -1
  439. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/Steps/ReassignHosts.js +3 -1
  440. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/Steps/ReviewEnvironments.js +4 -4
  441. data/webpack/scenes/ContentViews/Details/Versions/Compare/CVVersionCompare.scss +11 -11
  442. data/webpack/scenes/ContentViews/Details/Versions/Compare/CVVersionCompareHeader.js +15 -5
  443. data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersionEnvironments.js +1 -1
  444. data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersions.js +13 -3
  445. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveCVVersionWizard.js +3 -1
  446. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVEnvironmentSelectionForm.js +17 -13
  447. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVReassignActivationKeysForm.js +12 -7
  448. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVReassignHostsForm.js +64 -7
  449. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVVersionRemoveReview.js +52 -21
  450. data/webpack/scenes/ContentViews/Details/Versions/Delete/__tests__/cvVersionRemove.test.js +30 -16
  451. data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetails.scss +7 -7
  452. data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetailsHeader.js +5 -3
  453. data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetailsTable.js +4 -2
  454. data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionDetails.test.js +6 -3
  455. data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionDetailsEmpty.test.js +2 -1
  456. data/webpack/scenes/ContentViews/Details/Versions/__tests__/contentViewVersions.test.js +6 -6
  457. data/webpack/scenes/ContentViews/Details/__tests__/contentViewDetail.test.js +35 -4
  458. data/webpack/scenes/ContentViews/Details/__tests__/contentViewDetails.fixtures.json +1 -0
  459. data/webpack/scenes/ContentViews/Details/__tests__/contentViewRollingDetail.test.js +197 -0
  460. data/webpack/scenes/ContentViews/Details/__tests__/contentViewRollingDetails.fixtures.json +82 -0
  461. data/webpack/scenes/ContentViews/Publish/CVPublishFinish.js +3 -7
  462. data/webpack/scenes/ContentViews/Publish/CVPublishForm.js +2 -2
  463. data/webpack/scenes/ContentViews/Publish/CVPublishReview.js +6 -5
  464. data/webpack/scenes/ContentViews/Publish/PublishContentViewWizard.js +3 -1
  465. data/webpack/scenes/ContentViews/Publish/__tests__/publishContentView.test.js +15 -7
  466. data/webpack/scenes/ContentViews/Publish/cvPublishForm.scss +4 -4
  467. data/webpack/scenes/ContentViews/Table/ContentViewVersionCell.js +6 -4
  468. data/webpack/scenes/ContentViews/Table/ContentViewsTable.js +14 -3
  469. data/webpack/scenes/ContentViews/Table/tableDataGenerator.js +3 -0
  470. data/webpack/scenes/ContentViews/__tests__/basicContentViews.fixtures.js +1 -0
  471. data/webpack/scenes/ContentViews/__tests__/contentViewList.fixtures.json +89 -2
  472. data/webpack/scenes/ContentViews/__tests__/contentViewPage.test.js +85 -14
  473. data/webpack/scenes/ContentViews/__tests__/mockDetails.fixtures.json +2 -1
  474. data/webpack/scenes/ContentViews/components/ContentViewIcon.js +20 -6
  475. data/webpack/scenes/ContentViews/components/ContentViewSelect/ContentViewSelect.js +4 -1
  476. data/webpack/scenes/ContentViews/components/ContentViewSelect/ContentViewSelectOption.js +11 -2
  477. data/webpack/scenes/ContentViews/components/ContentViewsCounter.js +27 -7
  478. data/webpack/scenes/ContentViews/components/EnvironmentLabels.js +2 -2
  479. data/webpack/scenes/ContentViews/components/EnvironmentPaths/EnvironmentPaths.js +6 -2
  480. data/webpack/scenes/ContentViews/components/EnvironmentPaths/EnvironmentPaths.scss +4 -1
  481. data/webpack/scenes/ContentViews/components/FiltersAppliedIcon.js +4 -2
  482. data/webpack/scenes/ContentViews/components/NeedsPublishIcon.js +7 -6
  483. data/webpack/scenes/ContentViews/components/NeedsPublishIcon.scss +2 -2
  484. data/webpack/scenes/ContentViews/components/contentViewIcon.scss +16 -3
  485. data/webpack/scenes/ContentViews/expansions/DetailsExpansion.js +6 -1
  486. data/webpack/scenes/ContentViews/expansions/RelatedCompositeContentViewsModal.js +3 -3
  487. data/webpack/scenes/ContentViews/expansions/__tests__/contentViewComponentsModal.test.js +2 -1
  488. data/webpack/scenes/Hosts/ChangeContentSource/components/ContentSourceForm.js +5 -3
  489. data/webpack/scenes/Hosts/ChangeContentSource/components/ContentSourceTemplate.js +3 -2
  490. data/webpack/scenes/Hosts/ChangeContentSource/components/FormField.js +1 -1
  491. data/webpack/scenes/Hosts/ChangeContentSource/components/HostsModal.js +1 -1
  492. data/webpack/scenes/RedHatRepositories/components/EnabledRepository/EnabledRepositoryContent.js +1 -1
  493. data/webpack/scenes/RedHatRepositories/components/EnabledRepository/__tests__/__snapshots__/EnabledRepositoryContent.test.js.snap +1 -1
  494. data/webpack/scenes/RedHatRepositories/index.scss +1 -1
  495. data/webpack/scenes/SmartProxy/ExpandableCvDetails.js +27 -7
  496. data/webpack/scenes/SmartProxy/ExpandedSmartProxyRepositories.js +51 -2
  497. data/webpack/scenes/SmartProxy/SmartProxyExpandableTable.js +2 -2
  498. data/webpack/scenes/SmartProxy/__tests__/SmartProxyContentTest.js +14 -9
  499. data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/CdnConfigurationForm.scss +1 -1
  500. data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/CustomCdnTypeForm.js +2 -2
  501. data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/NetworkSyncForm.js +6 -6
  502. data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/__tests__/CdnTypeForm.test.js +2 -1
  503. data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/__tests__/CustomCdnTypeForm.test.js +2 -1
  504. data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/__tests__/ExportSyncForm.test.js +2 -1
  505. data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/__tests__/NetworkSyncForm.test.js +2 -1
  506. metadata +72 -53
  507. data/app/models/katello/yum_metadata_file.rb +0 -22
  508. data/app/services/katello/pulp3/yum_metadata_file.rb +0 -20
  509. data/db/migrate/20250714190050_add_missing_rpms_evr_index.rb +0 -14
@@ -2,7 +2,9 @@ import React, { useEffect, useState } from 'react';
2
2
  import { useSelector, useDispatch } from 'react-redux';
3
3
  import PropTypes from 'prop-types';
4
4
  import useDeepCompareEffect from 'use-deep-compare-effect';
5
- import { Wizard } from '@patternfly/react-core';
5
+ import {
6
+ Wizard,
7
+ } from '@patternfly/react-core/deprecated';
6
8
  import { translate as __ } from 'foremanReact/common/I18n';
7
9
  import { STATUS } from 'foremanReact/constants';
8
10
  import CVDeleteEnvironmentSelection from './Steps/CVDeleteEnvironmentsSelection';
@@ -1,7 +1,7 @@
1
1
  import React, { useContext, useState, useEffect } from 'react';
2
2
  import { ExpandableSection, Flex, FlexItem } from '@patternfly/react-core';
3
3
  import { ExclamationTriangleIcon } from '@patternfly/react-icons';
4
- import { TableVariant, TableComposable, Thead, Tbody, Tr, Th, Td } from '@patternfly/react-table';
4
+ import { TableVariant, Table /* data-codemods */, Thead, Tbody, Tr, Th, Td } from '@patternfly/react-table';
5
5
  import { translate as __ } from 'foremanReact/common/I18n';
6
6
  import { STATUS } from 'foremanReact/constants';
7
7
  import CVDeleteContext from '../CVDeleteContext';
@@ -60,14 +60,14 @@ const CVDeleteEnvironmentSelection = () => {
60
60
  <ExpandableSection
61
61
  key={version.id}
62
62
  toggleText={__(`Version ${version.version}`)}
63
- onToggle={expanded => setExpanded(index, expanded)}
63
+ onToggle={(_event, expanded) => setExpanded(index, expanded)}
64
64
  isExpanded={versionExpanded[index]}
65
65
  >
66
66
  {(version?.environments.length !== 0) ?
67
- <TableComposable ouiaId="cv-delete-env-select-table" variant={TableVariant.compact}>
67
+ <Table ouiaId="cv-delete-env-select-table" variant={TableVariant.compact}>
68
68
  <Thead>
69
69
  <Tr ouiaId="cv-delete-env-select-table-header">
70
- <Th />
70
+ <Th aria-label="select header" />
71
71
  {columnHeaders.map(col =>
72
72
  <Th key={col}>{col}</Th>)}
73
73
  </Tr>
@@ -84,7 +84,7 @@ const CVDeleteEnvironmentSelection = () => {
84
84
  select={{
85
85
  rowIndex,
86
86
  isSelected: true,
87
- disable: true,
87
+ isDisabled: true,
88
88
  }}
89
89
  />
90
90
  <Td>
@@ -96,7 +96,7 @@ const CVDeleteEnvironmentSelection = () => {
96
96
  );
97
97
  })}
98
98
  </Tbody>
99
- </TableComposable> :
99
+ </Table> :
100
100
  <InactiveText text={__('This version is not promoted to any environments.')} />
101
101
  }
102
102
  </ExpandableSection>
@@ -1,7 +1,12 @@
1
1
  import React, { useContext, useState } from 'react';
2
2
  import { useDispatch, useSelector } from 'react-redux';
3
3
  import useDeepCompareEffect from 'use-deep-compare-effect';
4
- import { ExpandableSection, SelectOption } from '@patternfly/react-core';
4
+ import {
5
+ ExpandableSection,
6
+ } from '@patternfly/react-core';
7
+ import {
8
+ SelectOption,
9
+ } from '@patternfly/react-core/deprecated';
5
10
  import { translate as __ } from 'foremanReact/common/I18n';
6
11
  import { STATUS } from 'foremanReact/constants';
7
12
  import getContentViews from '../../ContentViewsActions';
@@ -117,7 +122,7 @@ const CVDeletionReassignActivationKeysForm = () => {
117
122
  toggleText={showActivationKeys ?
118
123
  'Hide activation keys' :
119
124
  'Show activation keys'}
120
- onToggle={expanded => setShowActivationKeys(expanded)}
125
+ onToggle={(_event, expanded) => setShowActivationKeys(expanded)}
121
126
  isExpanded={showActivationKeys}
122
127
  >
123
128
  <AffectedActivationKeys
@@ -1,7 +1,12 @@
1
1
  import React, { useState, useContext } from 'react';
2
2
  import { useDispatch, useSelector } from 'react-redux';
3
3
  import useDeepCompareEffect from 'use-deep-compare-effect';
4
- import { ExpandableSection, SelectOption } from '@patternfly/react-core';
4
+ import {
5
+ ExpandableSection,
6
+ } from '@patternfly/react-core';
7
+ import {
8
+ SelectOption,
9
+ } from '@patternfly/react-core/deprecated';
5
10
  import { translate as __ } from 'foremanReact/common/I18n';
6
11
  import { STATUS } from 'foremanReact/constants';
7
12
  import getContentViews from '../../ContentViewsActions';
@@ -117,7 +122,7 @@ const CVDeletionReassignHostsForm = () => {
117
122
  </ContentViewSelect>
118
123
  <ExpandableSection
119
124
  toggleText={showHosts ? 'Hide hosts' : 'Show hosts'}
120
- onToggle={expanded => setShowHosts(expanded)}
125
+ onToggle={(_event, expanded) => setShowHosts(expanded)}
121
126
  isExpanded={showHosts}
122
127
  >
123
128
  <AffectedHosts
@@ -36,7 +36,7 @@ const CVDeletionReview = () => {
36
36
  </Flex>
37
37
  <Flex>
38
38
  {cvEnvironments?.map(({ name, id }) =>
39
- <FlexItem key={name}><Label isTruncated color="purple" href={`/lifecycle_environments/${id}`}>{name}</Label></FlexItem>)}
39
+ <FlexItem key={name}><Label color="purple" href={`/lifecycle_environments/${id}`}>{name}</Label></FlexItem>)}
40
40
  </Flex>
41
41
  </>}
42
42
  {affectedHosts &&
@@ -45,7 +45,7 @@ const CVDeletionReview = () => {
45
45
  <Flex>
46
46
  <FlexItem><ExclamationTriangleIcon /></FlexItem>
47
47
  <FlexItem><p>{__(`${pluralize(hostResponse.length, 'host')} will be moved to content view ${selectedCVNameForHosts} in `)}</p></FlexItem>
48
- <FlexItem><Label isTruncated color="purple" href={`/lifecycle_environments/${selectedEnvForHost[0].id}`}>{selectedEnvForHost[0].name}</Label></FlexItem>
48
+ <FlexItem><Label color="purple" href={`/lifecycle_environments/${selectedEnvForHost[0].id}`}>{selectedEnvForHost[0].name}</Label></FlexItem>
49
49
  </Flex>
50
50
  </>}
51
51
  {affectedActivationKeys &&
@@ -54,7 +54,7 @@ const CVDeletionReview = () => {
54
54
  <Flex>
55
55
  <FlexItem><ExclamationTriangleIcon /></FlexItem>
56
56
  <FlexItem><p>{__(`${pluralize(akResponse.length, 'activation key')} will be moved to content view ${selectedCVNameForAK} in `)}</p></FlexItem>
57
- <FlexItem><Label isTruncated color="purple" href={`/lifecycle_environments/${selectedEnvForAK[0].id}`}>{selectedEnvForAK[0].name}</Label></FlexItem>
57
+ <FlexItem><Label color="purple" href={`/lifecycle_environments/${selectedEnvForAK[0].id}`}>{selectedEnvForAK[0].name}</Label></FlexItem>
58
58
  </Flex>
59
59
  </>}
60
60
  </>
@@ -1,5 +1,5 @@
1
1
  #content-view-delete-wizard {
2
- .pf-c-expandable-section__content {
2
+ .pf-v5-c-expandable-section__content {
3
3
  margin-bottom: 1em;
4
4
  margin-top: 1em;
5
5
  }
@@ -14,6 +14,7 @@
14
14
  "results": [
15
15
  {
16
16
  "composite": false,
17
+ "rolling": false,
17
18
  "component_ids": [],
18
19
  "default": false,
19
20
  "version_count": 4,
@@ -258,4 +259,4 @@
258
259
  }
259
260
  }
260
261
  ]
261
- }
262
+ }
@@ -113,7 +113,8 @@
113
113
  "content_view": {
114
114
  "id": 20,
115
115
  "name": "cv3",
116
- "composite": false
116
+ "composite": false,
117
+ "rolling": false
117
118
  },
118
119
  "lifecycle_environment": {
119
120
  "id": 2,
@@ -138,4 +139,4 @@
138
139
  }
139
140
  }
140
141
  ]
141
- }
142
+ }
@@ -72,9 +72,9 @@ test('Can call API for CVs and show Delete Wizard for the row', async (done) =>
72
72
  expect(queryByText(firstCV.name)).toBeNull();
73
73
  // Assert that the CV name is now showing on the screen, but wait for it to appear.
74
74
  await patientlyWaitFor(() => expect(queryByText(firstCV.name)).toBeInTheDocument());
75
- expect(getAllByLabelText('Actions')[0]).toHaveAttribute('aria-expanded', 'false');
76
- fireEvent.click(getAllByLabelText('Actions')[0]);
77
- expect(getAllByLabelText('Actions')[0]).toHaveAttribute('aria-expanded', 'true');
75
+ expect(getAllByLabelText('Kebab toggle')[0]).toHaveAttribute('aria-expanded', 'false');
76
+ fireEvent.click(getAllByLabelText('Kebab toggle')[0]);
77
+ expect(getAllByLabelText('Kebab toggle')[0]).toHaveAttribute('aria-expanded', 'true');
78
78
  fireEvent.click(getByText('Delete'));
79
79
  await patientlyWaitFor(() => expect(getAllByText('Remove versions from environments')[1]).toBeInTheDocument());
80
80
 
@@ -82,7 +82,8 @@ test('Can call API for CVs and show Delete Wizard for the row', async (done) =>
82
82
  assertNockRequest(autocompleteScope);
83
83
  assertNockRequest(envPathDeleteScope);
84
84
  assertNockRequest(cvDetailsScope);
85
- assertNockRequest(cvVersionsScope, done);
85
+ assertNockRequest(cvVersionsScope);
86
+ done();
86
87
  });
87
88
 
88
89
  test('Can open Delete wizard and delete CV with all steps', async (done) => {
@@ -152,9 +153,9 @@ test('Can open Delete wizard and delete CV with all steps', async (done) => {
152
153
  expect(queryByText(firstCV.name)).toBeNull();
153
154
  // Assert that the CV name is now showing on the screen, but wait for it to appear.
154
155
  await patientlyWaitFor(() => expect(queryByText(firstCV.name)).toBeInTheDocument());
155
- expect(getAllByLabelText('Actions')[0]).toHaveAttribute('aria-expanded', 'false');
156
- fireEvent.click(getAllByLabelText('Actions')[0]);
157
- expect(getAllByLabelText('Actions')[0]).toHaveAttribute('aria-expanded', 'true');
156
+ expect(getAllByLabelText('Kebab toggle')[0]).toHaveAttribute('aria-expanded', 'false');
157
+ fireEvent.click(getAllByLabelText('Kebab toggle')[0]);
158
+ expect(getAllByLabelText('Kebab toggle')[0]).toHaveAttribute('aria-expanded', 'true');
158
159
  fireEvent.click(getByText('Delete'));
159
160
  await patientlyWaitFor(() => {
160
161
  expect(getAllByText('Remove versions from environments')[1]).toBeInTheDocument();
@@ -223,6 +224,7 @@ test('Can open Delete wizard and delete CV with all steps', async (done) => {
223
224
  assertNockRequest(activationKeysScope);
224
225
  assertNockRequest(cVDropDownOptionsScope);
225
226
  assertNockRequest(cvDeleteScope);
226
- assertNockRequest(cvRedirectScope, done);
227
+ assertNockRequest(cvRedirectScope);
228
+ done();
227
229
  act(done);
228
230
  });
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "content_host_count": 1,
3
3
  "composite": false,
4
+ "rolling": false,
4
5
  "component_ids": [],
5
6
  "default": false,
6
7
  "version_count": 4,
@@ -245,4 +246,4 @@
245
246
  },
246
247
  "duplicate_repositories_to_publish": [],
247
248
  "errors": null
248
- }
249
+ }
@@ -1,10 +1,21 @@
1
1
  import React, { useState, useMemo } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import {
4
- Flex, Modal, ModalVariant, Select, SelectVariant,
5
- SelectOption, Checkbox, Form, FormGroup,
6
- ActionGroup, Button, Tooltip,
4
+ Flex,
5
+ Modal,
6
+ ModalVariant,
7
+ Checkbox,
8
+ Form,
9
+ FormGroup,
10
+ ActionGroup,
11
+ Button,
12
+ Tooltip,
7
13
  } from '@patternfly/react-core';
14
+ import {
15
+ Select,
16
+ SelectVariant,
17
+ SelectOption,
18
+ } from '@patternfly/react-core/deprecated';
8
19
  import { OutlinedQuestionCircleIcon } from '@patternfly/react-icons';
9
20
  import { useDispatch, useSelector, shallowEqual } from 'react-redux';
10
21
  import { translate as __ } from 'foremanReact/common/I18n';
@@ -105,7 +116,7 @@ const ComponentContentViewAddModal = ({
105
116
  id="horzontal-form-title"
106
117
  name="horizontal-form-title"
107
118
  isOpen={cvVersionSelectOpen}
108
- onToggle={isExpanded => setCvVersionSelectOpen(isExpanded)}
119
+ onToggle={(_event, isExpanded) => setCvVersionSelectOpen(isExpanded)}
109
120
  aria-label="CvVersion"
110
121
  ouiaId="select-cv-version"
111
122
  menuAppendTo="parent"
@@ -131,7 +142,7 @@ const ComponentContentViewAddModal = ({
131
142
  name="latest"
132
143
  label={__('Always update to latest version')}
133
144
  isChecked={formLatest}
134
- onChange={checked => updateLatest(checked)}
145
+ onChange={(_event, checked) => updateLatest(checked)}
135
146
  />
136
147
  <Tooltip
137
148
  position="top"
@@ -1,10 +1,24 @@
1
1
  import React, { useState } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import {
4
- Flex, Modal, ModalVariant, Select, SelectVariant,
5
- SelectOption, Checkbox, Form, FormGroup,
6
- ActionGroup, Button, Card, CardTitle, CardBody, Tooltip,
4
+ Flex,
5
+ Modal,
6
+ ModalVariant,
7
+ Checkbox,
8
+ Form,
9
+ FormGroup,
10
+ ActionGroup,
11
+ Button,
12
+ Card,
13
+ CardTitle,
14
+ CardBody,
15
+ Tooltip,
7
16
  } from '@patternfly/react-core';
17
+ import {
18
+ Select,
19
+ SelectVariant,
20
+ SelectOption,
21
+ } from '@patternfly/react-core/deprecated';
8
22
  import { OutlinedQuestionCircleIcon } from '@patternfly/react-icons';
9
23
  import { useDispatch } from 'react-redux';
10
24
  import { translate as __ } from 'foremanReact/common/I18n';
@@ -78,7 +92,7 @@ const ComponentContentViewBulkAddModal = ({ cvId, rowsToAdd, onClose }) => {
78
92
  }
79
93
  }
80
94
  isOpen={cvVersionSelectOpen === componentCvName}
81
- onToggle={isExpanded => setCvVersionSelectOpen(isExpanded ? componentCvName : '')}
95
+ onToggle={(_event, isExpanded) => setCvVersionSelectOpen(isExpanded ? componentCvName : '')}
82
96
  id={`horzontal-form-title-${componentCvName}-${cvVersionSelectOpen[componentCvName]}`}
83
97
  name="horizontal-form-title"
84
98
  aria-label={`version-select-${componentCvName}`}
@@ -106,7 +120,7 @@ const ComponentContentViewBulkAddModal = ({ cvId, rowsToAdd, onClose }) => {
106
120
  name="latest"
107
121
  label={__('Always update to latest version')}
108
122
  isChecked={selectedComponentLatest[componentCvName]}
109
- onChange={(checked) => {
123
+ onChange={(_event, checked) => {
110
124
  setSelectedComponentLatest({
111
125
  ...selectedComponentLatest,
112
126
  ...{ [componentCvName]: checked },
@@ -8,7 +8,7 @@ const ComponentEnvironments = ({ environments }) => environments.map((env, index
8
8
  style={{ margin: `4px 0 4px ${index > 0 ? '4px' : '0'}` }}
9
9
  color="purple"
10
10
  href={`/lifecycle_environments/${env.id}`}
11
- isTruncated
11
+
12
12
  >
13
13
  {env.name}
14
14
  </Label>
@@ -2,9 +2,18 @@ import React, { useState, useCallback } from 'react';
2
2
  import useDeepCompareEffect from 'use-deep-compare-effect';
3
3
  import { useDispatch, useSelector } from 'react-redux';
4
4
  import {
5
- Bullseye, Split, SplitItem, Button, ActionList,
6
- ActionListItem, Dropdown, DropdownItem, KebabToggle,
5
+ Bullseye,
6
+ Split,
7
+ SplitItem,
8
+ Button,
9
+ ActionList,
10
+ ActionListItem,
7
11
  } from '@patternfly/react-core';
12
+ import {
13
+ Dropdown,
14
+ DropdownItem,
15
+ KebabToggle,
16
+ } from '@patternfly/react-core/deprecated';
8
17
  import { TableVariant, fitContent, TableText } from '@patternfly/react-table';
9
18
  import { PencilAltIcon } from '@patternfly/react-icons';
10
19
  import { STATUS } from 'foremanReact/constants';
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "content_host_count": 0,
3
3
  "composite": true,
4
+ "rolling": false,
4
5
  "component_ids": [
5
6
  5,
6
7
  7
@@ -390,4 +391,4 @@
390
391
  "promote_or_remove_content_views": true
391
392
  },
392
393
  "errors": null
393
- }
394
+ }
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { renderWithRedux, patientlyWaitFor, fireEvent } from 'react-testing-lib-wrapper';
2
+ import { renderWithRedux, patientlyWaitFor, fireEvent, act } from 'react-testing-lib-wrapper';
3
3
  import { nockInstance, assertNockRequest, mockAutocomplete } from '../../../../../test-utils/nockWrapper';
4
4
  import api from '../../../../../services/api';
5
5
  import CONTENT_VIEWS_KEY from '../../../ContentViewsConstants';
@@ -47,7 +47,8 @@ test('Can call API and show components on page load', async (done) => {
47
47
  await patientlyWaitFor(() => expect(getByText(firstComponent.content_view.label))
48
48
  .toBeInTheDocument());
49
49
  assertNockRequest(autocompleteScope);
50
- assertNockRequest(scope, done);
50
+ assertNockRequest(scope);
51
+ done();
51
52
  });
52
53
 
53
54
  test('Can call API and show unpublished components', async (done) => {
@@ -71,7 +72,8 @@ test('Can call API and show unpublished components', async (done) => {
71
72
  expect(getAllByText('Not yet published')).toHaveLength(4);
72
73
  });
73
74
  assertNockRequest(autocompleteScope);
74
- assertNockRequest(scope, done);
75
+ assertNockRequest(scope);
76
+ done();
75
77
  });
76
78
 
77
79
  test('Can link to view environment', async () => {
@@ -150,7 +152,8 @@ test('Can search for component content views in composite view', async (done) =>
150
152
 
151
153
  assertNockRequest(autocompleteScope);
152
154
  assertNockRequest(cvComponentsScope);
153
- assertNockRequest(withSearchScope, done);
155
+ assertNockRequest(withSearchScope);
156
+ done();
154
157
  });
155
158
 
156
159
  test('Can handle no components being present', async (done) => {
@@ -183,7 +186,8 @@ test('Can handle no components being present', async (done) => {
183
186
  expect(queryByText(firstComponent.content_view.label)).toBeNull();
184
187
  await patientlyWaitFor(() => expect(queryByText('No content views to add yet')).toBeInTheDocument());
185
188
  assertNockRequest(autocompleteScope);
186
- assertNockRequest(scope, done);
189
+ assertNockRequest(scope);
190
+ done();
187
191
  });
188
192
 
189
193
  test('Can add published component views to content view with modal', async (done) => {
@@ -216,33 +220,46 @@ test('Can add published component views to content view with modal', async (done
216
220
  .reply(200, compositeCvDetails);
217
221
 
218
222
  const {
219
- getByText, getByLabelText, queryByLabelText, getAllByLabelText,
223
+ getByText, getByLabelText, queryByLabelText, getAllByLabelText, findAllByLabelText,
220
224
  } = renderWithRedux(
221
225
  <ContentViewComponents cvId={4} details={cvDetails} />,
222
226
  renderOptions,
223
227
  );
224
228
  await patientlyWaitFor(() => {
225
- expect(getAllByLabelText('Actions')[2]).toHaveAttribute('aria-expanded', 'false');
229
+ expect(getAllByLabelText('Kebab toggle')[2]).toHaveAttribute('aria-expanded', 'false');
230
+ });
231
+ await act(async () => {
232
+ await findAllByLabelText('Kebab toggle');
233
+ fireEvent.click(getAllByLabelText('Kebab toggle')[2]);
226
234
  });
227
- fireEvent.click(getAllByLabelText('Actions')[2]);
228
- expect(getAllByLabelText('Actions')[2]).toHaveAttribute('aria-expanded', 'true');
235
+
229
236
  await patientlyWaitFor(() => {
230
237
  expect(getByText('Add')).toBeInTheDocument();
231
238
  });
232
- fireEvent.click(getByText('Add'));
239
+
240
+ await act(async () => {
241
+ fireEvent.click(getByText('Add'));
242
+ });
243
+
233
244
  await patientlyWaitFor(() => {
234
245
  expect(getByText('Add content view')).toBeInTheDocument();
235
246
  });
236
- fireEvent.click(getByLabelText('add_component'));
247
+
248
+ await act(async () => {
249
+ fireEvent.click(getByLabelText('add_component'));
250
+ });
251
+
237
252
  await patientlyWaitFor(() => {
238
253
  expect(queryByLabelText('add_component')).not.toBeInTheDocument();
239
254
  });
255
+
240
256
  assertNockRequest(autocompleteScope);
241
257
  assertNockRequest(scope);
242
258
  assertNockRequest(publishedComponentVersionsScope);
243
259
  assertNockRequest(addComponentScope);
244
260
  assertNockRequest(returnScope);
245
- assertNockRequest(cvDetailsScope, done);
261
+ assertNockRequest(cvDetailsScope);
262
+ done();
246
263
  });
247
264
 
248
265
  test('Can add unpublished component views to content view', async (done) => {
@@ -274,17 +291,20 @@ test('Can add unpublished component views to content view', async (done) => {
274
291
  renderOptions,
275
292
  );
276
293
  await patientlyWaitFor(() => {
277
- expect(getAllByLabelText('Actions').slice(-1)[0]).toHaveAttribute('aria-expanded', 'false');
294
+ expect(getAllByLabelText('Kebab toggle').slice(-1)[0]).toHaveAttribute('aria-expanded', 'false');
295
+ });
296
+ await act(async () => {
297
+ fireEvent.click(getAllByLabelText('Kebab toggle').slice(-1)[0]);
278
298
  });
279
- fireEvent.click(getAllByLabelText('Actions').slice(-1)[0]);
280
- expect(getAllByLabelText('Actions').slice(-1)[0]).toHaveAttribute('aria-expanded', 'true');
299
+ expect(getAllByLabelText('Kebab toggle').slice(-1)[0]).toHaveAttribute('aria-expanded', 'true');
281
300
  await patientlyWaitFor(() => expect(getByText('Add')).toBeInTheDocument());
282
301
  fireEvent.click(getByText('Add'));
283
302
  assertNockRequest(autocompleteScope);
284
303
  assertNockRequest(scope);
285
304
  assertNockRequest(addComponentScope);
286
305
  assertNockRequest(returnScope);
287
- assertNockRequest(cvDetailsScope, done);
306
+ assertNockRequest(cvDetailsScope);
307
+ done();
288
308
  });
289
309
 
290
310
  test('Can remove component views from content view', async (done) => {
@@ -316,17 +336,20 @@ test('Can remove component views from content view', async (done) => {
316
336
  renderOptions,
317
337
  );
318
338
  await patientlyWaitFor(() => {
319
- expect(getAllByLabelText('Actions')[0]).toHaveAttribute('aria-expanded', 'false');
339
+ expect(getAllByLabelText('Kebab toggle')[0]).toHaveAttribute('aria-expanded', 'false');
320
340
  });
321
- fireEvent.click(getAllByLabelText('Actions')[0]);
322
- expect(getAllByLabelText('Actions')[0]).toHaveAttribute('aria-expanded', 'true');
341
+ await act(async () => {
342
+ fireEvent.click(getAllByLabelText('Kebab toggle')[0]);
343
+ });
344
+ expect(getAllByLabelText('Kebab toggle')[0]).toHaveAttribute('aria-expanded', 'true');
323
345
  await patientlyWaitFor(() => expect(getByText('Remove')).toBeInTheDocument());
324
346
  fireEvent.click(getByText('Remove'));
325
347
  assertNockRequest(autocompleteScope);
326
348
  assertNockRequest(scope);
327
349
  assertNockRequest(removeComponentScope);
328
350
  assertNockRequest(returnScope);
329
- assertNockRequest(cvDetailsScope, done);
351
+ assertNockRequest(cvDetailsScope);
352
+ done();
330
353
  });
331
354
 
332
355
  test('Can bulk add component views to content view with modal', async (done) => {
@@ -363,20 +386,38 @@ test('Can bulk add component views to content view with modal', async (done) =>
363
386
  expect(getByLabelText('Select row 2')).toBeInTheDocument();
364
387
  expect(getByLabelText('bulk_add_components')).toHaveAttribute('aria-disabled', 'true');
365
388
  });
366
- fireEvent.click(getByLabelText('Select row 2'));
367
- fireEvent.click(getByLabelText('Select row 3'));
389
+ await act(async () => {
390
+ fireEvent.click(getByLabelText('Select row 2'));
391
+ });
392
+
393
+ await act(async () => {
394
+ fireEvent.click(getByLabelText('Select row 3'));
395
+ });
396
+
368
397
  await patientlyWaitFor(() => {
369
398
  expect(getByLabelText('bulk_add_components')).toHaveAttribute('aria-disabled', 'false');
370
399
  });
371
- fireEvent.click(getByLabelText('bulk_add_components'));
400
+
401
+ await act(async () => {
402
+ fireEvent.click(getByLabelText('bulk_add_components'));
403
+ });
404
+
372
405
  await patientlyWaitFor(() => {
373
406
  expect(getAllByText('Add content views')[1]).toBeInTheDocument();
374
407
  expect(getAllByRole('textbox')[0]).toHaveValue('Version 4.0 (3 days ago)');
375
408
  });
376
- fireEvent.click(getAllByRole('textbox')[0]);
377
- fireEvent.click(queryByText('Version 3.0'));
378
409
 
379
- fireEvent.click(getByLabelText('add_components'));
410
+ await act(async () => {
411
+ fireEvent.click(getAllByRole('textbox')[0]);
412
+ });
413
+
414
+ await act(async () => {
415
+ fireEvent.click(queryByText('Version 3.0'));
416
+ });
417
+
418
+ await act(async () => {
419
+ fireEvent.click(getByLabelText('add_components'));
420
+ });
380
421
  await patientlyWaitFor(() => {
381
422
  expect(queryByText('Select available version of content views to use')).not.toBeInTheDocument();
382
423
  expect(getByLabelText('bulk_add_components')).toHaveAttribute('aria-disabled', 'false');
@@ -386,5 +427,6 @@ test('Can bulk add component views to content view with modal', async (done) =>
386
427
  assertNockRequest(scope);
387
428
  assertNockRequest(addComponentScope);
388
429
  assertNockRequest(returnScope);
389
- assertNockRequest(cvDetailsScope, done);
430
+ assertNockRequest(cvDetailsScope);
431
+ done();
390
432
  });
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "content_host_count": 0,
3
3
  "composite": false,
4
+ "rolling": false,
4
5
  "component_ids": [],
5
6
  "default": false,
6
7
  "version_count": 33,
@@ -210,4 +211,4 @@
210
211
  },
211
212
  "duplicate_repositories_to_publish": [],
212
213
  "errors": null
213
- }
214
+ }