foreman_rh_cloud 4.0.24.1 → 4.0.27

Sign up to get free protection for your applications and to get access to all the features.
Files changed (97) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/api/v2/rh_cloud/inventory_controller.rb +4 -1
  3. data/app/controllers/foreman_inventory_upload/cloud_status_controller.rb +26 -0
  4. data/app/controllers/insights_cloud/api/machine_telemetries_controller.rb +18 -4
  5. data/app/controllers/insights_cloud/hits_controller.rb +0 -1
  6. data/app/services/foreman_rh_cloud/cloud_auth.rb +4 -0
  7. data/app/services/foreman_rh_cloud/cloud_ping_service.rb +83 -0
  8. data/app/services/foreman_rh_cloud/cloud_request_forwarder.rb +15 -3
  9. data/app/services/foreman_rh_cloud/remediations_retriever.rb +5 -0
  10. data/config/Gemfile.lock.gh_test +74 -84
  11. data/config/rh_cert-api_chain.pem +74 -0
  12. data/config/routes.rb +3 -1
  13. data/lib/foreman_inventory_upload/generators/queries.rb +0 -16
  14. data/lib/foreman_inventory_upload/generators/tags.rb +2 -1
  15. data/lib/foreman_rh_cloud/engine.rb +2 -1
  16. data/lib/foreman_rh_cloud/version.rb +1 -1
  17. data/lib/foreman_rh_cloud.rb +16 -1
  18. data/lib/insights_cloud/async/insights_client_status_aging.rb +4 -0
  19. data/lib/insights_cloud/async/insights_full_sync.rb +9 -0
  20. data/lib/insights_cloud/async/insights_generate_notifications.rb +4 -0
  21. data/lib/insights_cloud/async/insights_resolutions_sync.rb +16 -2
  22. data/lib/insights_cloud/async/insights_rules_sync.rb +15 -2
  23. data/lib/insights_cloud.rb +4 -0
  24. data/lib/inventory_sync/async/inventory_full_sync.rb +9 -0
  25. data/lib/inventory_sync/async/inventory_hosts_sync.rb +9 -0
  26. data/lib/inventory_sync/async/inventory_scheduled_sync.rb +4 -0
  27. data/lib/inventory_sync/async/inventory_self_host_sync.rb +13 -0
  28. data/lib/inventory_sync/async/query_inventory_job.rb +4 -0
  29. data/lib/tasks/rh_cloud_inventory.rake +2 -9
  30. data/package.json +1 -1
  31. data/test/controllers/insights_cloud/api/machine_telemetries_controller_test.rb +20 -39
  32. data/test/controllers/inventory_upload/cloud_status_controller_test.rb +44 -0
  33. data/test/jobs/insights_full_sync_test.rb +1 -0
  34. data/test/jobs/insights_resolutions_sync_test.rb +11 -1
  35. data/test/jobs/insights_rules_sync_test.rb +1 -0
  36. data/test/jobs/inventory_full_sync_test.rb +10 -0
  37. data/test/jobs/inventory_hosts_sync_test.rb +1 -0
  38. data/test/jobs/inventory_self_host_sync_test.rb +1 -0
  39. data/test/test_plugin_helper.rb +53 -0
  40. data/test/unit/foreman_rh_cloud_self_host_test.rb +28 -0
  41. data/test/unit/services/foreman_rh_cloud/cloud_request_forwarder_test.rb +29 -34
  42. data/test/unit/services/foreman_rh_cloud/cloud_status_service_test.rb +66 -0
  43. data/test/unit/services/foreman_rh_cloud/template_renderer_helper_test.rb +1 -0
  44. data/test/unit/tags_generator_test.rb +41 -0
  45. data/webpack/ForemanInventoryUpload/Components/AccountList/Components/EmptyState/EmptyState.js +1 -1
  46. data/webpack/ForemanInventoryUpload/Components/AccountList/Components/EmptyState/__tests__/__snapshots__/EmptyState.test.js.snap +1 -2
  47. data/webpack/ForemanInventoryUpload/Components/FileDownload/FileDownload.js +3 -1
  48. data/webpack/ForemanInventoryUpload/Components/FileDownload/__tests__/__snapshots__/FileDownload.test.js.snap +2 -1
  49. data/webpack/ForemanInventoryUpload/Components/InventoryFilter/InventoryFilter.js +1 -2
  50. data/webpack/ForemanInventoryUpload/Components/InventoryFilter/InventoryFilterConstants.js +3 -1
  51. data/webpack/ForemanInventoryUpload/Components/InventorySettings/InventorySettings.scss +0 -4
  52. data/webpack/ForemanInventoryUpload/Components/PageHeader/PageTitle.js +12 -0
  53. data/webpack/ForemanInventoryUpload/Components/PageHeader/__tests__/__snapshots__/PageTitle.test.js.snap +10 -0
  54. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/CloudPingModal/index.js +144 -0
  55. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/CloudPingModal/index.scss +5 -0
  56. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/PageDescription/PageDescription.js +2 -2
  57. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SyncButton/components/Modal.js +1 -1
  58. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SyncButton/components/Toast.js +2 -2
  59. data/webpack/ForemanInventoryUpload/Components/StatusChart/StatusChart.js +4 -3
  60. data/webpack/ForemanInventoryUpload/ForemanInventoryConstants.js +2 -0
  61. data/webpack/ForemanInventoryUpload/SubscriptionsPageExtension/InventoryAutoUpload/InventoryAutoUpload.js +3 -1
  62. data/webpack/InsightsCloudSync/Components/InsightsHeader/InsightsHeader.scss +5 -1
  63. data/webpack/InsightsCloudSync/Components/InsightsHeader/index.js +6 -6
  64. data/webpack/InsightsCloudSync/Components/InsightsSettings/InsightsSettings.js +9 -5
  65. data/webpack/InsightsCloudSync/Components/InsightsSettings/__tests__/__snapshots__/InsightsSettings.test.js.snap +6 -6
  66. data/webpack/InsightsCloudSync/Components/InsightsSettings/insightsSettings.scss +1 -14
  67. data/webpack/InsightsCloudSync/Components/InsightsTable/InsightsTable.js +4 -22
  68. data/webpack/InsightsCloudSync/Components/InsightsTable/InsightsTableConstants.js +25 -4
  69. data/webpack/InsightsCloudSync/Components/InsightsTable/InsightsTableSelectors.js +0 -3
  70. data/webpack/InsightsCloudSync/Components/InsightsTable/Pagination.js +51 -0
  71. data/webpack/InsightsCloudSync/Components/InsightsTable/SelectAllAlert.js +1 -1
  72. data/webpack/InsightsCloudSync/Components/InsightsTable/__tests__/__snapshots__/InsightsTable.test.js.snap +3 -68
  73. data/webpack/InsightsCloudSync/Components/InsightsTable/table.scss +10 -0
  74. data/webpack/InsightsCloudSync/Components/RemediationModal/RemediationModal.js +11 -10
  75. data/webpack/InsightsCloudSync/Components/RemediationModal/RemediationModal.scss +14 -0
  76. data/webpack/InsightsCloudSync/Components/RemediationModal/index.js +0 -2
  77. data/webpack/InsightsCloudSync/Components/ToolbarDropdown.js +32 -0
  78. data/webpack/InsightsCloudSync/Components/__tests__/__snapshots__/InsightsHeader.test.js.snap +5 -5
  79. data/webpack/InsightsCloudSync/InsightsCloudSync.js +19 -13
  80. data/webpack/InsightsCloudSync/InsightsCloudSync.scss +82 -2
  81. data/webpack/InsightsCloudSync/__snapshots__/InsightsCloudSync.test.js.snap +16 -6
  82. data/webpack/InsightsHostDetailsTab/InsightsTab.js +3 -2
  83. data/webpack/InsightsHostDetailsTab/InsightsTab.scss +4 -4
  84. data/webpack/InsightsHostDetailsTab/components/ListItem/ListItem.js +9 -7
  85. data/webpack/common/Switcher/HelpLabel.js +1 -1
  86. data/webpack/common/Switcher/SwitcherPF4.js +1 -1
  87. data/webpack/common/Switcher/SwitcherPF4.scss +6 -7
  88. data/webpack/common/Switcher/__tests__/__snapshots__/HelpLabel.test.js.snap +1 -1
  89. data/webpack/common/Switcher/__tests__/__snapshots__/SwitcherPF4.test.js.snap +1 -1
  90. metadata +16 -24
  91. data/webpack/InsightsCloudSync/Components/InsightsSyncSwitcher/InsightsSyncSwitcher.fixtures.js +0 -1
  92. data/webpack/InsightsCloudSync/Components/InsightsSyncSwitcher/InsightsSyncSwitcher.js +0 -45
  93. data/webpack/InsightsCloudSync/Components/InsightsSyncSwitcher/__tests__/InsightsSyncSwitcher.test.js +0 -17
  94. data/webpack/InsightsCloudSync/Components/InsightsSyncSwitcher/__tests__/__snapshots__/InsightsSyncSwitcher.test.js.snap +0 -38
  95. data/webpack/InsightsCloudSync/Components/InsightsSyncSwitcher/index.js +0 -1
  96. data/webpack/InsightsCloudSync/Components/InsightsSyncSwitcher/insightsSyncSwitcher.scss +0 -3
  97. data/webpack/InsightsCloudSync/Components/RemediationModal/RemediateButton.js +0 -59
