foreman_rh_cloud 3.0.21 → 4.0.23

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.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/api/v2/rh_cloud/inventory_controller.rb +50 -0
  3. data/app/controllers/concerns/inventory_upload/report_actions.rb +26 -0
  4. data/app/controllers/concerns/inventory_upload/task_actions.rb +25 -0
  5. data/app/controllers/foreman_inventory_upload/reports_controller.rb +3 -1
  6. data/app/controllers/foreman_inventory_upload/tasks_controller.rb +5 -13
  7. data/app/controllers/foreman_inventory_upload/uploads_controller.rb +4 -4
  8. data/app/controllers/insights_cloud/api/machine_telemetries_controller.rb +1 -0
  9. data/app/controllers/insights_cloud/hits_controller.rb +7 -3
  10. data/app/helpers/foreman_insights_host_helper.rb +19 -0
  11. data/app/services/foreman_rh_cloud/cloud_auth.rb +12 -0
  12. data/app/services/foreman_rh_cloud/cloud_request.rb +14 -0
  13. data/app/services/foreman_rh_cloud/cloud_request_forwarder.rb +1 -6
  14. data/app/services/foreman_rh_cloud/remediations_retriever.rb +1 -4
  15. data/config/package-lock.json.plugin +30931 -0
  16. data/config/routes.rb +19 -0
  17. data/lib/foreman_inventory_upload/generators/fact_helpers.rb +19 -0
  18. data/lib/foreman_inventory_upload/generators/slice.rb +6 -6
  19. data/lib/foreman_rh_cloud/engine.rb +13 -7
  20. data/lib/foreman_rh_cloud/version.rb +1 -1
  21. data/lib/insights_cloud/async/insights_full_sync.rb +4 -14
  22. data/lib/insights_cloud/async/insights_resolutions_sync.rb +1 -4
  23. data/lib/insights_cloud/async/insights_rules_sync.rb +2 -7
  24. data/lib/inventory_sync/async/inventory_full_sync.rb +2 -1
  25. data/lib/inventory_sync/async/inventory_hosts_sync.rb +6 -2
  26. data/lib/inventory_sync/async/inventory_scheduled_sync.rb +12 -0
  27. data/lib/inventory_sync/async/query_inventory_job.rb +1 -4
  28. data/lib/tasks/rh_cloud_inventory.rake +8 -1
  29. data/package.json +1 -1
  30. data/test/controllers/inventory_upload/api/inventory_controller_test.rb +53 -0
  31. data/test/factories/inventory_upload_factories.rb +1 -1
  32. data/test/jobs/insights_full_sync_test.rb +3 -0
  33. data/test/jobs/insights_resolutions_sync_test.rb +3 -0
  34. data/test/jobs/insights_rules_sync_test.rb +3 -0
  35. data/test/jobs/inventory_full_sync_test.rb +3 -0
  36. data/test/jobs/inventory_hosts_sync_test.rb +265 -0
  37. data/test/jobs/inventory_scheduled_sync_test.rb +22 -0
  38. data/test/test_plugin_helper.rb +2 -1
  39. data/test/unit/slice_generator_test.rb +66 -29
  40. data/webpack/ForemanInventoryUpload/Components/FullScreenModal/FullScreenModal.js +1 -1
  41. data/webpack/ForemanInventoryUpload/Components/FullScreenModal/__tests__/__snapshots__/FullScreenModal.test.js.snap +1 -1
  42. data/webpack/ForemanInventoryUpload/Components/FullScreenModal/fullScreenModal.scss +14 -16
  43. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/PageDescription/PageDescription.js +11 -0
  44. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/PageDescription/__tests__/__snapshots__/PageDescription.test.js.snap +11 -0
  45. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SyncButton/SyncButtonActions.js +28 -63
  46. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SyncButton/__tests__/__snapshots__/integrations.test.js.snap +2 -3
  47. data/webpack/ForemanInventoryUpload/Components/Terminal/Terminal.js +1 -1
  48. data/webpack/ForemanInventoryUpload/Components/Terminal/__tests__/Terminal.test.js +1 -1
  49. data/webpack/ForemanInventoryUpload/Components/Terminal/__tests__/__snapshots__/Terminal.test.js.snap +2 -2
  50. data/webpack/ForemanInventoryUpload/Components/Terminal/terminal.scss +25 -27
  51. data/webpack/InsightsCloudSync/Components/InsightsTable/InsightsTableActions.js +19 -19
  52. data/webpack/InsightsCloudSync/Components/InsightsTable/__tests__/__snapshots__/InsightsTable.test.js.snap +0 -2
  53. data/webpack/InsightsCloudSync/Components/InsightsTable/__tests__/__snapshots__/InsightsTableActions.test.js.snap +14 -14
  54. data/webpack/InsightsCloudSync/InsightsCloudSync.js +4 -1
  55. data/webpack/InsightsCloudSync/InsightsCloudSyncActions.js +44 -20
  56. data/webpack/InsightsCloudSync/InsightsCloudSyncConstants.js +2 -0
  57. data/webpack/InsightsCloudSync/__tests__/__snapshots__/InsightsCloudSyncActions.test.js.snap +11 -7
  58. data/webpack/common/ForemanTasks/ForemanTasksActions.js +64 -0
  59. data/webpack/common/ForemanTasks/ForemanTasksHelpers.js +7 -0
  60. data/webpack/common/ForemanTasks/index.js +1 -0
  61. metadata +17 -2
