katello 4.16.1 → 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 (557) 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 +82 -31
  4. data/app/assets/javascripts/katello/locale/bn_IN/katello.js +82 -31
  5. data/app/assets/javascripts/katello/locale/ca/katello.js +82 -31
  6. data/app/assets/javascripts/katello/locale/cs/katello.js +82 -31
  7. data/app/assets/javascripts/katello/locale/cs_CZ/katello.js +83 -32
  8. data/app/assets/javascripts/katello/locale/de/katello.js +82 -31
  9. data/app/assets/javascripts/katello/locale/de_AT/katello.js +82 -31
  10. data/app/assets/javascripts/katello/locale/de_DE/katello.js +82 -31
  11. data/app/assets/javascripts/katello/locale/el/katello.js +82 -31
  12. data/app/assets/javascripts/katello/locale/en/katello.js +82 -31
  13. data/app/assets/javascripts/katello/locale/en_GB/katello.js +84 -33
  14. data/app/assets/javascripts/katello/locale/en_US/katello.js +82 -31
  15. data/app/assets/javascripts/katello/locale/es/katello.js +82 -31
  16. data/app/assets/javascripts/katello/locale/et_EE/katello.js +82 -31
  17. data/app/assets/javascripts/katello/locale/fr/katello.js +83 -32
  18. data/app/assets/javascripts/katello/locale/gl/katello.js +82 -31
  19. data/app/assets/javascripts/katello/locale/gu/katello.js +83 -32
  20. data/app/assets/javascripts/katello/locale/he_IL/katello.js +82 -31
  21. data/app/assets/javascripts/katello/locale/hi/katello.js +82 -31
  22. data/app/assets/javascripts/katello/locale/id/katello.js +82 -31
  23. data/app/assets/javascripts/katello/locale/it/katello.js +84 -33
  24. data/app/assets/javascripts/katello/locale/ja/katello.js +83 -32
  25. data/app/assets/javascripts/katello/locale/ka/katello.js +82 -31
  26. data/app/assets/javascripts/katello/locale/kn/katello.js +82 -31
  27. data/app/assets/javascripts/katello/locale/ko/katello.js +82 -31
  28. data/app/assets/javascripts/katello/locale/ml_IN/katello.js +82 -31
  29. data/app/assets/javascripts/katello/locale/mr/katello.js +82 -31
  30. data/app/assets/javascripts/katello/locale/nl_NL/katello.js +82 -31
  31. data/app/assets/javascripts/katello/locale/or/katello.js +82 -31
  32. data/app/assets/javascripts/katello/locale/pa/katello.js +82 -31
  33. data/app/assets/javascripts/katello/locale/pl/katello.js +83 -32
  34. data/app/assets/javascripts/katello/locale/pl_PL/katello.js +82 -31
  35. data/app/assets/javascripts/katello/locale/pt/katello.js +82 -31
  36. data/app/assets/javascripts/katello/locale/pt_BR/katello.js +82 -31
  37. data/app/assets/javascripts/katello/locale/ro/katello.js +82 -31
  38. data/app/assets/javascripts/katello/locale/ro_RO/katello.js +82 -31
  39. data/app/assets/javascripts/katello/locale/ru/katello.js +84 -33
  40. data/app/assets/javascripts/katello/locale/sl/katello.js +82 -31
  41. data/app/assets/javascripts/katello/locale/sv_SE/katello.js +83 -32
  42. data/app/assets/javascripts/katello/locale/ta/katello.js +82 -31
  43. data/app/assets/javascripts/katello/locale/ta_IN/katello.js +82 -31
  44. data/app/assets/javascripts/katello/locale/te/katello.js +82 -31
  45. data/app/assets/javascripts/katello/locale/tr/katello.js +82 -31
  46. data/app/assets/javascripts/katello/locale/vi/katello.js +82 -31
  47. data/app/assets/javascripts/katello/locale/vi_VN/katello.js +82 -31
  48. data/app/assets/javascripts/katello/locale/zh/katello.js +82 -31
  49. data/app/assets/javascripts/katello/locale/zh_CN/katello.js +83 -32
  50. data/app/assets/javascripts/katello/locale/zh_TW/katello.js +84 -33
  51. data/app/controllers/katello/api/registry/registry_proxies_controller.rb +19 -3
  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/20241022122325_add_rolling_to_katello_content_views.rb +5 -0
  112. data/db/migrate/20241025151105_remove_pulp3_migrated_hrefs_from_content_tables.rb +1 -1
  113. data/db/migrate/20250215143303_drop_katello_yum_metadata_file.rb +5 -0
  114. data/db/migrate/20250409120843_fix_file_download_policy.rb +11 -0
  115. data/db/migrate/20250410155300_change_ansible_templates_category.rb +22 -0
  116. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/bastion_katello.pot +4 -0
  117. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/bn.po +90 -31
  118. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/bn_IN.po +90 -31
  119. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ca.po +90 -31
  120. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/cs_CZ.po +90 -31
  121. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de.po +93 -60
  122. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de_AT.po +90 -31
  123. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de_DE.po +90 -31
  124. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/el.po +90 -31
  125. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/en_GB.po +94 -35
  126. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/en_US.po +90 -31
  127. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/es.po +93 -40
  128. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/et_EE.po +90 -31
  129. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/fr.po +254 -192
  130. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/gl.po +90 -31
  131. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/gu.po +90 -31
  132. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/he_IL.po +90 -31
  133. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/hi.po +90 -31
  134. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/id.po +90 -31
  135. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/it.po +90 -35
  136. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ja.po +113 -52
  137. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ka.po +93 -34
  138. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/kn.po +90 -31
  139. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ko.po +101 -40
  140. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ml_IN.po +90 -31
  141. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/mr.po +90 -31
  142. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/nl_NL.po +90 -31
  143. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/or.po +90 -31
  144. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pa.po +90 -31
  145. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pl.po +90 -31
  146. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pl_PL.po +90 -31
  147. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt.po +90 -31
  148. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt_BR.po +93 -40
  149. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ro.po +90 -31
  150. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ro_RO.po +90 -31
  151. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ru.po +91 -34
  152. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/sl.po +90 -31
  153. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/sv_SE.po +90 -31
  154. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ta.po +90 -31
  155. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ta_IN.po +90 -31
  156. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/te.po +90 -31
  157. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/tr.po +90 -31
  158. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/vi.po +90 -31
  159. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/vi_VN.po +90 -31
  160. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh.po +90 -31
  161. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_CN.po +99 -40
  162. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_TW.po +92 -33
  163. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/translations.js +14 -14
  164. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repository-types.service.js +3 -0
  165. data/lib/katello/engine.rb +9 -1
  166. data/lib/katello/repository_types/python.rb +1 -1
  167. data/lib/katello/tasks/repository.rake +1 -1
  168. data/lib/katello/version.rb +1 -1
  169. data/locale/action_names.rb +186 -0
  170. data/locale/bn/LC_MESSAGES/katello.mo +0 -0
  171. data/locale/bn/katello.po +82 -31
  172. data/locale/bn/katello.po.time_stamp +0 -0
  173. data/locale/bn_IN/LC_MESSAGES/katello.mo +0 -0
  174. data/locale/bn_IN/katello.po +82 -31
  175. data/locale/bn_IN/katello.po.time_stamp +0 -0
  176. data/locale/ca/LC_MESSAGES/katello.mo +0 -0
  177. data/locale/ca/katello.po +82 -31
  178. data/locale/ca/katello.po.time_stamp +0 -0
  179. data/locale/cs/LC_MESSAGES/katello.mo +0 -0
  180. data/locale/cs/katello.po +82 -31
  181. data/locale/cs/katello.po.time_stamp +0 -0
  182. data/locale/cs_CZ/LC_MESSAGES/katello.mo +0 -0
  183. data/locale/cs_CZ/katello.po +83 -32
  184. data/locale/cs_CZ/katello.po.time_stamp +0 -0
  185. data/locale/de/LC_MESSAGES/katello.mo +0 -0
  186. data/locale/de/katello.po +82 -31
  187. data/locale/de/katello.po.time_stamp +0 -0
  188. data/locale/de_AT/LC_MESSAGES/katello.mo +0 -0
  189. data/locale/de_AT/katello.po +82 -31
  190. data/locale/de_AT/katello.po.time_stamp +0 -0
  191. data/locale/de_DE/LC_MESSAGES/katello.mo +0 -0
  192. data/locale/de_DE/katello.po +82 -31
  193. data/locale/de_DE/katello.po.time_stamp +0 -0
  194. data/locale/el/LC_MESSAGES/katello.mo +0 -0
  195. data/locale/el/katello.po +82 -31
  196. data/locale/el/katello.po.time_stamp +0 -0
  197. data/locale/en/LC_MESSAGES/katello.mo +0 -0
  198. data/locale/en/katello.po +82 -31
  199. data/locale/en/katello.po.time_stamp +0 -0
  200. data/locale/en_GB/LC_MESSAGES/katello.mo +0 -0
  201. data/locale/en_GB/katello.po +84 -33
  202. data/locale/en_GB/katello.po.time_stamp +0 -0
  203. data/locale/en_US/LC_MESSAGES/katello.mo +0 -0
  204. data/locale/en_US/katello.po +82 -31
  205. data/locale/en_US/katello.po.time_stamp +0 -0
  206. data/locale/es/LC_MESSAGES/katello.mo +0 -0
  207. data/locale/es/katello.po +82 -31
  208. data/locale/es/katello.po.time_stamp +0 -0
  209. data/locale/et_EE/LC_MESSAGES/katello.mo +0 -0
  210. data/locale/et_EE/katello.po +82 -31
  211. data/locale/et_EE/katello.po.time_stamp +0 -0
  212. data/locale/fr/LC_MESSAGES/katello.mo +0 -0
  213. data/locale/fr/katello.po +83 -32
  214. data/locale/fr/katello.po.time_stamp +0 -0
  215. data/locale/gl/LC_MESSAGES/katello.mo +0 -0
  216. data/locale/gl/katello.po +82 -31
  217. data/locale/gl/katello.po.time_stamp +0 -0
  218. data/locale/gu/LC_MESSAGES/katello.mo +0 -0
  219. data/locale/gu/katello.po +84 -33
  220. data/locale/gu/katello.po.time_stamp +0 -0
  221. data/locale/he_IL/LC_MESSAGES/katello.mo +0 -0
  222. data/locale/he_IL/katello.po +82 -31
  223. data/locale/he_IL/katello.po.time_stamp +0 -0
  224. data/locale/hi/LC_MESSAGES/katello.mo +0 -0
  225. data/locale/hi/katello.po +82 -31
  226. data/locale/hi/katello.po.time_stamp +0 -0
  227. data/locale/id/LC_MESSAGES/katello.mo +0 -0
  228. data/locale/id/katello.po +82 -31
  229. data/locale/id/katello.po.time_stamp +0 -0
  230. data/locale/it/LC_MESSAGES/katello.mo +0 -0
  231. data/locale/it/katello.po +85 -34
  232. data/locale/it/katello.po.time_stamp +0 -0
  233. data/locale/ja/LC_MESSAGES/katello.mo +0 -0
  234. data/locale/ja/katello.po +83 -32
  235. data/locale/ja/katello.po.time_stamp +0 -0
  236. data/locale/ka/LC_MESSAGES/katello.mo +0 -0
  237. data/locale/ka/katello.po +82 -31
  238. data/locale/ka/katello.po.time_stamp +0 -0
  239. data/locale/katello.pot +1232 -1140
  240. data/locale/kn/LC_MESSAGES/katello.mo +0 -0
  241. data/locale/kn/katello.po +82 -31
  242. data/locale/kn/katello.po.time_stamp +0 -0
  243. data/locale/ko/LC_MESSAGES/katello.mo +0 -0
  244. data/locale/ko/katello.po +82 -31
  245. data/locale/ko/katello.po.time_stamp +0 -0
  246. data/locale/ml_IN/LC_MESSAGES/katello.mo +0 -0
  247. data/locale/ml_IN/katello.po +82 -31
  248. data/locale/ml_IN/katello.po.time_stamp +0 -0
  249. data/locale/mr/LC_MESSAGES/katello.mo +0 -0
  250. data/locale/mr/katello.po +82 -31
  251. data/locale/mr/katello.po.time_stamp +0 -0
  252. data/locale/nl_NL/LC_MESSAGES/katello.mo +0 -0
  253. data/locale/nl_NL/katello.po +82 -31
  254. data/locale/nl_NL/katello.po.time_stamp +0 -0
  255. data/locale/or/LC_MESSAGES/katello.mo +0 -0
  256. data/locale/or/katello.po +82 -31
  257. data/locale/or/katello.po.time_stamp +0 -0
  258. data/locale/pa/LC_MESSAGES/katello.mo +0 -0
  259. data/locale/pa/katello.po +82 -31
  260. data/locale/pa/katello.po.time_stamp +0 -0
  261. data/locale/pl/LC_MESSAGES/katello.mo +0 -0
  262. data/locale/pl/katello.po +84 -33
  263. data/locale/pl/katello.po.time_stamp +0 -0
  264. data/locale/pl_PL/LC_MESSAGES/katello.mo +0 -0
  265. data/locale/pl_PL/katello.po +82 -31
  266. data/locale/pl_PL/katello.po.time_stamp +0 -0
  267. data/locale/pt/LC_MESSAGES/katello.mo +0 -0
  268. data/locale/pt/katello.po +82 -31
  269. data/locale/pt/katello.po.time_stamp +0 -0
  270. data/locale/pt_BR/LC_MESSAGES/katello.mo +0 -0
  271. data/locale/pt_BR/katello.po +82 -31
  272. data/locale/pt_BR/katello.po.time_stamp +0 -0
  273. data/locale/ro/LC_MESSAGES/katello.mo +0 -0
  274. data/locale/ro/katello.po +82 -31
  275. data/locale/ro/katello.po.time_stamp +0 -0
  276. data/locale/ro_RO/LC_MESSAGES/katello.mo +0 -0
  277. data/locale/ro_RO/katello.po +82 -31
  278. data/locale/ro_RO/katello.po.time_stamp +0 -0
  279. data/locale/ru/LC_MESSAGES/katello.mo +0 -0
  280. data/locale/ru/katello.po +85 -34
  281. data/locale/ru/katello.po.time_stamp +0 -0
  282. data/locale/sl/LC_MESSAGES/katello.mo +0 -0
  283. data/locale/sl/katello.po +82 -31
  284. data/locale/sl/katello.po.time_stamp +0 -0
  285. data/locale/sv_SE/LC_MESSAGES/katello.mo +0 -0
  286. data/locale/sv_SE/katello.po +84 -33
  287. data/locale/sv_SE/katello.po.time_stamp +0 -0
  288. data/locale/ta/LC_MESSAGES/katello.mo +0 -0
  289. data/locale/ta/katello.po +82 -31
  290. data/locale/ta/katello.po.time_stamp +0 -0
  291. data/locale/ta_IN/LC_MESSAGES/katello.mo +0 -0
  292. data/locale/ta_IN/katello.po +82 -31
  293. data/locale/ta_IN/katello.po.time_stamp +0 -0
  294. data/locale/te/LC_MESSAGES/katello.mo +0 -0
  295. data/locale/te/katello.po +82 -31
  296. data/locale/te/katello.po.time_stamp +0 -0
  297. data/locale/tr/LC_MESSAGES/katello.mo +0 -0
  298. data/locale/tr/katello.po +82 -31
  299. data/locale/tr/katello.po.time_stamp +0 -0
  300. data/locale/vi/LC_MESSAGES/katello.mo +0 -0
  301. data/locale/vi/katello.po +82 -31
  302. data/locale/vi/katello.po.time_stamp +0 -0
  303. data/locale/vi_VN/LC_MESSAGES/katello.mo +0 -0
  304. data/locale/vi_VN/katello.po +82 -31
  305. data/locale/vi_VN/katello.po.time_stamp +0 -0
  306. data/locale/zh/LC_MESSAGES/katello.mo +0 -0
  307. data/locale/zh/katello.po +82 -31
  308. data/locale/zh/katello.po.time_stamp +0 -0
  309. data/locale/zh_CN/LC_MESSAGES/katello.mo +0 -0
  310. data/locale/zh_CN/katello.po +83 -32
  311. data/locale/zh_CN/katello.po.time_stamp +0 -0
  312. data/locale/zh_TW/LC_MESSAGES/katello.mo +0 -0
  313. data/locale/zh_TW/katello.po +85 -34
  314. data/locale/zh_TW/katello.po.time_stamp +0 -0
  315. data/webpack/ForemanColumnExtensions/index.js +12 -4
  316. data/webpack/components/ActivationKeysSearch/index.js +6 -7
  317. data/webpack/components/Bookmark/AddBookmarkModal.js +3 -3
  318. data/webpack/components/Bookmark/Bookmark.scss +3 -3
  319. data/webpack/components/Bookmark/index.js +7 -2
  320. data/webpack/components/EditableSwitch.js +1 -1
  321. data/webpack/components/EditableTextInput/EditableTextInput.js +1 -1
  322. data/webpack/components/EditableTextInput/editableTextInput.scss +1 -1
  323. data/webpack/components/Errata/index.js +1 -24
  324. data/webpack/components/Loading.js +10 -6
  325. data/webpack/components/Packages/index.js +2 -1
  326. data/webpack/components/SelectAllCheckbox/index.js +7 -3
  327. data/webpack/components/SelectableDropdown/SelectableDropdown.js +21 -3
  328. data/webpack/components/Table/EmptyStateMessage.js +12 -14
  329. data/webpack/components/Table/MainTable.js +8 -7
  330. data/webpack/components/Table/MainTable.scss +4 -4
  331. data/webpack/components/extensions/HostDetails/ActionsBar/index.js +4 -1
  332. data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/ChangeHostCVModal.js +1 -1
  333. data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/ContentViewDetailsCard.js +9 -6
  334. data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/__tests__/changeHostCVModal.test.js +2 -1
  335. data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/__tests__/contentViews.fixtures.json +4 -1
  336. data/webpack/components/extensions/HostDetails/Cards/ErrataOverviewCard.js +23 -6
  337. data/webpack/components/extensions/HostDetails/Cards/ErrataOverviewCard.scss +1 -1
  338. data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/HostCollectionsCard.js +5 -3
  339. data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/HostCollectionsCard.scss +3 -3
  340. data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/HostCollectionsModal.js +1 -1
  341. data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/__tests__/hostCollectionsModal.test.js +25 -10
  342. data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeCard.js +5 -2
  343. data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeCard.scss +2 -2
  344. data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeEditModal.js +5 -4
  345. data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/__tests__/SystemPurposeCard.test.js +6 -3
  346. data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/__tests__/SystemPurposeEditModal.test.js +19 -12
  347. data/webpack/components/extensions/HostDetails/Cards/__tests__/errataOverviewCard.test.js +1 -1
  348. data/webpack/components/extensions/HostDetails/DetailsTabCards/HwPropertiesCard.js +1 -4
  349. data/webpack/components/extensions/HostDetails/DetailsTabCards/ImageModeCard.js +1 -4
  350. data/webpack/components/extensions/HostDetails/DetailsTabCards/InstalledProductsCard.js +1 -4
  351. data/webpack/components/extensions/HostDetails/DetailsTabCards/__test__/HwPropertiesCard.test.js +63 -0
  352. data/webpack/components/extensions/HostDetails/DetailsTabCards/__test__/ImageModeCard.test.js +73 -0
  353. data/webpack/components/extensions/HostDetails/DetailsTabCards/__test__/InstalledProductsCard.test.js +45 -0
  354. data/webpack/components/extensions/HostDetails/Tabs/DebsTab/DebInstallModal.js +12 -2
  355. data/webpack/components/extensions/HostDetails/Tabs/DebsTab/DebInstallModal.scss +1 -1
  356. data/webpack/components/extensions/HostDetails/Tabs/DebsTab/DebsTab.js +10 -13
  357. data/webpack/components/extensions/HostDetails/Tabs/DebsTab/DebsTab.scss +1 -1
  358. data/webpack/components/extensions/HostDetails/Tabs/ErrataTab/ErrataTab.js +46 -21
  359. data/webpack/components/extensions/HostDetails/Tabs/ErrataTab/ErrataTab.scss +1 -1
  360. data/webpack/components/extensions/HostDetails/Tabs/ModuleStreamsTab/ModuleStreamsTab.js +15 -7
  361. data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackageInstallModal.js +13 -3
  362. data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackageInstallModal.scss +1 -1
  363. data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackagesTab.js +34 -20
  364. data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackagesTab.scss +1 -1
  365. data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsTab.js +8 -6
  366. data/webpack/components/extensions/HostDetails/Tabs/TracesTab/EnableTracerModal.js +5 -3
  367. data/webpack/components/extensions/HostDetails/Tabs/TracesTab/EnableTracerModal.scss +1 -1
  368. data/webpack/components/extensions/HostDetails/Tabs/TracesTab/TracesEnabler.js +12 -13
  369. data/webpack/components/extensions/HostDetails/Tabs/TracesTab/TracesTab.js +16 -6
  370. data/webpack/components/extensions/HostDetails/Tabs/__tests__/debsInstallModal.test.js +10 -5
  371. data/webpack/components/extensions/HostDetails/Tabs/__tests__/debsTab.test.js +48 -22
  372. data/webpack/components/extensions/HostDetails/Tabs/__tests__/errataTab.test.js +123 -47
  373. data/webpack/components/extensions/HostDetails/Tabs/__tests__/moduleStreamsTab.test.js +14 -7
  374. data/webpack/components/extensions/HostDetails/Tabs/__tests__/packageInstallModal.test.js +10 -5
  375. data/webpack/components/extensions/HostDetails/Tabs/__tests__/packagesTab.test.js +41 -24
  376. data/webpack/components/extensions/HostDetails/Tabs/__tests__/repositorySetsTab.test.js +50 -25
  377. data/webpack/components/extensions/HostDetails/Tabs/__tests__/tracesTab.test.js +50 -25
  378. data/webpack/components/extensions/HostDetails/hostDetailsHelpers.js +3 -0
  379. data/webpack/components/extensions/Hosts/BulkActions/BulkErrataWizard/04_Review.js +16 -2
  380. data/webpack/components/extensions/Hosts/BulkActions/BulkErrataWizard/04_ReviewFooter.js +6 -2
  381. data/webpack/components/extensions/Hosts/BulkActions/BulkErrataWizard/BulkErrataWizard.js +5 -1
  382. data/webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/04_Review.js +16 -2
  383. data/webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/04_ReviewFooter.js +6 -2
  384. data/webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/BulkPackagesWizard.js +15 -2
  385. data/webpack/components/extensions/Hosts/BulkActions/HostReview.js +1 -1
  386. data/webpack/components/extensions/Hosts/BulkActions/__tests__/bulkChangeHostCVModal.test.js +2 -1
  387. data/webpack/components/extensions/Hosts/FontAwesomeImageModeIcon.js +1 -1
  388. data/webpack/components/extensions/Hosts/ImageModeHostAlert.js +14 -0
  389. data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/ActivationKeys.test.js.snap +14 -17
  390. data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/Force.test.js.snap +1 -1
  391. data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/IgnoreSubmanErrors.test.js.snap +1 -1
  392. data/webpack/components/extensions/RegistrationCommands/fields/ActivationKeys.js +38 -49
  393. data/webpack/containers/Application/overrides.scss +7 -7
  394. data/webpack/ouia_id_check.js +15 -11
  395. data/webpack/redux/actions/RedHatRepositories/helpers.js +0 -2
  396. data/webpack/scenes/ActivationKeys/Details/__tests__/activationKeyDetails.test.js +12 -6
  397. data/webpack/scenes/ActivationKeys/Details/components/DeleteMenu.js +12 -2
  398. data/webpack/scenes/ActivationKeys/Details/components/EditModal.js +3 -3
  399. data/webpack/scenes/AlternateContentSources/Create/ACSCreateWizard.js +3 -1
  400. data/webpack/scenes/AlternateContentSources/Create/Steps/ACSCreateFinish.js +3 -1
  401. data/webpack/scenes/AlternateContentSources/Create/Steps/ACSCredentials.js +12 -6
  402. data/webpack/scenes/AlternateContentSources/Create/Steps/ACSSmartProxies.js +1 -1
  403. data/webpack/scenes/AlternateContentSources/Create/Steps/AcsUrlPaths.js +22 -7
  404. data/webpack/scenes/AlternateContentSources/Create/Steps/NameACS.js +2 -2
  405. data/webpack/scenes/AlternateContentSources/Create/Steps/SelectSource.js +1 -1
  406. data/webpack/scenes/AlternateContentSources/Create/__tests__/acsCreate.test.js +6 -3
  407. data/webpack/scenes/AlternateContentSources/Details/ACSExpandableDetails.js +25 -15
  408. data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditCredentials.js +9 -6
  409. data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditDetails.js +2 -2
  410. data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditSmartProxies.js +1 -1
  411. data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditURLPaths.js +33 -7
  412. data/webpack/scenes/AlternateContentSources/Details/__tests__/ACSEdits.test.js +10 -5
  413. data/webpack/scenes/AlternateContentSources/Details/__tests__/ACSExpandableDetails.test.js +4 -2
  414. data/webpack/scenes/AlternateContentSources/MainTable/ACSTable.js +10 -8
  415. data/webpack/scenes/AlternateContentSources/MainTable/__tests__/acsTable.test.js +4 -2
  416. data/webpack/scenes/BootedContainerImages/BootedContainerImagesPage.js +5 -5
  417. data/webpack/scenes/Content/Details/__tests__/contentDetail.test.js +8 -4
  418. data/webpack/scenes/Content/__tests__/contentTable.test.js +4 -2
  419. data/webpack/scenes/ContentViews/Copy/CopyContentViewForm.js +1 -1
  420. data/webpack/scenes/ContentViews/Copy/__tests__/contentViewCopyResult.fixtures.json +1 -0
  421. data/webpack/scenes/ContentViews/Copy/__tests__/copyContentView.test.js +2 -1
  422. data/webpack/scenes/ContentViews/Create/CreateContentViewForm.js +86 -31
  423. data/webpack/scenes/ContentViews/Create/CreateContentViewForm.scss +10 -2
  424. data/webpack/scenes/ContentViews/Create/__tests__/contentViewCreateResult.fixtures.json +1 -0
  425. data/webpack/scenes/ContentViews/Create/__tests__/createContentView.test.js +10 -4
  426. data/webpack/scenes/ContentViews/Delete/ContentViewDeleteWizard.js +3 -1
  427. data/webpack/scenes/ContentViews/Delete/Steps/CVDeleteEnvironmentsSelection.js +6 -6
  428. data/webpack/scenes/ContentViews/Delete/Steps/CVDeletionReassignActivationKeysForm.js +7 -2
  429. data/webpack/scenes/ContentViews/Delete/Steps/CVDeletionReassignHostsForm.js +7 -2
  430. data/webpack/scenes/ContentViews/Delete/Steps/CVDeletionReview.js +3 -3
  431. data/webpack/scenes/ContentViews/Delete/Steps/CVEnvironmentSelectionForm.scss +1 -1
  432. data/webpack/scenes/ContentViews/Delete/__tests__/CvData.fixtures.json +2 -1
  433. data/webpack/scenes/ContentViews/Delete/__tests__/affectedHosts.fixtures.json +3 -2
  434. data/webpack/scenes/ContentViews/Delete/__tests__/contentViewDelete.test.js +10 -8
  435. data/webpack/scenes/ContentViews/Delete/__tests__/cvDetails.fixtures.json +2 -1
  436. data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentContentViewAddModal.js +16 -5
  437. data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentContentViewBulkAddModal.js +19 -5
  438. data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentEnvironments.js +1 -1
  439. data/webpack/scenes/ContentViews/Details/ComponentContentViews/ContentViewComponents.js +11 -2
  440. data/webpack/scenes/ContentViews/Details/ComponentContentViews/__tests__/compositeCVDetails.fixtures.json +2 -1
  441. data/webpack/scenes/ContentViews/Details/ComponentContentViews/__tests__/contentViewComponents.test.js +69 -27
  442. data/webpack/scenes/ContentViews/Details/ComponentContentViews/__tests__/publishedContentViewDetails.fixtures.json +2 -1
  443. data/webpack/scenes/ContentViews/Details/ContentViewDetails.js +22 -29
  444. data/webpack/scenes/ContentViews/Details/ContentViewInfo.js +6 -2
  445. data/webpack/scenes/ContentViews/Details/Filters/Add/CVFilterAddModal.js +20 -7
  446. data/webpack/scenes/ContentViews/Details/Filters/Add/__tests__/cvFilterAdd.test.js +4 -2
  447. data/webpack/scenes/ContentViews/Details/Filters/AffectedRepositories/AffectedRepositorySelection.js +5 -2
  448. data/webpack/scenes/ContentViews/Details/Filters/AffectedRepositories/AffectedRepositoryTable.js +3 -1
  449. data/webpack/scenes/ContentViews/Details/Filters/ArtifactsWithNoErrata.js +1 -1
  450. data/webpack/scenes/ContentViews/Details/Filters/CVContainerImageFilterContent.js +4 -2
  451. data/webpack/scenes/ContentViews/Details/Filters/CVDebFilterContent.js +13 -1
  452. data/webpack/scenes/ContentViews/Details/Filters/CVErrataDateFilterContent.js +23 -7
  453. data/webpack/scenes/ContentViews/Details/Filters/CVErrataIDFilterContent.js +23 -5
  454. data/webpack/scenes/ContentViews/Details/Filters/CVModuleStreamFilterContent.js +15 -3
  455. data/webpack/scenes/ContentViews/Details/Filters/CVPackageGroupFilterContent.js +15 -3
  456. data/webpack/scenes/ContentViews/Details/Filters/CVRpmFilterContent.js +13 -1
  457. data/webpack/scenes/ContentViews/Details/Filters/ContentViewFilterDetailsHeader.js +6 -4
  458. data/webpack/scenes/ContentViews/Details/Filters/ContentViewFilters.js +11 -1
  459. data/webpack/scenes/ContentViews/Details/Filters/MatchContentModal/__tests__/CVRpmMatchContentModal.test.js +4 -2
  460. data/webpack/scenes/ContentViews/Details/Filters/MatchContentModal/matchContentModal.scss +1 -1
  461. data/webpack/scenes/ContentViews/Details/Filters/Rules/DebPackage/AddEditDebPackageRuleModal.js +2 -2
  462. data/webpack/scenes/ContentViews/Details/Filters/Rules/Package/AddEditPackageRuleModal.js +4 -4
  463. data/webpack/scenes/ContentViews/Details/Filters/__tests__/CVContainerImageFilterContent.test.js +18 -12
  464. data/webpack/scenes/ContentViews/Details/Filters/__tests__/CVRpmFilterContent.test.js +7 -11
  465. data/webpack/scenes/ContentViews/Details/Filters/__tests__/ContentViewPackageGroupFilter.test.js +81 -70
  466. data/webpack/scenes/ContentViews/Details/Filters/__tests__/contentViewErrataByDateDetails.fixtures.json +1 -0
  467. data/webpack/scenes/ContentViews/Details/Filters/__tests__/contentViewFilterDetails.test.js +4 -2
  468. data/webpack/scenes/ContentViews/Details/Filters/__tests__/contentViewFilters.test.js +52 -38
  469. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvErrataDateFilterContent.test.js +9 -4
  470. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvErrataIDFilter.test.js +18 -12
  471. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvErratumFilterDetails.fixtures.json +1 -0
  472. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvFilterDetailModuleAffectedRepos.fixtures.json +1 -0
  473. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvFilterDetailWithAffectedRepos.fixtures.json +1 -0
  474. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvFilterFixutre.fixture.json +2 -1
  475. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvModuleStreamFilter.test.js +77 -67
  476. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvModuleStreamFilterDetails.fixtures.json +1 -0
  477. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvPackageFilterDetail.fixtures.json +1 -0
  478. data/webpack/scenes/ContentViews/Details/Histories/ContentViewHistories.js +2 -2
  479. data/webpack/scenes/ContentViews/Details/Histories/__tests__/contentViewHistory.test.js +4 -2
  480. data/webpack/scenes/ContentViews/Details/Promote/ContentViewVersionPromote.js +1 -1
  481. data/webpack/scenes/ContentViews/Details/Repositories/ContentViewRepositories.js +7 -5
  482. data/webpack/scenes/ContentViews/Details/Repositories/__tests__/contentViewAddRemove.test.js +6 -3
  483. data/webpack/scenes/ContentViews/Details/Repositories/__tests__/contentViewRepoAdd.fixture.json +1 -0
  484. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/ActionSummary.js +3 -2
  485. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/BulkDeleteModal.js +3 -1
  486. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/Steps/ConfirmBulkDelete.js +2 -2
  487. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/Steps/ReassignActivationKeys.js +3 -1
  488. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/Steps/ReassignHosts.js +3 -1
  489. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/Steps/ReviewEnvironments.js +4 -4
  490. data/webpack/scenes/ContentViews/Details/Versions/Compare/CVVersionCompare.scss +11 -11
  491. data/webpack/scenes/ContentViews/Details/Versions/Compare/CVVersionCompareHeader.js +15 -5
  492. data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersionEnvironments.js +1 -1
  493. data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersions.js +13 -3
  494. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveCVVersionWizard.js +3 -1
  495. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVEnvironmentSelectionForm.js +17 -13
  496. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVReassignActivationKeysForm.js +12 -7
  497. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVReassignHostsForm.js +64 -7
  498. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVVersionRemoveReview.js +52 -21
  499. data/webpack/scenes/ContentViews/Details/Versions/Delete/__tests__/cvVersionRemove.test.js +30 -16
  500. data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetails.scss +7 -7
  501. data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetailsHeader.js +5 -3
  502. data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetailsTable.js +4 -2
  503. data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionDetails.test.js +6 -3
  504. data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionDetailsEmpty.test.js +2 -1
  505. data/webpack/scenes/ContentViews/Details/Versions/__tests__/contentViewVersions.test.js +6 -6
  506. data/webpack/scenes/ContentViews/Details/__tests__/contentViewDetail.test.js +35 -4
  507. data/webpack/scenes/ContentViews/Details/__tests__/contentViewDetails.fixtures.json +1 -0
  508. data/webpack/scenes/ContentViews/Details/__tests__/contentViewRollingDetail.test.js +197 -0
  509. data/webpack/scenes/ContentViews/Details/__tests__/contentViewRollingDetails.fixtures.json +82 -0
  510. data/webpack/scenes/ContentViews/Publish/CVPublishFinish.js +3 -7
  511. data/webpack/scenes/ContentViews/Publish/CVPublishForm.js +2 -2
  512. data/webpack/scenes/ContentViews/Publish/CVPublishReview.js +6 -5
  513. data/webpack/scenes/ContentViews/Publish/PublishContentViewWizard.js +3 -1
  514. data/webpack/scenes/ContentViews/Publish/__tests__/publishContentView.test.js +15 -7
  515. data/webpack/scenes/ContentViews/Publish/cvPublishForm.scss +4 -4
  516. data/webpack/scenes/ContentViews/Table/ContentViewVersionCell.js +6 -4
  517. data/webpack/scenes/ContentViews/Table/ContentViewsTable.js +14 -3
  518. data/webpack/scenes/ContentViews/Table/tableDataGenerator.js +3 -0
  519. data/webpack/scenes/ContentViews/__tests__/basicContentViews.fixtures.js +1 -0
  520. data/webpack/scenes/ContentViews/__tests__/contentViewList.fixtures.json +89 -2
  521. data/webpack/scenes/ContentViews/__tests__/contentViewPage.test.js +85 -14
  522. data/webpack/scenes/ContentViews/__tests__/mockDetails.fixtures.json +2 -1
  523. data/webpack/scenes/ContentViews/components/ContentViewIcon.js +20 -6
  524. data/webpack/scenes/ContentViews/components/ContentViewSelect/ContentViewSelect.js +4 -1
  525. data/webpack/scenes/ContentViews/components/ContentViewSelect/ContentViewSelectOption.js +11 -2
  526. data/webpack/scenes/ContentViews/components/ContentViewsCounter.js +27 -7
  527. data/webpack/scenes/ContentViews/components/EnvironmentLabels.js +2 -2
  528. data/webpack/scenes/ContentViews/components/EnvironmentPaths/EnvironmentPaths.js +6 -2
  529. data/webpack/scenes/ContentViews/components/EnvironmentPaths/EnvironmentPaths.scss +4 -1
  530. data/webpack/scenes/ContentViews/components/FiltersAppliedIcon.js +4 -2
  531. data/webpack/scenes/ContentViews/components/NeedsPublishIcon.js +7 -6
  532. data/webpack/scenes/ContentViews/components/NeedsPublishIcon.scss +2 -2
  533. data/webpack/scenes/ContentViews/components/contentViewIcon.scss +16 -3
  534. data/webpack/scenes/ContentViews/expansions/DetailsExpansion.js +6 -1
  535. data/webpack/scenes/ContentViews/expansions/RelatedCompositeContentViewsModal.js +3 -3
  536. data/webpack/scenes/ContentViews/expansions/__tests__/contentViewComponentsModal.test.js +2 -1
  537. data/webpack/scenes/Hosts/ChangeContentSource/components/ContentSourceForm.js +5 -3
  538. data/webpack/scenes/Hosts/ChangeContentSource/components/ContentSourceTemplate.js +3 -2
  539. data/webpack/scenes/Hosts/ChangeContentSource/components/FormField.js +1 -1
  540. data/webpack/scenes/Hosts/ChangeContentSource/components/HostsModal.js +1 -1
  541. data/webpack/scenes/RedHatRepositories/components/EnabledRepository/EnabledRepositoryContent.js +1 -1
  542. data/webpack/scenes/RedHatRepositories/components/EnabledRepository/__tests__/__snapshots__/EnabledRepositoryContent.test.js.snap +1 -1
  543. data/webpack/scenes/RedHatRepositories/index.scss +1 -1
  544. data/webpack/scenes/SmartProxy/ExpandableCvDetails.js +27 -7
  545. data/webpack/scenes/SmartProxy/ExpandedSmartProxyRepositories.js +51 -2
  546. data/webpack/scenes/SmartProxy/SmartProxyExpandableTable.js +2 -2
  547. data/webpack/scenes/SmartProxy/__tests__/SmartProxyContentTest.js +14 -9
  548. data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/CdnConfigurationForm.scss +1 -1
  549. data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/CustomCdnTypeForm.js +2 -2
  550. data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/NetworkSyncForm.js +6 -6
  551. data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/__tests__/CdnTypeForm.test.js +2 -1
  552. data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/__tests__/CustomCdnTypeForm.test.js +2 -1
  553. data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/__tests__/ExportSyncForm.test.js +2 -1
  554. data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/__tests__/NetworkSyncForm.test.js +2 -1
  555. metadata +125 -53
  556. data/app/models/katello/yum_metadata_file.rb +0 -22
  557. data/app/services/katello/pulp3/yum_metadata_file.rb +0 -20
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { renderWithRedux, patientlyWaitFor, within, fireEvent } from 'react-testing-lib-wrapper';
2
+ import { renderWithRedux, patientlyWaitFor, within, fireEvent, act } from 'react-testing-lib-wrapper';
3
3
  import { nockInstance, assertNockRequest, mockForemanAutocomplete } from '../../../../../test-utils/nockWrapper';