@@ -3,6 +3,7 @@ import PropTypes from 'prop-types';
3
3
  import { orderBy } from 'lodash';
4
4
  import { Grid, ListView } from 'patternfly-react';
5
5
  import { noop } from 'foremanReact/common/helpers';
6
+ import { translate as __ } from 'foremanReact/common/I18n';
6
7
  import ListItem from './components/ListItem';
7
8
  import './InsightsTab.scss';
8
9
 
@@ -16,7 +17,7 @@ class InsightsHostDetailsTab extends React.Component {
16
17
  const { hits } = this.props;
17
18
 
18
19
  if (!hits.length) {
19
- return <h2>No recommendations were found for this host!</h2>;
20
+ return <h2>{__('No recommendations were found for this host!')}</h2>;
20
21
  }
21
22
  const hitsSorted = orderBy(hits, ['total_risk'], ['desc']);
22
23
  const items = hitsSorted.map(
@@ -42,7 +43,7 @@ class InsightsHostDetailsTab extends React.Component {
42
43
  <div id="host_details_insights_tab">
43
44
  <Grid.Row>
44
45
  <Grid.Col xs={12}>
45
- <h2>Recommendations</h2>
46
+ <h2>{__('Recommendations')}</h2>
46
47
  <ListView id="hits_list">{items}</ListView>
47
48
  </Grid.Col>
48
49
  </Grid.Row>
@@ -48,19 +48,19 @@
48
48
  padding: 5px 8px;
49
49
  border-radius: 12px;
50
50
 
51
- &.Low {
51
+ &.risk-1 {
52
52
  background-color: #e7f1fa;
53
53
  }
54
54
 
55
- &.Moderate {
55
+ &.risk-2 {
56
56
  background-color: #fdf7e7;
57
57
  }
58
58
 
59
- &.Important {
59
+ &.risk-3 {
60
60
  background-color: #f9dddd;
61
61
  }
62
62
 
63
- &.Critical {
63
+ &.risk-4 {
64
64
  background-color: #ffecec;
65
65
  }
66
66
 
@@ -1,12 +1,13 @@
1
1
  import React, { Fragment } from 'react';
2
2
  import { ListView, Icon } from 'patternfly-react';
3
3
  import PropTypes from 'prop-types';
4
+ import { translate as __ } from 'foremanReact/common/I18n';
4
5
 
5
6
  const labelMapper = {
6
- 1: 'Low',
7
- 2: 'Moderate',
8
- 3: 'Important',
9
- 4: 'Critical',
7
+ 1: __('Low'),
8
+ 2: __('Moderate'),
9
+ 3: __('Important'),
10
+ 4: __('Critical'),
10
11
  };
11
12
 
12
13
  const ListItem = ({ title, totalRisk, resultsUrl, solutionUrl }) => {
@@ -18,7 +19,7 @@ const ListItem = ({ title, totalRisk, resultsUrl, solutionUrl }) => {
18
19
 
19
20
  const riskLabel = labelMapper[totalRisk];
20
21
  const additionalInfo = [
21
- <span key={`risk-info-${title}`} className={`risk-label ${riskLabel}`}>
22
+ <span key={`risk-info-${title}`} className={`risk-label risk-${totalRisk}`}>
22
23
  <p>{riskLabel}</p>
23
24
  </span>,
24
25
  ];
@@ -26,7 +27,7 @@ const ListItem = ({ title, totalRisk, resultsUrl, solutionUrl }) => {
26
27
  const knowledgebaseLink = solutionUrl && (
27
28
  <p>
28
29
  <a href={solutionUrl} target="_blank" rel="noopener noreferrer">
29
- Knowledgebase article <Icon name="external-link" />
30
+ {__('Knowledgebase article')} <Icon name="external-link" />
30
31
  </a>
31
32
  </p>
32
33
  );
@@ -34,7 +35,8 @@ const ListItem = ({ title, totalRisk, resultsUrl, solutionUrl }) => {
34
35
  const insightsCloudLink = resultsUrl && (
35
36
  <p>
36
37
  <a href={resultsUrl} target="_blank" rel="noopener noreferrer">
37
- Read more about it in RH cloud insights <Icon name="external-link" />
38
+ {__('Read more about it in RH cloud insights')}{' '}
39
+ <Icon name="external-link" />
38
40
  </a>
39
41
  </p>
40
42
  );
@@ -11,7 +11,7 @@ export const HelpLabel = ({ text, id, className }) => {
11
11
  onClick={e => e.preventDefault()}
12
12
  className={`pf-c-form__group-label-help ${className}`}
13
13
  >
14
- <HelpIcon noVerticalAlign />
14
+ <HelpIcon />
15
15
  </button>
16
16
  </Popover>
17
17
  );
@@ -6,7 +6,7 @@ import './SwitcherPF4.scss';
6
6
 
7
7
  const SwitcherPF4 = ({ id, label, tooltip, isChecked, onChange }) => (
8
8
  <Switch
9
- className="foreman-switcher"
9
+ className="foreman-rh-cloud-switcher"
10
10
  id={`rh-cloud-switcher-${id}`}
11
11
  isChecked={isChecked}
12
12
  onChange={onChange}
@@ -1,10 +1,9 @@
1
- .rh-cloud-inventory-page {
2
- label.foreman-switcher {
3
- font-weight: 400;
4
- margin-bottom: 5px;
1
+ label.foreman-rh-cloud-switcher {
2
+ display: block;
3
+ font-weight: 400;
4
+ margin-bottom: 5px;
5
5
 
6
- .switcher-help-label {
7
- padding-left: 5px;
8
- }
6
+ .switcher-help-label {
7
+ padding-left: 5px;
9
8
  }
10
9
  }
@@ -12,7 +12,7 @@ exports[`InsightsCloudSync helpers should return insights cloud Url 1`] = `
12
12
  >
13
13
  <HelpIcon
14
14
  color="currentColor"
15
- noVerticalAlign={true}
15
+ noVerticalAlign={false}
16
16
  size="sm"
17
17
  />
18
18
  </button>
@@ -3,7 +3,7 @@
3
3
  exports[`InsightsCloudSync helpers should return insights cloud Url 1`] = `
4
4
  <Switch
5
5
  aria-label=""
6
- className="foreman-switcher"
6
+ className="foreman-rh-cloud-switcher"
7
7
  id="rh-cloud-switcher-some-id"
8
8
  isChecked={true}
9
9
  isDisabled={false}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman_rh_cloud
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.24.1
4
+ version: 4.0.27
5
5
  platform: ruby
6
6
  authors:
7
7
  - Foreman Red Hat Cloud team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-07-21 00:00:00.000000000 Z
11
+ date: 2021-09-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: katello
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: redhat_access
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: foreman_ansible
43
29
  requirement: !ruby/object:Gem::Requirement
@@ -152,6 +138,7 @@ files:
152
138
  - app/controllers/concerns/inventory_upload/report_actions.rb
153
139
  - app/controllers/concerns/inventory_upload/task_actions.rb
154
140
  - app/controllers/foreman_inventory_upload/accounts_controller.rb
141
+ - app/controllers/foreman_inventory_upload/cloud_status_controller.rb
155
142
  - app/controllers/foreman_inventory_upload/reports_controller.rb
156
143
  - app/controllers/foreman_inventory_upload/tasks_controller.rb
157
144
  - app/controllers/foreman_inventory_upload/uploads_controller.rb
@@ -176,6 +163,7 @@ files:
176
163
  - app/services/foreman_rh_cloud/branch_info.rb
177
164
  - app/services/foreman_rh_cloud/cloud_auth.rb
178
165
  - app/services/foreman_rh_cloud/cloud_connector.rb
166
+ - app/services/foreman_rh_cloud/cloud_ping_service.rb
179
167
  - app/services/foreman_rh_cloud/cloud_request.rb
180
168
  - app/services/foreman_rh_cloud/cloud_request_forwarder.rb
181
169
  - app/services/foreman_rh_cloud/insights_status_cleaner.rb
@@ -188,6 +176,7 @@ files:
188
176
  - config/database.yml.example
189
177
  - config/package-lock.json.gh_test
190
178
  - config/package-lock.json.plugin
179
+ - config/rh_cert-api_chain.pem
191
180
  - config/routes.rb
192
181
  - db/migrate/20191215104806_create_insights_hits.foreman_inventory_upload.rb
193
182
  - db/migrate/20191216062008_create_insights_facets.foreman_inventory_upload.rb
@@ -247,6 +236,7 @@ files:
247
236
  - test/controllers/insights_cloud/api/machine_telemetries_controller_test.rb
248
237
  - test/controllers/insights_sync/settings_controller_test.rb
249
238
  - test/controllers/inventory_upload/api/inventory_controller_test.rb
239
+ - test/controllers/inventory_upload/cloud_status_controller_test.rb
250
240
  - test/controllers/reports_controller_test.rb
251
241
  - test/controllers/uploads_controller_test.rb
252
242
  - test/controllers/uploads_settings_controller_test.rb
@@ -265,11 +255,13 @@ files:
265
255
  - test/test_plugin_helper.rb
266
256
  - test/unit/archived_report_generator_test.rb
267
257
  - test/unit/fact_helpers_test.rb
258
+ - test/unit/foreman_rh_cloud_self_host_test.rb
268
259
  - test/unit/insights_facet_test.rb
269
260
  - test/unit/metadata_generator_test.rb
270
261
  - test/unit/rh_cloud_http_proxy_test.rb
271
262
  - test/unit/services/foreman_rh_cloud/branch_info_test.rb
272
263
  - test/unit/services/foreman_rh_cloud/cloud_request_forwarder_test.rb
264
+ - test/unit/services/foreman_rh_cloud/cloud_status_service_test.rb
273
265
  - test/unit/services/foreman_rh_cloud/insights_status_cleaner_test.rb
274
266
  - test/unit/services/foreman_rh_cloud/remediations_retriever_test.rb
275
267
  - test/unit/services/foreman_rh_cloud/template_renderer_helper_test.rb
@@ -418,6 +410,8 @@ files:
418
410
  - webpack/ForemanInventoryUpload/Components/PageHeader/components/CloudConnectorButton/__tests__/__snapshots__/CloudConnectorActions.test.js.snap
419
411
  - webpack/ForemanInventoryUpload/Components/PageHeader/components/CloudConnectorButton/__tests__/__snapshots__/CloudConnectorButton.test.js.snap
420
412
  - webpack/ForemanInventoryUpload/Components/PageHeader/components/CloudConnectorButton/index.js
413
+ - webpack/ForemanInventoryUpload/Components/PageHeader/components/CloudPingModal/index.js
414
+ - webpack/ForemanInventoryUpload/Components/PageHeader/components/CloudPingModal/index.scss
421
415
  - webpack/ForemanInventoryUpload/Components/PageHeader/components/PageDescription/PageDescription.js
422
416
  - webpack/ForemanInventoryUpload/Components/PageHeader/components/PageDescription/__tests__/PageDescription.test.js
423
417
  - webpack/ForemanInventoryUpload/Components/PageHeader/components/PageDescription/__tests__/__snapshots__/PageDescription.test.js.snap
@@ -548,18 +542,13 @@ files:
548
542
  - webpack/InsightsCloudSync/Components/InsightsSettings/__tests__/__snapshots__/InsightsSettingsSelectors.test.js.snap
549
543
  - webpack/InsightsCloudSync/Components/InsightsSettings/index.js
550
544
  - webpack/InsightsCloudSync/Components/InsightsSettings/insightsSettings.scss
551
- - webpack/InsightsCloudSync/Components/InsightsSyncSwitcher/InsightsSyncSwitcher.fixtures.js
552
- - webpack/InsightsCloudSync/Components/InsightsSyncSwitcher/InsightsSyncSwitcher.js
553
- - webpack/InsightsCloudSync/Components/InsightsSyncSwitcher/__tests__/InsightsSyncSwitcher.test.js
554
- - webpack/InsightsCloudSync/Components/InsightsSyncSwitcher/__tests__/__snapshots__/InsightsSyncSwitcher.test.js.snap
555
- - webpack/InsightsCloudSync/Components/InsightsSyncSwitcher/index.js
556
- - webpack/InsightsCloudSync/Components/InsightsSyncSwitcher/insightsSyncSwitcher.scss
557
545
  - webpack/InsightsCloudSync/Components/InsightsTable/InsightsTable.js
558
546
  - webpack/InsightsCloudSync/Components/InsightsTable/InsightsTableActions.js
559
547
  - webpack/InsightsCloudSync/Components/InsightsTable/InsightsTableConstants.js
560
548
  - webpack/InsightsCloudSync/Components/InsightsTable/InsightsTableHelpers.js
561
549
  - webpack/InsightsCloudSync/Components/InsightsTable/InsightsTableReducer.js
562
550
  - webpack/InsightsCloudSync/Components/InsightsTable/InsightsTableSelectors.js
551
+ - webpack/InsightsCloudSync/Components/InsightsTable/Pagination.js
563
552
  - webpack/InsightsCloudSync/Components/InsightsTable/SelectAllAlert.js
564
553
  - webpack/InsightsCloudSync/Components/InsightsTable/__tests__/InsightsTable.test.js
565
554
  - webpack/InsightsCloudSync/Components/InsightsTable/__tests__/InsightsTableActions.test.js
@@ -571,7 +560,6 @@ files:
571
560
  - webpack/InsightsCloudSync/Components/InsightsTable/index.js
572
561
  - webpack/InsightsCloudSync/Components/InsightsTable/table.scss
573
562
  - webpack/InsightsCloudSync/Components/NoTokenEmptyState.js
574
- - webpack/InsightsCloudSync/Components/RemediationModal/RemediateButton.js
575
563
  - webpack/InsightsCloudSync/Components/RemediationModal/RemediationActions.js
576
564
  - webpack/InsightsCloudSync/Components/RemediationModal/RemediationHelpers.js
577
565
  - webpack/InsightsCloudSync/Components/RemediationModal/RemediationModal.js
@@ -580,6 +568,7 @@ files:
580
568
  - webpack/InsightsCloudSync/Components/RemediationModal/RemediationTableConstants.js
581
569
  - webpack/InsightsCloudSync/Components/RemediationModal/Resolutions.js
582
570
  - webpack/InsightsCloudSync/Components/RemediationModal/index.js
571
+ - webpack/InsightsCloudSync/Components/ToolbarDropdown.js
583
572
  - webpack/InsightsCloudSync/Components/__tests__/InsightsHeader.test.js
584
573
  - webpack/InsightsCloudSync/Components/__tests__/NoTokenEmptyState.test.js
585
574
  - webpack/InsightsCloudSync/Components/__tests__/__snapshots__/InsightsHeader.test.js.snap
@@ -669,7 +658,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
669
658
  - !ruby/object:Gem::Version
670
659
  version: '0'
671
660
  requirements: []
672
- rubygems_version: 3.2.15
661
+ rubygems_version: 3.2.22
673
662
  signing_key:
674
663
  specification_version: 4
675
664
  summary: Summary of ForemanRhCloud.
@@ -678,6 +667,7 @@ test_files:
678
667
  - test/controllers/insights_cloud/api/machine_telemetries_controller_test.rb
679
668
  - test/controllers/insights_sync/settings_controller_test.rb
680
669
  - test/controllers/inventory_upload/api/inventory_controller_test.rb
670
+ - test/controllers/inventory_upload/cloud_status_controller_test.rb
681
671
  - test/controllers/reports_controller_test.rb
682
672
  - test/controllers/uploads_controller_test.rb
683
673
  - test/controllers/uploads_settings_controller_test.rb
@@ -696,11 +686,13 @@ test_files:
696
686
  - test/test_plugin_helper.rb
697
687
  - test/unit/archived_report_generator_test.rb
698
688
  - test/unit/fact_helpers_test.rb
689
+ - test/unit/foreman_rh_cloud_self_host_test.rb
699
690
  - test/unit/insights_facet_test.rb
700
691
  - test/unit/metadata_generator_test.rb
701
692
  - test/unit/rh_cloud_http_proxy_test.rb
702
693
  - test/unit/services/foreman_rh_cloud/branch_info_test.rb
703
694
  - test/unit/services/foreman_rh_cloud/cloud_request_forwarder_test.rb
695
+ - test/unit/services/foreman_rh_cloud/cloud_status_service_test.rb
704
696
  - test/unit/services/foreman_rh_cloud/insights_status_cleaner_test.rb
705
697
  - test/unit/services/foreman_rh_cloud/remediations_retriever_test.rb
706
698
  - test/unit/services/foreman_rh_cloud/template_renderer_helper_test.rb
@@ -1 +0,0 @@
1
- export const handleToggleResponse = { data: { insightsSyncEnabled: true } };
@@ -1,45 +0,0 @@
1
- import React, { Component } from 'react';
2
- import PropTypes from 'prop-types';
3
- import { Switch, FieldLevelHelp } from 'patternfly-react';
4
- import { translate as __ } from 'foremanReact/common/I18n';
5
- import './insightsSyncSwitcher.scss';
6
-
7
- class InsightsSyncSwitcher extends Component {
8
- handleToggle = () => {
9
- const { insightsSyncEnabled, setInsightsSyncEnabled } = this.props;
10
-
11
- const toggledInsightsSyncEnabled = !insightsSyncEnabled;
12
- setInsightsSyncEnabled(toggledInsightsSyncEnabled);
13
- };
14
-
15
- render() {
16
- const { insightsSyncEnabled } = this.props;
17
-
18
- return (
19
- <div className="insights_sync_switcher">
20
- <span>Synchronize Automatically</span>
21
- <FieldLevelHelp
22
- content={__(
23
- 'Enable automatic synchronization of Insights recommendations from the Red Hat cloud'
24
- )}
25
- />
26
- <Switch
27
- size="mini"
28
- value={insightsSyncEnabled}
29
- onChange={this.handleToggle}
30
- />
31
- </div>
32
- );
33
- }
34
- }
35
-
36
- InsightsSyncSwitcher.propTypes = {
37
- insightsSyncEnabled: PropTypes.bool,
38
- setInsightsSyncEnabled: PropTypes.func.isRequired,
39
- };
40
-
41
- InsightsSyncSwitcher.defaultProps = {
42
- insightsSyncEnabled: true,
43
- };
44
-
45
- export default InsightsSyncSwitcher;
@@ -1,17 +0,0 @@
1
- import { testComponentSnapshotsWithFixtures } from '@theforeman/test';
2
- import { noop } from 'foremanReact/common/helpers';
3
-
4
- import InsightsSyncSwitcher from '../InsightsSyncSwitcher';
5
-
6
- const fixtures = {
7
- 'render with props': {
8
- insightsSyncEnabled: true,
9
- setInsightsSyncEnabled: noop,
10
- },
11
- /** fixtures, props for the component */
12
- };
13
-
14
- describe('InsightsSyncSwitcher', () => {
15
- describe('rendering', () =>
16
- testComponentSnapshotsWithFixtures(InsightsSyncSwitcher, fixtures));
17
- });
@@ -1,38 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`InsightsSyncSwitcher rendering render with props 1`] = `
4
- <div
5
- className="insights_sync_switcher"
6
- >
7
- <span>
8
- Synchronize Automatically
9
- </span>
10
- <FieldLevelHelp
11
- buttonClass=""
12
- content="Enable automatic synchronization of Insights recommendations from the Red Hat cloud"
13
- placement="top"
14
- rootClose={true}
15
- />
16
- <Switch
17
- animate={true}
18
- baseClass="bootstrap-switch"
19
- bsSize={null}
20
- defaultValue={true}
21
- disabled={false}
22
- handleWidth="auto"
23
- inverse={false}
24
- labelText=" "
25
- labelWidth="auto"
26
- offColor="default"
27
- offText="OFF"
28
- onChange={[Function]}
29
- onColor="primary"
30
- onText="ON"
31
- readonly={false}
32
- size="mini"
33
- tristate={false}
34
- value={true}
35
- wrapperClass="wrapper"
36
- />
37
- </div>
38
- `;
@@ -1 +0,0 @@
1
- export { default } from './InsightsSyncSwitcher';
@@ -1,3 +0,0 @@
1
- .insights_sync_switcher {
2
- margin-bottom: 5px;
3
- }
@@ -1,59 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import { isEmpty } from 'lodash';
4
- import { Button, Popover } from '@patternfly/react-core';
5
- import { translate as __ } from 'foremanReact/common/I18n';
6
- import { foremanUrl } from '../../../ForemanRhCloudHelpers';
7
-
8
- const RemediateButton = ({ isExperimentalMode, selectedIds, toggleModal }) => {
9
- const [isVisible, setVisible] = React.useState(true);
10
-
11
- const popoverContent = __(
12
- `To use this feature, please enable <a href=${foremanUrl(
13
- '/settings?search=name+%3D+lab_features'
14
- )}>Show Experimental Labs</a> in settings.`
15
- );
16
-
17
- let button = (
18
- <Button
19
- variant="primary"
20
- isDisabled={isEmpty(selectedIds)}
21
- onClick={() => {
22
- if (!isExperimentalMode) {
23
- setVisible(value => !value);
24
- } else {
25
- toggleModal();
26
- }
27
- }}
28
- >
29
- {__('Remediate')}
30
- </Button>
31
- );
32
-
33
- if (!isExperimentalMode) {
34
- button = (
35
- <Popover
36
- isVisible={isVisible}
37
- bodyContent={
38
- <div dangerouslySetInnerHTML={{ __html: popoverContent }} />
39
- }
40
- >
41
- {button}
42
- </Popover>
43
- );
44
- }
45
- return button;
46
- };
47
-
48
- RemediateButton.propTypes = {
49
- selectedIds: PropTypes.object,
50
- isExperimentalMode: PropTypes.bool,
51
- toggleModal: PropTypes.func.isRequired,
52
- };
53
-
54
- RemediateButton.defaultProps = {
55
- selectedIds: {},
56
- isExperimentalMode: false,
57
- };
58
-
59
- export default RemediateButton;