@@ -22,7 +22,7 @@ Array [
22
22
  "errorToast": [Function],
23
23
  "interval": 3000,
24
24
  "type": "API_GET",
25
- "url": "/foreman_inventory_upload/tasks/1",
25
+ "url": "/foreman_tasks/api/tasks/1/details?include_permissions",
26
26
  },
27
27
  ],
28
28
  Array [
@@ -31,7 +31,7 @@ Array [
31
31
  "message": Object {
32
32
  "message": <span>
33
33
  Inventory sync has started:
34
-
34
+ <br />
35
35
  <a
36
36
  href="/foreman_tasks/tasks/1"
37
37
  rel="noopener noreferrer"
@@ -40,7 +40,6 @@ Array [
40
40
  view the task page for more details
41
41
  </a>
42
42
  </span>,
43
- "sticky": false,
44
43
  "type": "info",
45
44
  },
46
45
  },
@@ -72,7 +72,7 @@ class Terminal extends React.Component {
72
72
  return (
73
73
  <Grid.Col sm={12}>
74
74
  <div
75
- className="terminal"
75
+ className="rh-cloud-inventory-terminal"
76
76
  ref={this.terminal}
77
77
  onScroll={this.handleScroll}
78
78
  >
@@ -29,6 +29,6 @@ describe('Terminal', () => {
29
29
  const text = 'some-string-log';
30
30
  const modifiedProps = { ...props, logs: text };
31
31
  const wrapper = mount(<Terminal {...modifiedProps} />);
32
- expect(wrapper.find('.terminal p').text()).toEqual(text);
32
+ expect(wrapper.find('.rh-cloud-inventory-terminal p').text()).toEqual(text);
33
33
  });
34
34
  });
@@ -7,7 +7,7 @@ exports[`Terminal rendering render with props 1`] = `
7
7
  sm={12}
8
8
  >
9
9
  <div
10
- className="terminal"
10
+ className="rh-cloud-inventory-terminal"
11
11
  onScroll={[Function]}
12
12
  >
13
13
  <Grid
@@ -65,7 +65,7 @@ exports[`Terminal rendering render without Props 1`] = `
65
65
  sm={12}
66
66
  >
67
67
  <div
68
- className="terminal"
68
+ className="rh-cloud-inventory-terminal"
69
69
  onScroll={[Function]}
70
70
  >
71
71
  <Grid
@@ -1,34 +1,32 @@
1
- .rh-cloud-inventory-page {
2
- .terminal {
3
- height: 200px;
4
- background-color: #222;
5
- padding: 10px 0;
6
- margin-bottom: 20px;
7
- overflow-y: scroll;
8
- overflow-x: hidden;
1
+ .rh-cloud-inventory-terminal {
2
+ height: 200px;
3
+ background-color: #222;
4
+ padding: 10px 0;
5
+ margin-bottom: 20px;
6
+ overflow-y: scroll;
7
+ overflow-x: hidden;
9
8
 
10
- p {
11
- font-family: monospace;
12
- font-size: 16px;
13
- color: #22da26;
14
- overflow-wrap: anywhere;
9
+ p {
10
+ font-family: monospace;
11
+ font-size: 16px;
12
+ color: #22da26;
13
+ overflow-wrap: anywhere;
15
14
 
16
- &.terminal_error {
17
- color: #f00;
18
- }
15
+ &.terminal_error {
16
+ color: #f00;
19
17
  }
18
+ }
20
19
 
21
- &::-webkit-scrollbar {
22
- width: 12px;
23
- height: 12px;
24
- background: #aaa;
25
- }
20
+ &::-webkit-scrollbar {
21
+ width: 12px;
22
+ height: 12px;
23
+ background: #aaa;
24
+ }
26
25
 
27
- &::-webkit-scrollbar-thumb {
28
- background: #222;
29
- border-radius: 6px;
30
- border: 3px solid transparent;
31
- background-clip: content-box;
32
- }
26
+ &::-webkit-scrollbar-thumb {
27
+ background: #222;
28
+ border-radius: 6px;
29
+ border: 3px solid transparent;
30
+ background-clip: content-box;
33
31
  }
34
32
  }
@@ -19,25 +19,6 @@ export const fetchInsights = (queryParams = {}) => (dispatch, getState) => {
19
19
  ...queryParams,
20
20
  };
21
21
 
22
- dispatch(
23
- get({
24
- key: INSIGHTS_HITS_API_KEY,
25
- url: INSIGHTS_HITS_PATH,
26
- params: {
27
- page,
28
- per_page: perPage,
29
- search: query,
30
- order: `${sortBy} ${sortOrder}`,
31
- },
32
- handleSuccess: response => {
33
- if (isSelectAll) {
34
- selectAllIds(dispatch, response.data.hits || []);
35
- dispatch(selectAll());
36
- }
37
- },
38
- })
39
- );
40
-
41
22
  const uri = new URI();
42
23
  uri.search({
43
24
  page,
@@ -58,6 +39,25 @@ export const fetchInsights = (queryParams = {}) => (dispatch, getState) => {
58
39
  if (!isSelectAll) {
59
40
  dispatch(setSelectAllAlert(false));
60
41
  }
42
+
43
+ return dispatch(
44
+ get({
45
+ key: INSIGHTS_HITS_API_KEY,
46
+ url: INSIGHTS_HITS_PATH,
47
+ params: {
48
+ page,
49
+ per_page: perPage,
50
+ search: query,
51
+ order: `${sortBy} ${sortOrder}`,
52
+ },
53
+ handleSuccess: response => {
54
+ if (isSelectAll) {
55
+ selectAllIds(dispatch, response.data.hits || []);
56
+ dispatch(selectAll());
57
+ }
58
+ },
59
+ })
60
+ );
61
61
  };
62
62
 
63
63
  const selectAllIds = (dispatch, results, prevSelectedIds = {}) => {
@@ -61,7 +61,6 @@ exports[`InsightsTable rendering render with Props 1`] = `
61
61
  expandId="expandable-toggle"
62
62
  gridBreakPoint="grid-md"
63
63
  isStickyHeader={false}
64
- isTreeTable={false}
65
64
  onSelect={[Function]}
66
65
  onSort={[Function]}
67
66
  ouiaSafe={true}
@@ -138,7 +137,6 @@ exports[`InsightsTable rendering render with Props 1`] = `
138
137
  "currPage": "Current page",
139
138
  "items": "",
140
139
  "itemsPerPage": "Items per page",
141
- "ofWord": "of",
142
140
  "optionsToggle": "Items per page",
143
141
  "page": "",
144
142
  "paginationTitle": "Pagination",
@@ -26,6 +26,20 @@ Array [
26
26
 
27
27
  exports[`insights table actions should fetchInsights 1`] = `
28
28
  Array [
29
+ Array [
30
+ Object {
31
+ "payload": Object {
32
+ "args": Array [
33
+ Object {
34
+ "pathname": "/foreman_rh_cloud/insights_cloud",
35
+ "search": "?page=2&per_page=7&search=&sort_by=&sort_order=&select_all=true",
36
+ },
37
+ ],
38
+ "method": "push",
39
+ },
40
+ "type": "@@router/CALL_HISTORY_METHOD",
41
+ },
42
+ ],
29
43
  Array [
30
44
  Object {
31
45
  "payload": Object {
@@ -61,20 +75,6 @@ Array [
61
75
  "url": "/insights_cloud/hits",
62
76
  },
63
77
  ],
64
- Array [
65
- Object {
66
- "payload": Object {
67
- "args": Array [
68
- Object {
69
- "pathname": "/foreman_rh_cloud/insights_cloud",
70
- "search": "?page=2&per_page=7&search=&sort_by=&sort_order=&select_all=true",
71
- },
72
- ],
73
- "method": "push",
74
- },
75
- "type": "@@router/CALL_HISTORY_METHOD",
76
- },
77
- ],
78
78
  ]
79
79
  `;
80
80
 
@@ -36,7 +36,10 @@ const InsightsCloudSync = ({
36
36
  toolbarButtons={
37
37
  <>
38
38
  <RemediationModal />
39
- <Button variant="secondary" onClick={syncInsights}>
39
+ <Button
40
+ variant="secondary"
41
+ onClick={() => syncInsights(fetchInsights, query)}
42
+ >
40
43
  {__('Start recommendations sync')}
41
44
  </Button>
42
45
  </>
@@ -1,25 +1,49 @@
1
- import React from 'react';
2
1
  import { post } from 'foremanReact/redux/API';
3
2
  import { translate as __ } from 'foremanReact/common/I18n';
4
3
  import { insightsCloudUrl } from './InsightsCloudSyncHelpers';
5
- import { INSIGHTS_CLOUD_SYNC } from './InsightsCloudSyncConstants';
6
- import { foremanUrl } from '../ForemanRhCloudHelpers';
4
+ import {
5
+ INSIGHTS_CLOUD_SYNC,
6
+ INSIGHTS_CLOUD_SYNC_TASK,
7
+ } from './InsightsCloudSyncConstants';
8
+ import { setupTaskPolling, taskRelatedToast } from '../common/ForemanTasks';
7
9
 
8
- export const syncInsights = () =>
9
- post({
10
- key: INSIGHTS_CLOUD_SYNC,
11
- url: insightsCloudUrl('tasks'),
12
- successToast: response => (
13
- <span>
14
- {__('Recommendation sync has started: ')}
15
- <a
16
- target="_blank"
17
- rel="noopener noreferrer"
18
- href={foremanUrl(`/foreman_tasks/tasks/${response.data?.task?.id}`)}
19
- >
20
- {__('view the task in progress')}
21
- </a>
22
- </span>
23
- ),
24
- errorToast: error => `${__('Recommendation sync has failed: ')} ${error}`,
10
+ export const syncInsights = (fetchInsights, query) => dispatch =>
11
+ dispatch(
12
+ post({
13
+ key: INSIGHTS_CLOUD_SYNC,
14
+ url: insightsCloudUrl('tasks'),
15
+ handleSuccess: ({
16
+ data: {
17
+ task: { id },
18
+ },
19
+ }) => {
20
+ dispatch(syncInsightsStartedToast(id));
21
+ dispatch(setupInsightsTaskPolling(id, fetchInsights, query, dispatch));
22
+ },
23
+ errorToast: error => syncInsightsError(error),
24
+ })
25
+ );
26
+
27
+ const syncInsightsError = error =>
28
+ `${__('Recommendation sync has failed: ')} ${error}`;
29
+
30
+ const syncInsightsStartedToast = taskId =>
31
+ taskRelatedToast(taskId, 'info', __('Recommendation sync has started: '));
32
+
33
+ const setupInsightsTaskPolling = (taskId, fetchInsights, query, dispatch) =>
34
+ setupTaskPolling({
35
+ taskId,
36
+ key: INSIGHTS_CLOUD_SYNC_TASK,
37
+ onTaskSuccess: () => {
38
+ fetchInsights({ query, page: 1 });
39
+ dispatch(
40
+ taskRelatedToast(
41
+ taskId,
42
+ 'success',
43
+ __('Recommendations synced successfully')
44
+ )
45
+ );
46
+ },
47
+ taskErrorMessage: data => syncInsightsError(data.humanized.errors),
48
+ dispatch,
25
49
  });
@@ -4,6 +4,8 @@ import { foremanUrl } from '../ForemanRhCloudHelpers';
4
4
 
5
5
  export const INSIGHTS_CLOUD_SYNC = 'INSIGHTS_CLOUD_SYNC';
6
6
 
7
+ export const INSIGHTS_CLOUD_SYNC_TASK = 'INSIGHTS_CLOUD_SYNC_TASK';
8
+
7
9
  export const INSIGHTS_SYNC_PAGE_TITLE = __('Red Hat Insights');
8
10
 
9
11
  export const INSIGHTS_PATH = foremanUrl('/foreman_rh_cloud/insights_cloud');
@@ -1,11 +1,15 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
3
  exports[`Insights cloud sync actions should syncInsights 1`] = `
4
- Object {
5
- "errorToast": [Function],
6
- "key": "INSIGHTS_CLOUD_SYNC",
7
- "successToast": [Function],
8
- "type": "post-some-type",
9
- "url": "/insights_cloud/tasks",
10
- }
4
+ Array [
5
+ Array [
6
+ Object {
7
+ "errorToast": [Function],
8
+ "handleSuccess": [Function],
9
+ "key": "INSIGHTS_CLOUD_SYNC",
10
+ "type": "post-some-type",
11
+ "url": "/insights_cloud/tasks",
12
+ },
13
+ ],
14
+ ]
11
15
  `;
@@ -0,0 +1,64 @@
1
+ import React from 'react';
2
+ import { get } from 'foremanReact/redux/API';
3
+ import { withInterval } from 'foremanReact/redux/middlewares/IntervalMiddleware';
4
+ import { addToast } from 'foremanReact/redux/actions/toasts';
5
+ import { translate as __ } from 'foremanReact/common/I18n';
6
+ import { foremanTaskDetailsUrl } from './ForemanTasksHelpers';
7
+ import { foremanUrl } from '../../ForemanRhCloudHelpers';
8
+
9
+ export const setupTaskPolling = ({
10
+ taskId,
11
+ key,
12
+ onTaskSuccess,
13
+ onTaskError,
14
+ taskErrorMessage,
15
+ dispatch,
16
+ }) =>
17
+ withInterval(
18
+ get({
19
+ key,
20
+ url: foremanTaskDetailsUrl(taskId),
21
+ handleSuccess: ({ data }, stopTaskInterval) => {
22
+ if (data.result === 'success') {
23
+ stopTaskInterval();
24
+ onTaskSuccess(data, dispatch);
25
+ }
26
+ if (data.result === 'error') {
27
+ stopTaskInterval();
28
+ if (taskErrorMessage === undefined) {
29
+ taskErrorMessage = errorData =>
30
+ `${__('The task failed with the following error:')} ${
31
+ errorData.humanized.errors
32
+ }`;
33
+ }
34
+ if (onTaskError === undefined) {
35
+ onTaskError = errorData =>
36
+ dispatch(defaultTaskErrorHandler(errorData, taskErrorMessage));
37
+ }
38
+ onTaskError(data, dispatch);
39
+ }
40
+ },
41
+ errorToast: error => `Could not get task details: ${error}`,
42
+ })
43
+ );
44
+
45
+ export const taskRelatedToast = (taskID, type, message) =>
46
+ addToast({
47
+ type,
48
+ message: (
49
+ <span>
50
+ {message}
51
+ <br />
52
+ <a
53
+ target="_blank"
54
+ rel="noopener noreferrer"
55
+ href={foremanUrl(`/foreman_tasks/tasks/${taskID}`)}
56
+ >
57
+ {__('view the task page for more details')}
58
+ </a>
59
+ </span>
60
+ ),
61
+ });
62
+
63
+ const defaultTaskErrorHandler = (data, taskErrorMessage) =>
64
+ taskRelatedToast(data.id, 'error', taskErrorMessage(data));
@@ -0,0 +1,7 @@
1
+ import { foremanUrl } from '../../ForemanRhCloudHelpers';
2
+
3
+ export const foremanTasksApiPath = path =>
4
+ foremanUrl(`/foreman_tasks/api/tasks/${path}`);
5
+
6
+ export const foremanTaskDetailsUrl = id =>
7
+ foremanTasksApiPath(`${id}/details?include_permissions`);
@@ -0,0 +1 @@
1
+ export { setupTaskPolling, taskRelatedToast } from './ForemanTasksActions';
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: 3.0.21
4
+ version: 4.0.23
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-05-20 00:00:00.000000000 Z
11
+ date: 2021-06-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: katello
@@ -146,8 +146,11 @@ files:
146
146
  - LICENSE
147
147
  - README.md
148
148
  - Rakefile
149
+ - app/controllers/api/v2/rh_cloud/inventory_controller.rb
149
150
  - app/controllers/concerns/insights_cloud/candlepin_cache.rb
150
151
  - app/controllers/concerns/insights_cloud/client_authentication.rb
152
+ - app/controllers/concerns/inventory_upload/report_actions.rb
153
+ - app/controllers/concerns/inventory_upload/task_actions.rb
151
154
  - app/controllers/foreman_inventory_upload/accounts_controller.rb
152
155
  - app/controllers/foreman_inventory_upload/reports_controller.rb
153
156
  - app/controllers/foreman_inventory_upload/tasks_controller.rb
@@ -157,6 +160,7 @@ files:
157
160
  - app/controllers/insights_cloud/hits_controller.rb
158
161
  - app/controllers/insights_cloud/settings_controller.rb
159
162
  - app/controllers/insights_cloud/tasks_controller.rb
163
+ - app/helpers/foreman_insights_host_helper.rb
160
164
  - app/helpers/foreman_inventory_upload_helper.rb
161
165
  - app/helpers/foreman_inventory_upload_host_helper.rb
162
166
  - app/models/concerns/rh_cloud_host.rb
@@ -172,6 +176,7 @@ files:
172
176
  - app/services/foreman_rh_cloud/branch_info.rb
173
177
  - app/services/foreman_rh_cloud/cloud_auth.rb
174
178
  - app/services/foreman_rh_cloud/cloud_connector.rb
179
+ - app/services/foreman_rh_cloud/cloud_request.rb
175
180
  - app/services/foreman_rh_cloud/cloud_request_forwarder.rb
176
181
  - app/services/foreman_rh_cloud/remediations_retriever.rb
177
182
  - app/services/foreman_rh_cloud/template_renderer_helper.rb
@@ -182,6 +187,7 @@ files:
182
187
  - config/Gemfile.lock.gh_test
183
188
  - config/database.yml.example
184
189
  - config/package-lock.json.gh_test
190
+ - config/package-lock.json.plugin
185
191
  - config/routes.rb
186
192
  - db/migrate/20191215104806_create_insights_hits.foreman_inventory_upload.rb
187
193
  - db/migrate/20191216062008_create_insights_facets.foreman_inventory_upload.rb
@@ -237,6 +243,7 @@ files:
237
243
  - test/controllers/accounts_controller_test.rb
238
244
  - test/controllers/insights_cloud/api/machine_telemetries_controller_test.rb
239
245
  - test/controllers/insights_sync/settings_controller_test.rb
246
+ - test/controllers/inventory_upload/api/inventory_controller_test.rb
240
247
  - test/controllers/reports_controller_test.rb
241
248
  - test/controllers/uploads_controller_test.rb
242
249
  - test/controllers/uploads_settings_controller_test.rb
@@ -246,6 +253,8 @@ files:
246
253
  - test/jobs/insights_resolutions_sync_test.rb
247
254
  - test/jobs/insights_rules_sync_test.rb
248
255
  - test/jobs/inventory_full_sync_test.rb
256
+ - test/jobs/inventory_hosts_sync_test.rb
257
+ - test/jobs/inventory_scheduled_sync_test.rb
249
258
  - test/jobs/upload_report_job_test.rb
250
259
  - test/models/insights_client_report_status_test.rb
251
260
  - test/test_plugin_helper.rb
@@ -620,6 +629,9 @@ files:
620
629
  - webpack/__tests__/__snapshots__/ForemanRhCloudHelpers.test.js.snap
621
630
  - webpack/__tests__/__snapshots__/ForemanRhCloudSelectors.test.js.snap
622
631
  - webpack/__tests__/__snapshots__/ForemanRhCloudTestHelpers.test.js.snap
632
+ - webpack/common/ForemanTasks/ForemanTasksActions.js
633
+ - webpack/common/ForemanTasks/ForemanTasksHelpers.js
634
+ - webpack/common/ForemanTasks/index.js
623
635
  - webpack/common/Switcher/HelpLabel.js
624
636
  - webpack/common/Switcher/SwitcherPF4.js
625
637
  - webpack/common/Switcher/SwitcherPF4.scss
@@ -659,6 +671,7 @@ test_files:
659
671
  - test/controllers/accounts_controller_test.rb
660
672
  - test/controllers/insights_cloud/api/machine_telemetries_controller_test.rb
661
673
  - test/controllers/insights_sync/settings_controller_test.rb
674
+ - test/controllers/inventory_upload/api/inventory_controller_test.rb
662
675
  - test/controllers/reports_controller_test.rb
663
676
  - test/controllers/uploads_controller_test.rb
664
677
  - test/controllers/uploads_settings_controller_test.rb
@@ -668,6 +681,8 @@ test_files:
668
681
  - test/jobs/insights_resolutions_sync_test.rb
669
682
  - test/jobs/insights_rules_sync_test.rb
670
683
  - test/jobs/inventory_full_sync_test.rb
684
+ - test/jobs/inventory_hosts_sync_test.rb
685
+ - test/jobs/inventory_scheduled_sync_test.rb
671
686
  - test/jobs/upload_report_job_test.rb
672
687
  - test/models/insights_client_report_status_test.rb
673
688
  - test/test_plugin_helper.rb