4
4
  import { foremanApi } from '../../../../../services/api';
5
5
  import { HOST_ERRATA_KEY, ERRATA_SEARCH_QUERY } from '../ErrataTab/HostErrataConstants';
@@ -20,6 +20,9 @@ const contentFacetAttributes = {
20
20
  id: 11,
21
21
  uuid: 'e5761ea3-4117-4ecf-83d0-b694f99b389e',
22
22
  content_view_default: false,
23
+ contentView: {
24
+ rolling: false,
25
+ },
23
26
  lifecycle_environment_library: false,
24
27
  errata_counts: {
25
28
  total: 3,
@@ -123,7 +126,8 @@ test('Can call API for errata and show on screen on page load', async (done) =>
123
126
  await patientlyWaitFor(() => expect(getAllByText(firstErrata.severity)[0]).toBeInTheDocument());
124
127
  // Assert request was made and completed, see helper function
125
128
  assertNockRequest(autocompleteScope);
126
- assertNockRequest(scope, done); // Pass jest callback to confirm test is done
129
+ assertNockRequest(scope);
130
+ done(); // Pass jest callback to confirm test is done
127
131
  });
128
132
 
129
133
  test('Can handle no errata being present', async (done) => {
@@ -149,7 +153,8 @@ test('Can handle no errata being present', async (done) => {
149
153
  await patientlyWaitFor(() => expect(queryByText('This host has errata that are applicable, but not installable. Adjust your filters and try again.')).toBeInTheDocument());
150
154
  // Assert request was made and completed, see helper function
151
155
  assertNockRequest(autocompleteScope);
152
- assertNockRequest(scope, done); // Pass jest callback to confirm test is done
156
+ assertNockRequest(scope);
157
+ done(); // Pass jest callback to confirm test is done
153
158
  });
154
159
 
155
160
  test('Can display expanded errata details', async (done) => {
@@ -192,7 +197,8 @@ test('Can display expanded errata details', async (done) => {
192
197
  expect(queryByText(firstErrata.summary)).not.toBeInTheDocument();
193
198
  // Assert request was made and completed, see helper function
194
199
  assertNockRequest(autocompleteScope);
195
- assertNockRequest(scope, done); // Pass jest callback to confirm test is done
200
+ assertNockRequest(scope);
201
+ done(); // Pass jest callback to confirm test is done
196
202
  });
197
203
 
198
204
  test('Can select one errata', async (done) => {
@@ -225,7 +231,8 @@ test('Can select one errata', async (done) => {
225
231
  expect(queryByText('1 selected')).toBeInTheDocument();
226
232
 
227
233
  assertNockRequest(autocompleteScope);
228
- assertNockRequest(scope, done); // Pass jest callback to confirm test is done
234
+ assertNockRequest(scope);
235
+ done(); // Pass jest callback to confirm test is done
229
236
  });
230
237
 
231
238
  test('Can select all errata across pages through checkbox', async (done) => {
@@ -265,8 +272,10 @@ test('Can select all errata across pages through checkbox', async (done) => {
265
272
  expect(getByLabelText('Select row 0').checked).toEqual(true);
266
273
 
267
274
  assertNockRequest(autocompleteScope);
268
- assertNockRequest(scope, done);
269
- assertNockRequest(scope2, done); // Pass jest callback to confirm test is done
275
+ assertNockRequest(scope);
276
+ done();
277
+ assertNockRequest(scope2);
278
+ done(); // Pass jest callback to confirm test is done
270
279
  });
271
280
 
272
281
  test('Can deselect all errata across pages through checkbox', async (done) => {
@@ -310,8 +319,10 @@ test('Can deselect all errata across pages through checkbox', async (done) => {
310
319
  expect(getByLabelText('Select row 0').checked).toEqual(false);
311
320
 
312
321
  assertNockRequest(autocompleteScope);
313
- assertNockRequest(scope, done); // Pass jest callback to confirm test is done
314
- assertNockRequest(scope2, done);
322
+ assertNockRequest(scope);
323
+ done(); // Pass jest callback to confirm test is done
324
+ assertNockRequest(scope2);
325
+ done();
315
326
  });
316
327
 
317
328
 
@@ -352,8 +363,10 @@ test('Can select & deselect errata across pages', async (done) => {
352
363
  expect(queryByText('4 selected')).toBeInTheDocument();
353
364
 
354
365
  assertNockRequest(autocompleteScope);
355
- assertNockRequest(scope, done); // Pass jest callback to confirm test is done
356
- assertNockRequest(scope2, done);
366
+ assertNockRequest(scope);
367
+ done(); // Pass jest callback to confirm test is done
368
+ assertNockRequest(scope2);
369
+ done();
357
370
  });
358
371
 
359
372
  test('Can select & de-select all errata through selectDropDown', async (done) => {
@@ -394,7 +407,8 @@ test('Can select & de-select all errata through selectDropDown', async (done) =>
394
407
  expect(getByLabelText('Select row 0').checked).toEqual(false);
395
408
 
396
409
  assertNockRequest(autocompleteScope);
397
- assertNockRequest(scope, done); // Pass jest callback to confirm test is done
410
+ assertNockRequest(scope);
411
+ done(); // Pass jest callback to confirm test is done
398
412
  });
399
413
 
400
414
  test('Can de-select items in select all mode across pages', async (done) => {
@@ -460,9 +474,12 @@ test('Can de-select items in select all mode across pages', async (done) => {
460
474
  expect(getByLabelText('Select row 1').checked).toEqual(false);
461
475
 
462
476
  assertNockRequest(autocompleteScope);
463
- assertNockRequest(scope, done); // Pass jest callback to confirm test is done
464
- assertNockRequest(scope2, done);
465
- assertNockRequest(scope3, done);
477
+ assertNockRequest(scope);
478
+ done(); // Pass jest callback to confirm test is done
479
+ assertNockRequest(scope2);
480
+ done();
481
+ assertNockRequest(scope3);
482
+ done();
466
483
  });
467
484
 
468
485
  test('Can select page and select only items on the page', async (done) => {
@@ -496,7 +513,8 @@ test('Can select page and select only items on the page', async (done) => {
496
513
  expect(getByLabelText('Select row 0').checked).toEqual(true);
497
514
 
498
515
  assertNockRequest(autocompleteScope);
499
- assertNockRequest(scope, done); // Pass jest callback to confirm test is done
516
+ assertNockRequest(scope);
517
+ done(); // Pass jest callback to confirm test is done
500
518
  });
501
519
 
502
520
  test('Select all is disabled if all rows are selected', async (done) => {
@@ -550,7 +568,8 @@ test('Select all is disabled if all rows are selected', async (done) => {
550
568
  expect(getByText('Select none (0)')).toHaveAttribute('aria-disabled', 'false');
551
569
 
552
570
  assertNockRequest(autocompleteScope);
553
- assertNockRequest(scope, done); // Pass jest callback to confirm test is done
571
+ assertNockRequest(scope);
572
+ done(); // Pass jest callback to confirm test is done
554
573
  });
555
574
 
556
575
  test('Toggle Group shows if it\'s not the default content view or library enviroment', async (done) => {
@@ -572,7 +591,8 @@ test('Toggle Group shows if it\'s not the default content view or library enviro
572
591
  await patientlyWaitFor(() => expect(getAllByText('Important')[0]).toBeInTheDocument());
573
592
  expect(queryByLabelText('Installable Errata')).toBeInTheDocument();
574
593
  assertNockRequest(autocompleteScope);
575
- assertNockRequest(scope, done); // Pass jest callback to confirm test is done
594
+ assertNockRequest(scope);
595
+ done(); // Pass jest callback to confirm test is done
576
596
  });
577
597
 
578
598
  test('Toggle Group shows if it\'s the default content view but non-library environment', async (done) => {
@@ -598,7 +618,8 @@ test('Toggle Group shows if it\'s the default content view but non-library envir
598
618
  await patientlyWaitFor(() => expect(getAllByText('Important')[0]).toBeInTheDocument());
599
619
  expect(queryByLabelText('Installable Errata')).toBeInTheDocument();
600
620
  assertNockRequest(autocompleteScope);
601
- assertNockRequest(scope, done); // Pass jest callback to confirm test is done
621
+ assertNockRequest(scope);
622
+ done(); // Pass jest callback to confirm test is done
602
623
  });
603
624
 
604
625
  test('Toggle Group shows if it\'s the library environment but non-default content view', async (done) => {
@@ -625,7 +646,8 @@ test('Toggle Group shows if it\'s the library environment but non-default conten
625
646
  await patientlyWaitFor(() => expect(getAllByText('Important')[0]).toBeInTheDocument());
626
647
  expect(queryByLabelText('Installable Errata')).toBeInTheDocument();
627
648
  assertNockRequest(autocompleteScope);
628
- assertNockRequest(scope, done); // Pass jest callback to confirm test is done
649
+ assertNockRequest(scope);
650
+ done(); // Pass jest callback to confirm test is done
629
651
  });
630
652
 
631
653
  test('Toggle Group does not show if it\'s the default content view and library environment', async (done) => {
@@ -648,6 +670,36 @@ test('Toggle Group does not show if it\'s the default content view and library e
648
670
  getAllByText,
649
671
  } = renderWithRedux(<ErrataTab />, options);
650
672
 
673
+ // Assert that the errata are now showing on the screen, but wait for them to appear.
674
+ await patientlyWaitFor(() => expect(getAllByText('Important')[0]).toBeInTheDocument());
675
+ expect(queryByLabelText('Installable Errata')).not.toBeInTheDocument();
676
+ assertNockRequest(autocompleteScope);
677
+ assertNockRequest(scope);
678
+ done(); // Pass jest callback to confirm test is done
679
+ });
680
+
681
+ test('Toggle Group does not show if it\'s a rolling content view and library environment', async (done) => {
682
+ // Setup autocomplete with mockForemanAutoComplete since we aren't adding /katello
683
+ const autocompleteScope = mockForemanAutocomplete(nockInstance, autocompleteUrl);
684
+ const mockErrata = makeMockErrata({});
685
+ const options = renderOptions({
686
+ ...cfWithErrataTotal(mockErrata.total),
687
+ contentView: {
688
+ rolling: true,
689
+ },
690
+ lifecycle_environment_library: true,
691
+ });
692
+ // return errata data results when we look for errata
693
+ const scope = nockInstance
694
+ .get(hostErrata)
695
+ .query(defaultQuery)
696
+ .reply(200, mockErrata);
697
+
698
+ const {
699
+ queryByLabelText,
700
+ getAllByText,
701
+ } = renderWithRedux(<ErrataTab />, options);
702
+
651
703
  // Assert that the errata are now showing on the screen, but wait for them to appear.
652
704
  await patientlyWaitFor(() => expect(getAllByText('Important')[0]).toBeInTheDocument());
653
705
  expect(queryByLabelText('Installable Errata')).not.toBeInTheDocument();
@@ -676,7 +728,8 @@ test('Selection is disabled for errata which are applicable but not installable'
676
728
  expect(getByLabelText('Select row 1')).not.toBeDisabled();
677
729
 
678
730
  assertNockRequest(autocompleteScope);
679
- assertNockRequest(scope, done); // Pass jest callback to confirm test is done
731
+ assertNockRequest(scope);
732
+ done(); // Pass jest callback to confirm test is done
680
733
  });
681
734
 
682
735
  test('Can select only installable errata across pages through checkbox', async (done) => {
@@ -719,8 +772,10 @@ test('Can select only installable errata across pages through checkbox', async (
719
772
  expect(getByLabelText('Select row 0').checked).toEqual(true);
720
773
 
721
774
  assertNockRequest(autocompleteScope);
722
- assertNockRequest(scope, done);
723
- assertNockRequest(scope2, done); // Pass jest callback to confirm test is done
775
+ assertNockRequest(scope);
776
+ done();
777
+ assertNockRequest(scope2);
778
+ done(); // Pass jest callback to confirm test is done
724
779
  });
725
780
 
726
781
  test('Can toggle with the Toggle Group ', async (done) => {
@@ -746,7 +801,8 @@ test('Can toggle with the Toggle Group ', async (done) => {
746
801
  expect(getByText('Applicable').parentElement).toHaveAttribute('aria-pressed', 'false');
747
802
  expect(getAllByText('Installable')[0].parentElement).toHaveAttribute('aria-pressed', 'true');
748
803
  assertNockRequest(autocompleteScope);
749
- assertNockRequest(scope, done); // Pass jest callback to confirm test is done
804
+ assertNockRequest(scope);
805
+ done(); // Pass jest callback to confirm test is done
750
806
  });
751
807
 
752
808
  test('Can filter by errata type', async (done) => {
@@ -788,7 +844,8 @@ test('Can filter by errata type', async (done) => {
788
844
 
789
845
  assertNockRequest(autocompleteScope);
790
846
  assertNockRequest(scope);
791
- assertNockRequest(scope2, done); // Pass jest callback to confirm test is done
847
+ assertNockRequest(scope2);
848
+ done(); // Pass jest callback to confirm test is done
792
849
  });
793
850
 
794
851
  test('Can filter by severity', async (done) => {
@@ -815,7 +872,7 @@ test('Can filter by severity', async (done) => {
815
872
  await patientlyWaitFor(() => expect(getAllByText('Important')[0]).toBeInTheDocument());
816
873
  // the Bugfix text in the table is just a text node, while the dropdown is a button
817
874
  expect(getByText('Moderate', { ignore: ['button', 'title'] })).toBeInTheDocument();
818
- expect(getByText('Important', { ignore: ['.pf-c-select__toggle-text', 'title'] })).toBeInTheDocument();
875
+ expect(getByText('Important', { ignore: ['.pf-v5-c-select__toggle-text', 'title'] })).toBeInTheDocument();
819
876
  expect(getByText('Critical', { ignore: ['button', 'title'] })).toBeInTheDocument();
820
877
  const severityContainer = queryByLabelText('select Severity container', { ignore: 'th' });
821
878
  const severityDropdown = within(severityContainer).queryByText('Severity');
@@ -824,17 +881,18 @@ test('Can filter by severity', async (done) => {
824
881
  const important = getByRole('option', { name: 'select Important' });
825
882
  fireEvent.click(important);
826
883
  await patientlyWaitFor(() => {
827
- expect(queryByText('Moderate', { ignore: ['.pf-c-select__toggle-text'] })).not.toBeInTheDocument();
828
- expect(queryByText('Critical', { ignore: ['.pf-c-select__toggle-text'] })).not.toBeInTheDocument();
884
+ expect(queryByText('Moderate', { ignore: ['.pf-v5-c-select__toggle-text'] })).not.toBeInTheDocument();
885
+ expect(queryByText('Critical', { ignore: ['.pf-v5-c-select__toggle-text'] })).not.toBeInTheDocument();
829
886
  });
830
887
  await patientlyWaitFor(() => {
831
- expect(getByText('Important', { ignore: ['.pf-c-select__toggle-text', 'title'] })).toBeInTheDocument();
888
+ expect(getByText('Important', { ignore: ['.pf-v5-c-select__toggle-text', 'title'] })).toBeInTheDocument();
832
889
  });
833
890
 
834
891
 
835
892
  assertNockRequest(autocompleteScope);
836
893
  assertNockRequest(scope);
837
- assertNockRequest(scope2, done); // Pass jest callback to confirm test is done
894
+ assertNockRequest(scope2);
895
+ done(); // Pass jest callback to confirm test is done
838
896
  });
839
897
 
840
898
  test('Can bulk apply via remote execution', async (done) => {
@@ -871,11 +929,14 @@ test('Can bulk apply via remote execution', async (done) => {
871
929
  actionMenu.click();
872
930
  const viaRexAction = queryByText('Apply via remote execution');
873
931
  expect(viaRexAction).toBeInTheDocument();
874
- viaRexAction.click();
932
+ await act(async () => {
933
+ viaRexAction.click();
934
+ });
875
935
 
876
936
  assertNockRequest(autocompleteScope);
877
937
  assertNockRequest(resolveErrataScope);
878
- assertNockRequest(scope, done);
938
+ assertNockRequest(scope);
939
+ done();
879
940
  });
880
941
 
881
942
  test('Can select all, exclude and bulk apply via remote execution', async (done) => {
@@ -911,11 +972,14 @@ test('Can select all, exclude and bulk apply via remote execution', async (done)
911
972
  actionMenu.click();
912
973
  const viaRexAction = queryByText('Apply via remote execution');
913
974
  expect(viaRexAction).toBeInTheDocument();
914
- viaRexAction.click();
975
+ await act(async () => {
976
+ viaRexAction.click();
977
+ });
915
978
 
916
979
  assertNockRequest(autocompleteScope);
917
980
  assertNockRequest(resolveErrataScope);
918
- assertNockRequest(scope, done);
981
+ assertNockRequest(scope);
982
+ done();
919
983
  });
920
984
 
921
985
  test('Can apply errata in bulk via customized remote execution', async (done) => {
@@ -947,9 +1011,12 @@ test('Can apply errata in bulk via customized remote execution', async (done) =>
947
1011
  `/job_invocations/new?feature=${feature}&search=name%20%5E%20(${hostName})&inputs%5BErrata%20search%20query%5D=errata_id%20%5E%20(${errata})`,
948
1012
  );
949
1013
 
950
- viaRexAction.click();
1014
+ await act(async () => {
1015
+ viaRexAction.click();
1016
+ });
951
1017
  assertNockRequest(autocompleteScope);
952
- assertNockRequest(scope, done);
1018
+ assertNockRequest(scope);
1019
+ done();
953
1020
  });
954
1021
 
955
1022
  test('Can apply a single erratum to the host via remote execution', async (done) => {
@@ -973,20 +1040,25 @@ test('Can apply a single erratum to the host via remote execution', async (done)
973
1040
  renderOptions(cfWithErrataTotal(mockErrata.total)),
974
1041
  );
975
1042
  await patientlyWaitFor(() => expect(getAllByText('Important')[0]).toBeInTheDocument());
976
- const erratumActionMenu = within(getByLabelText('Select row 0').closest('tr')).getByLabelText('Actions');
977
- expect(erratumActionMenu).toHaveAttribute('aria-label', 'Actions');
978
- erratumActionMenu.click();
1043
+ const erratumActionMenu = within(getByLabelText('Select row 0').closest('tr')).getByLabelText('Kebab toggle');
1044
+ expect(erratumActionMenu).toHaveAttribute('aria-label', 'Kebab toggle');
1045
+ await act(async () => {
1046
+ erratumActionMenu.click();
1047
+ });
979
1048
 
980
1049
  let viaRexAction;
981
1050
  await patientlyWaitFor(() => {
982
1051
  viaRexAction = getByText('Apply via remote execution');
983
1052
  expect(viaRexAction).toBeInTheDocument();
984
1053
  });
985
- viaRexAction.click();
1054
+ await act(async () => {
1055
+ viaRexAction.click();
1056
+ });
986
1057
 
987
1058
  assertNockRequest(autocompleteScope);
988
1059
  assertNockRequest(resolveErrataScope);
989
- assertNockRequest(scope, done);
1060
+ assertNockRequest(scope);
1061
+ done();
990
1062
  });
991
1063
 
992
1064
  test('Can apply a single erratum to the host via customized remote execution', async (done) => {
@@ -1005,20 +1077,24 @@ test('Can apply a single erratum to the host via customized remote execution', a
1005
1077
  renderOptions(cfWithErrataTotal(mockErrata.total)),
1006
1078
  );
1007
1079
  await patientlyWaitFor(() => expect(getAllByText('Important')[0]).toBeInTheDocument());
1008
- const erratumActionMenu = within(getByLabelText('Select row 0').closest('tr')).getByLabelText('Actions');
1009
- expect(erratumActionMenu).toHaveAttribute('aria-label', 'Actions');
1010
- erratumActionMenu.click();
1011
-
1080
+ const erratumActionMenu = within(getByLabelText('Select row 0').closest('tr')).getByLabelText('Kebab toggle');
1081
+ expect(erratumActionMenu).toHaveAttribute('aria-label', 'Kebab toggle');
1082
+ await act(async () => {
1083
+ erratumActionMenu.click();
1084
+ });
1012
1085
  let viaRexAction;
1013
1086
  await patientlyWaitFor(() => {
1014
1087
  viaRexAction = getByText('Apply via customized remote execution');
1015
1088
  expect(viaRexAction).toBeInTheDocument();
1016
1089
  });
1017
- viaRexAction.click();
1090
+ await act(async () => {
1091
+ viaRexAction.click();
1092
+ });
1018
1093
  expect(viaRexAction).toHaveAttribute(
1019
1094
  'href',
1020
1095
  `/job_invocations/new?feature=${feature}&search=name%20%5E%20(${hostName})&inputs%5BErrata%20search%20query%5D=errata_id%20=%20${errataId}`,
1021
1096
  );
1022
1097
  assertNockRequest(autocompleteScope);
1023
- assertNockRequest(scope, done);
1098
+ assertNockRequest(scope);
1099
+ done();
1024
1100
  });
@@ -62,7 +62,8 @@ test('Can call API for Module streams and show on screen on page load', async (d
62
62
  expect(getAllByText(firstModuleStreams.name)[0]).toBeInTheDocument());
63
63
  // Assert request was made and completed, see helper function
64
64
  assertNockRequest(autocompleteScope);
65
- assertNockRequest(scope, done); // Pass jest callback to confirm test is done
65
+ assertNockRequest(scope);
66
+ done(); // Pass jest callback to confirm test is done
66
67
  act(done);
67
68
  });
68
69
 
@@ -89,7 +90,8 @@ test('Can handle no Module streams being present', async (done) => {
89
90
  await patientlyWaitFor(() => expect(queryByText('This host does not have any Module streams.')).toBeInTheDocument());
90
91
  // Assert request was made and completed, see helper function
91
92
  assertNockRequest(autocompleteScope);
92
- assertNockRequest(scope, done); // Pass jest callback to confirm test is done
93
+ assertNockRequest(scope);
94
+ done(); // Pass jest callback to confirm test is done
93
95
  act(done);
94
96
  });
95
97
 
@@ -166,7 +168,8 @@ test('When there are no search results, can display an empty state with a clear
166
168
  assertNockRequest(badAutoCompleteScope);
167
169
  assertNockRequest(badSearchScope);
168
170
  assertNockRequest(scopeWithoutSearch);
169
- assertNockRequest(autocompleteScope, done);
171
+ assertNockRequest(autocompleteScope);
172
+ done();
170
173
  });
171
174
 
172
175
  test('Can filter results based on status', async (done) => {
@@ -198,7 +201,8 @@ test('Can filter results based on status', async (done) => {
198
201
  fireEvent.click(installed);
199
202
  assertNockRequest(autocompleteScope);
200
203
  assertNockRequest(scope);
201
- assertNockRequest(scope2, done);
204
+ assertNockRequest(scope2);
205
+ done();
202
206
  act(done);
203
207
  });
204
208
 
@@ -231,7 +235,8 @@ test('Can filter results based on Installation status', async (done) => {
231
235
  fireEvent.click(installed);
232
236
  assertNockRequest(autocompleteScope);
233
237
  assertNockRequest(scope);
234
- assertNockRequest(scope2, done);
238
+ assertNockRequest(scope2);
239
+ done();
235
240
  act(done);
236
241
  });
237
242
 
@@ -260,7 +265,8 @@ test('Can provide dropdown actions with redirects on Module Streams with customi
260
265
  expect(getByText('Enable')).toHaveAttribute('href', '/job_invocations/new?feature=katello_module_stream_action&search=name%20%5E%20(test-host)&inputs%5Baction%5D=enable&inputs%5Bmodule_spec%5D=walrus:2.4');
261
266
  expect(getByText('Install')).toHaveAttribute('href', '/job_invocations/new?feature=katello_module_stream_action&search=name%20%5E%20(test-host)&inputs%5Baction%5D=install&inputs%5Bmodule_spec%5D=walrus:2.4');
262
267
  assertNockRequest(autocompleteScope);
263
- assertNockRequest(scope, done);
268
+ assertNockRequest(scope);
269
+ done();
264
270
  act(done);
265
271
  });
266
272
 
@@ -305,6 +311,7 @@ test('Can perform actions on Module Streams', async (done) => {
305
311
  fireEvent.click(getByLabelText('confirm-module-action'));
306
312
  assertNockRequest(autocompleteScope);
307
313
  assertNockRequest(scope);
308
- assertNockRequest(jobScope, done);
314
+ assertNockRequest(jobScope);
315
+ done();
309
316
  act(done);
310
317
  });
@@ -79,7 +79,8 @@ test('Can call API for installable packages and show on screen on page load', as
79
79
  await patientlyWaitFor(() => expect(getAllByText(firstPackages.name)[0]).toBeInTheDocument());
80
80
  // Assert request was made and completed, see helper function
81
81
  assertNockRequest(autocompleteScope);
82
- assertNockRequest(scope, done); // Pass jest callback to confirm test is done
82
+ assertNockRequest(scope);
83
+ done(); // Pass jest callback to confirm test is done
83
84
  });
84
85
 
85
86
  test('Can handle no installable packages being present', async (done) => {
@@ -111,7 +112,8 @@ test('Can handle no installable packages being present', async (done) => {
111
112
  await patientlyWaitFor(() => expect(queryByText('No packages available to install')).toBeInTheDocument());
112
113
  // Assert request was made and completed, see helper function
113
114
  assertNockRequest(autocompleteScope);
114
- assertNockRequest(scope, done); // Pass jest callback to confirm test is done
115
+ assertNockRequest(scope);
116
+ done(); // Pass jest callback to confirm test is done
115
117
  });
116
118
 
117
119
 
@@ -148,7 +150,8 @@ test('Can install a package via remote execution', async (done) => {
148
150
 
149
151
  expect(triggerPackageInstall).toHaveBeenCalled();
150
152
  assertNockRequest(autocompleteScope);
151
- assertNockRequest(scope, done);
153
+ assertNockRequest(scope);
154
+ done();
152
155
  });
153
156
 
154
157
  test('Can install a package via customized remote execution', async (done) => {
@@ -185,7 +188,8 @@ test('Can install a package via customized remote execution', async (done) => {
185
188
  `/job_invocations/new?feature=${REX_FEATURES.KATELLO_PACKAGE_INSTALL}&search=name%20%5E%20(test-host)&inputs%5Bpackage%5D=duck,cheetah`,
186
189
  );
187
190
  assertNockRequest(autocompleteScope);
188
- assertNockRequest(scope, done);
191
+ assertNockRequest(scope);
192
+ done();
189
193
  });
190
194
 
191
195
  test('Uses package_install_by_search_query template when in select all mode', async (done) => {
@@ -223,6 +227,7 @@ test('Uses package_install_by_search_query template when in select all mode', as
223
227
  `/job_invocations/new?feature=${REX_FEATURES.KATELLO_PACKAGE_INSTALL_BY_SEARCH}&search=name%20%5E%20(test-host)&inputs%5BPackage%20search%20query%5D=id%20!%5E%20(32376)`,
224
228
  );
225
229
  assertNockRequest(autocompleteScope);
226
- assertNockRequest(scope, done);
230
+ assertNockRequest(scope);
231
+ done();
227
232
  });
228
233