foreman_rh_cloud 1.0.7 → 1.0.8

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 (98) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/foreman_inventory_upload/accounts_controller.rb +1 -0
  3. data/app/controllers/foreman_inventory_upload/uploads_controller.rb +22 -3
  4. data/app/controllers/foreman_rh_cloud/react_controller.rb +3 -0
  5. data/app/controllers/insights_cloud/tasks_controller.rb +8 -0
  6. data/app/helpers/foreman_inventory_upload_host_helper.rb +11 -0
  7. data/app/models/insights_facet.rb +3 -0
  8. data/app/models/insights_hit.rb +6 -0
  9. data/app/models/setting/rh_cloud.rb +1 -0
  10. data/app/overrides/hosts_list.rb +13 -0
  11. data/app/views/foreman_rh_cloud/react/insights_cloud.html.erb +1 -0
  12. data/config/routes.rb +7 -0
  13. data/db/migrate/20191215104806_create_insights_hits.foreman_inventory_upload.rb +14 -0
  14. data/db/migrate/20191216062008_create_insights_facets.foreman_inventory_upload.rb +7 -0
  15. data/lib/foreman_inventory_upload/generators/fact_helpers.rb +1 -1
  16. data/lib/foreman_inventory_upload/generators/slice.rb +1 -0
  17. data/lib/foreman_inventory_upload/notifications/manifest_import_success_notification_override.rb +19 -0
  18. data/lib/foreman_rh_cloud/engine.rb +21 -9
  19. data/lib/foreman_rh_cloud/version.rb +1 -1
  20. data/lib/insights_cloud.rb +15 -0
  21. data/lib/insights_cloud/async/insights_full_sync.rb +92 -0
  22. data/test/jobs/insights_full_sync_test.rb +62 -0
  23. data/test/unit/slice_generator_test.rb +8 -1
  24. data/webpack/ForemanInventoryUpload/Components/AccountList/AccountList.fixtures.js +6 -0
  25. data/webpack/ForemanInventoryUpload/Components/AccountList/AccountListActions.js +2 -1
  26. data/webpack/ForemanInventoryUpload/Components/AccountList/AccountListReducer.js +9 -1
  27. data/webpack/ForemanInventoryUpload/Components/AccountList/AccountListSelectors.js +7 -0
  28. data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/AccountListActions.test.js +8 -1
  29. data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/AccountListReducer.test.js +11 -0
  30. data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/AccountListSelectors.test.js +7 -2
  31. data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/__snapshots__/AccountListActions.test.js.snap +20 -2
  32. data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/__snapshots__/AccountListReducer.test.js.snap +10 -0
  33. data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/__snapshots__/AccountListSelectors.test.js.snap +3 -0
  34. data/webpack/ForemanInventoryUpload/Components/AutoUploadSwitcher/AutoUploadSwitcher.js +6 -6
  35. data/webpack/ForemanInventoryUpload/Components/AutoUploadSwitcher/__tests__/__snapshots__/AutoUploadSwitcher.test.js.snap +9 -9
  36. data/webpack/ForemanInventoryUpload/Components/AutoUploadSwitcher/autoUploadSwitcher.scss +1 -1
  37. data/webpack/ForemanInventoryUpload/Components/Dashboard/__tests__/DashboardActions.test.js +2 -2
  38. data/webpack/ForemanInventoryUpload/Components/Dashboard/__tests__/DashboardSelectors.test.js +2 -2
  39. data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/HostObfuscationSwitcher.fixtures.js +1 -0
  40. data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/HostObfuscationSwitcher.js +29 -0
  41. data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/HostObfuscationSwitcherActions.js +30 -0
  42. data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/HostObfuscationSwitcherConstants.js +3 -0
  43. data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/__tests__/HostObfuscationSwitcher.test.js +14 -0
  44. data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/__tests__/HostObfuscationSwitcherActions.test.js +14 -0
  45. data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/__tests__/__snapshots__/HostObfuscationSwitcher.test.js.snap +38 -0
  46. data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/__tests__/__snapshots__/HostObfuscationSwitcherActions.test.js.snap +14 -0
  47. data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/hostObfuscationSwitcher.scss +0 -0
  48. data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/index.js +20 -0
  49. data/webpack/ForemanInventoryUpload/Components/InventoryFilter/__tests__/InventoryFilterSelectors.test.js +2 -2
  50. data/webpack/ForemanInventoryUpload/Components/InventorySettings/InventorySettings.js +15 -0
  51. data/webpack/ForemanInventoryUpload/Components/InventorySettings/__tests__/InventorySettings.test.js +13 -0
  52. data/webpack/ForemanInventoryUpload/Components/InventorySettings/__tests__/__snapshots__/InventorySettings.test.js.snap +13 -0
  53. data/webpack/ForemanInventoryUpload/Components/InventorySettings/index.js +1 -0
  54. data/webpack/ForemanInventoryUpload/Components/InventorySettings/inventorySettings.scss +15 -0
  55. data/webpack/ForemanInventoryUpload/Components/PageHeader/PageHeader.js +14 -4
  56. data/webpack/ForemanInventoryUpload/Components/PageHeader/__tests__/__snapshots__/PageHeader.test.js.snap +22 -3
  57. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/DocsButton/DocsButton.js +17 -0
  58. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/DocsButton/__tests__/DocsButton.test.js +13 -0
  59. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/DocsButton/__tests__/__snapshots__/DocsButton.test.js.snap +20 -0
  60. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/DocsButton/index.js +1 -0
  61. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/HistoryButton/HistoryButton.js +18 -0
  62. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/HistoryButton/__tests__/HistoryButton.test.js +14 -0
  63. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/HistoryButton/__tests__/__snapshots__/HistoryButton.test.js.snap +21 -0
  64. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/HistoryButton/index.js +1 -0
  65. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/PageDescription/PageDescription.js +24 -0
  66. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/PageDescription/__tests__/PageDescription.test.js +11 -0
  67. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/PageDescription/__tests__/__snapshots__/PageDescription.test.js.snap +17 -0
  68. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/PageDescription/index.js +1 -0
  69. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/ToolbarButtons/ToolbarButtons.js +13 -0
  70. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/ToolbarButtons/__tests__/ToolbarButtons.test.js +12 -0
  71. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/ToolbarButtons/__tests__/__snapshots__/ToolbarButtons.test.js.snap +10 -0
  72. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/ToolbarButtons/index.js +1 -0
  73. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/ToolbarButtons/toolbarButtons.scss +7 -0
  74. data/webpack/ForemanInventoryUpload/ForemanInventoryConstants.js +4 -0
  75. data/webpack/ForemanInventoryUpload/ForemanInventoryHelpers.js +8 -0
  76. data/webpack/ForemanInventoryUpload/SubscriptionsPageExtension/SubscriptionsPageExtensionActions.js +34 -0
  77. data/webpack/ForemanInventoryUpload/__tests__/ForemanInventoryHelpers.test.js +2 -1
  78. data/webpack/ForemanInventoryUpload/__tests__/__snapshots__/ForemanInventoryHelpers.test.js.snap +2 -0
  79. data/webpack/ForemanRhCloudReducers.js +2 -0
  80. data/webpack/ForemanRhCloudSelectors.js +2 -0
  81. data/webpack/ForemanRhCloudTestHelpers.js +2 -1
  82. data/webpack/InsightsCloudSync/InsightsCloudSync.js +26 -0
  83. data/webpack/InsightsCloudSync/InsightsCloudSync.test.js +13 -0
  84. data/webpack/InsightsCloudSync/InsightsCloudSyncActions.js +23 -0
  85. data/webpack/InsightsCloudSync/InsightsCloudSyncConstants.js +6 -0
  86. data/webpack/InsightsCloudSync/InsightsCloudSyncHelpers.js +3 -0
  87. data/webpack/InsightsCloudSync/InsightsCloudSyncReducers.js +3 -0
  88. data/webpack/InsightsCloudSync/__snapshots__/InsightsCloudSync.test.js.snap +25 -0
  89. data/webpack/InsightsCloudSync/__tests__/InsightsCloudSyncHelpers.test.js +11 -0
  90. data/webpack/InsightsCloudSync/__tests__/__snapshots__/InsightsCloudSyncHelpers.test.js.snap +3 -0
  91. data/webpack/InsightsCloudSync/index.js +17 -0
  92. data/webpack/__tests__/ForemanRhCloudSelectors.test.js +4 -2
  93. data/webpack/__tests__/ForemanRhCloudTestHelpers.test.js +2 -2
  94. data/webpack/__tests__/__snapshots__/ForemanRhCloudSelectors.test.js.snap +9 -0
  95. data/webpack/__tests__/__snapshots__/ForemanRhCloudTestHelpers.test.js.snap +3 -0
  96. data/webpack/index.js +7 -0
  97. data/webpack/subscriptions_extension_index.js +8 -0
  98. metadata +59 -2
@@ -0,0 +1,10 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`ToolbarButtons rendering render without Props 1`] = `
4
+ <div
5
+ className="inventory_toolbar_buttons"
6
+ >
7
+ <HistoryButton />
8
+ <DocsButton />
9
+ </div>
10
+ `;
@@ -0,0 +1 @@
1
+ export { default } from './ToolbarButtons';
@@ -0,0 +1,7 @@
1
+ .inventory_toolbar_buttons {
2
+ float: right;
3
+
4
+ .tasks_history_button {
5
+ margin-right: 5px;
6
+ }
7
+ }
@@ -1,3 +1,7 @@
1
1
  import { translate as __ } from 'foremanReact/common/I18n';
2
2
 
3
3
  export const INVENTORY_PAGE_TITLE = __('Red Hat Inventory Uploads');
4
+
5
+ export const DOCS_BUTTON_TEXT = __(' Documentation');
6
+
7
+ export const ACTIONS_HISTORY_BUTTON_TEXT = __(' Actions history');
@@ -2,3 +2,11 @@ import { foremanUrl } from '../ForemanRhCloudHelpers';
2
2
 
3
3
  export const inventoryUrl = path =>
4
4
  foremanUrl(`/foreman_inventory_upload/${path}`);
5
+
6
+ export const getInventoryDocsUrl = () =>
7
+ 'https://access.redhat.com/products/subscription-central';
8
+
9
+ export const getActionsHistoryUrl = () =>
10
+ foremanUrl(
11
+ '/foreman_tasks/tasks?search=action++%3D++ForemanInventoryUpload%3A%3AAsync%3A%3AGenerateReportJob+or+action++%3D++ForemanInventoryUpload%3A%3AAsync%3A%3AGenerateAllReportsJob&page=1'
12
+ );
@@ -0,0 +1,34 @@
1
+ import API from 'foremanReact/API';
2
+ import { translate as __ } from 'foremanReact/common/I18n';
3
+ import { foremanUrl } from '../../ForemanRhCloudHelpers';
4
+ import { inventoryUrl } from '../ForemanInventoryHelpers';
5
+
6
+ export const subscriptionCountListener = (itemsCount, unsubscribe) => {
7
+ const showToast = autoUploadEnabled => {
8
+ !autoUploadEnabled &&
9
+ window.tfm.toastNotifications.notify({
10
+ message: __('Now you can enable Red Hat inventory upload'),
11
+ type: 'info',
12
+ link: {
13
+ children: __('Go to inventory upload settings'),
14
+ href: foremanUrl('foreman_rh_cloud/inventory_upload'),
15
+ },
16
+ });
17
+
18
+ unsubscribe();
19
+ };
20
+
21
+ itemsCount && fetchInventoryAutoUploadSetting(showToast);
22
+ };
23
+
24
+ const fetchInventoryAutoUploadSetting = async processApiResponse => {
25
+ let settingValue;
26
+ try {
27
+ const {
28
+ data: { autoUploadEnabled },
29
+ } = await API.get(inventoryUrl('auto_upload'));
30
+ settingValue = autoUploadEnabled;
31
+ } finally {
32
+ processApiResponse(settingValue);
33
+ }
34
+ };
@@ -1,10 +1,11 @@
1
1
  import { testSelectorsSnapshotWithFixtures } from 'react-redux-test-utils';
2
- import { inventoryUrl } from '../ForemanInventoryHelpers';
2
+ import { inventoryUrl, getInventoryDocsUrl } from '../ForemanInventoryHelpers';
3
3
 
4
4
  global.URL_PREFIX = '';
5
5
 
6
6
  const fixtures = {
7
7
  'should return inventory Url': () => inventoryUrl('test_path'),
8
+ 'should return inventory docs url': () => getInventoryDocsUrl(),
8
9
  };
9
10
 
10
11
  describe('ForemanInventoryUpload helpers', () =>
@@ -1,3 +1,5 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
3
  exports[`ForemanInventoryUpload helpers should return inventory Url 1`] = `"/foreman_inventory_upload/test_path"`;
4
+
5
+ exports[`ForemanInventoryUpload helpers should return inventory docs url 1`] = `"https://access.redhat.com/products/subscription-central"`;
@@ -1,8 +1,10 @@
1
1
  import { combineReducers } from 'redux';
2
2
  import inventoryUploadReducers from './ForemanInventoryUpload/ForemanInventoryUploadReducers';
3
+ import insightsReducers from './InsightsCloudSync/InsightsCloudSyncReducers';
3
4
 
4
5
  export default {
5
6
  ForemanRhCloud: combineReducers({
6
7
  ...inventoryUploadReducers,
8
+ ...insightsReducers,
7
9
  }),
8
10
  };
@@ -1,3 +1,5 @@
1
1
  export const selectForemanRhCloud = state => state.ForemanRhCloud;
2
2
  export const selectForemanInventoryUpload = state =>
3
3
  selectForemanRhCloud(state).inventoryUpload;
4
+ export const selectInsightsCloudSync = state =>
5
+ selectForemanRhCloud(state).InsightsCloudSync;
@@ -1,5 +1,6 @@
1
- export const inventoryStateWrapper = innerState => ({
1
+ export const rhCloudStateWrapper = innerState => ({
2
2
  ForemanRhCloud: {
3
3
  inventoryUpload: { ...innerState },
4
+ InsightsCloudSync: { ...innerState },
4
5
  },
5
6
  });
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ import { IntlProvider } from 'react-intl';
3
+ import PropTypes from 'prop-types';
4
+ import { translate as __ } from 'foremanReact/common/I18n';
5
+ import { Button } from 'patternfly-react';
6
+ import { INSIGHTS_SYNC_PAGE_TITLE } from './InsightsCloudSyncConstants';
7
+
8
+ const InsightsCloudSync = ({ syncInsights }) => {
9
+ document.title = INSIGHTS_SYNC_PAGE_TITLE;
10
+ return (
11
+ <IntlProvider locale={navigator.language}>
12
+ <div className="insights-cloud-sync">
13
+ <h1>{__('Red Hat Insights Sync')}</h1>
14
+ <Button bsStyle="primary" onClick={syncInsights}>
15
+ {__('Sync now')}
16
+ </Button>
17
+ </div>
18
+ </IntlProvider>
19
+ );
20
+ };
21
+
22
+ InsightsCloudSync.propTypes = {
23
+ syncInsights: PropTypes.func.isRequired,
24
+ };
25
+
26
+ export default InsightsCloudSync;
@@ -0,0 +1,13 @@
1
+ import { testComponentSnapshotsWithFixtures } from 'react-redux-test-utils';
2
+ import { noop } from 'patternfly-react';
3
+
4
+ import InsightsCloudSync from './InsightsCloudSync';
5
+
6
+ const fixtures = {
7
+ render: {
8
+ syncInsights: noop,
9
+ },
10
+ };
11
+
12
+ describe('InsightsCloudSync', () =>
13
+ testComponentSnapshotsWithFixtures(InsightsCloudSync, fixtures));
@@ -0,0 +1,23 @@
1
+ import API from 'foremanReact/API';
2
+ import { insightsCloudUrl } from './InsightsCloudSyncHelpers';
3
+ import {
4
+ INSIGHTS_CLOUD_SYNC_SUCCESS,
5
+ INSIGHTS_CLOUD_SYNC_FAILURE,
6
+ } from './InsightsCloudSyncConstants';
7
+
8
+ export const syncInsights = () => async dispatch => {
9
+ try {
10
+ await API.post(insightsCloudUrl('tasks'));
11
+ dispatch({
12
+ type: INSIGHTS_CLOUD_SYNC_SUCCESS,
13
+ payload: {},
14
+ });
15
+ } catch (error) {
16
+ dispatch({
17
+ type: INSIGHTS_CLOUD_SYNC_FAILURE,
18
+ payload: {
19
+ error: error.message,
20
+ },
21
+ });
22
+ }
23
+ };
@@ -0,0 +1,6 @@
1
+ import { translate as __ } from 'foremanReact/common/I18n';
2
+
3
+ export const INSIGHTS_CLOUD_SYNC_SUCCESS = 'INSIGHTS_CLOUD_SYNC_SUCCESS';
4
+ export const INSIGHTS_CLOUD_SYNC_FAILURE = 'INSIGHTS_CLOUD_SYNC_FAILURE';
5
+
6
+ export const INSIGHTS_SYNC_PAGE_TITLE = __('Red Hat Insights cloud sync');
@@ -0,0 +1,3 @@
1
+ import { foremanUrl } from '../ForemanRhCloudHelpers';
2
+
3
+ export const insightsCloudUrl = path => foremanUrl(`/insights_cloud/${path}`);
@@ -0,0 +1,3 @@
1
+ const reducers = {};
2
+
3
+ export default reducers;
@@ -0,0 +1,25 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`InsightsCloudSync render 1`] = `
4
+ <IntlProvider
5
+ locale="en-US"
6
+ >
7
+ <div
8
+ className="insights-cloud-sync"
9
+ >
10
+ <h1>
11
+ Red Hat Insights Sync
12
+ </h1>
13
+ <Button
14
+ active={false}
15
+ block={false}
16
+ bsClass="btn"
17
+ bsStyle="primary"
18
+ disabled={false}
19
+ onClick={[Function]}
20
+ >
21
+ Sync now
22
+ </Button>
23
+ </div>
24
+ </IntlProvider>
25
+ `;
@@ -0,0 +1,11 @@
1
+ import { testSelectorsSnapshotWithFixtures } from 'react-redux-test-utils';
2
+ import { insightsCloudUrl } from '../InsightsCloudSyncHelpers';
3
+
4
+ global.URL_PREFIX = '';
5
+
6
+ const fixtures = {
7
+ 'should return insights cloud Url': () => insightsCloudUrl('test_path'),
8
+ };
9
+
10
+ describe('InsightsCloudSync helpers', () =>
11
+ testSelectorsSnapshotWithFixtures(fixtures));
@@ -0,0 +1,3 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`InsightsCloudSync helpers should return insights cloud Url 1`] = `"/insights_cloud/test_path"`;
@@ -0,0 +1,17 @@
1
+ import { bindActionCreators } from 'redux';
2
+ import { connect } from 'react-redux';
3
+
4
+ import * as actions from './InsightsCloudSyncActions';
5
+ import InsightsCloudSync from './InsightsCloudSync';
6
+
7
+ // map state to props
8
+ const mapStateToProps = state => ({});
9
+
10
+ // map action dispatchers to props
11
+ const mapDispatchToProps = dispatch => bindActionCreators(actions, dispatch);
12
+
13
+ // export reducers
14
+ export const reducers = {};
15
+
16
+ // export connected component
17
+ export default connect(mapStateToProps, mapDispatchToProps)(InsightsCloudSync);
@@ -1,16 +1,18 @@
1
1
  import { testSelectorsSnapshotWithFixtures } from 'react-redux-test-utils';
2
- import { inventoryStateWrapper } from '../ForemanRhCloudTestHelpers';
2
+ import { rhCloudStateWrapper } from '../ForemanRhCloudTestHelpers';
3
3
  import {
4
4
  selectForemanRhCloud,
5
5
  selectForemanInventoryUpload,
6
+ selectInsightsCloudSync,
6
7
  } from '../ForemanRhCloudSelectors';
7
8
 
8
- const state = inventoryStateWrapper({ inventoryReducersNamespaces: {} });
9
+ const state = rhCloudStateWrapper({ inventoryReducersNamespaces: {} });
9
10
 
10
11
  const fixtures = {
11
12
  'should return ForemanRhCloud': () => selectForemanRhCloud(state),
12
13
  'should return ForemanInventoryUpload': () =>
13
14
  selectForemanInventoryUpload(state),
15
+ 'should return InsightsCloudSync': () => selectInsightsCloudSync(state),
14
16
  };
15
17
 
16
18
  describe('ForemanRhCloud selectors', () =>
@@ -1,9 +1,9 @@
1
1
  import { testSelectorsSnapshotWithFixtures } from 'react-redux-test-utils';
2
- import { inventoryStateWrapper } from '../ForemanRhCloudTestHelpers';
2
+ import { rhCloudStateWrapper } from '../ForemanRhCloudTestHelpers';
3
3
 
4
4
  const fixtures = {
5
5
  'should return inventory wrapper': () =>
6
- inventoryStateWrapper({ inventoryChildren: null }),
6
+ rhCloudStateWrapper({ inventoryChildren: null }),
7
7
  };
8
8
 
9
9
  describe('ForemanRhCloud helpers', () =>
@@ -1,5 +1,11 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
+ exports[`ForemanRhCloud selectors should return InsightsCloudSync 1`] = `
4
+ Object {
5
+ "inventoryReducersNamespaces": Object {},
6
+ }
7
+ `;
8
+
3
9
  exports[`ForemanRhCloud selectors should return ForemanInventoryUpload 1`] = `
4
10
  Object {
5
11
  "inventoryReducersNamespaces": Object {},
@@ -8,6 +14,9 @@ Object {
8
14
 
9
15
  exports[`ForemanRhCloud selectors should return ForemanRhCloud 1`] = `
10
16
  Object {
17
+ "InsightsCloudSync": Object {
18
+ "inventoryReducersNamespaces": Object {},
19
+ },
11
20
  "inventoryUpload": Object {
12
21
  "inventoryReducersNamespaces": Object {},
13
22
  },
@@ -3,6 +3,9 @@
3
3
  exports[`ForemanRhCloud helpers should return inventory wrapper 1`] = `
4
4
  Object {
5
5
  "ForemanRhCloud": Object {
6
+ "InsightsCloudSync": Object {
7
+ "inventoryChildren": null,
8
+ },
6
9
  "inventoryUpload": Object {
7
10
  "inventoryChildren": null,
8
11
  },
@@ -5,6 +5,7 @@ import componentRegistry from 'foremanReact/components/componentRegistry';
5
5
  import { registerReducer } from 'foremanReact/common/MountingService';
6
6
  import reducers from './ForemanRhCloudReducers';
7
7
  import ForemanInventoryUpload from './ForemanInventoryUpload';
8
+ import InsightsCloudSync from './InsightsCloudSync';
8
9
 
9
10
  // register reducers
10
11
  Object.entries(reducers).forEach(([key, reducer]) =>
@@ -16,3 +17,9 @@ componentRegistry.register({
16
17
  name: 'ForemanInventoryUpload',
17
18
  type: ForemanInventoryUpload,
18
19
  });
20
+
21
+ // register components
22
+ componentRegistry.register({
23
+ name: 'InsightsCloudSync',
24
+ type: InsightsCloudSync,
25
+ });
@@ -0,0 +1,8 @@
1
+ import { subscriptionCountListener } from './ForemanInventoryUpload/SubscriptionsPageExtension/SubscriptionsPageExtensionActions';
2
+
3
+ if (window.location.pathname === '/subscriptions') {
4
+ window.tfm.store.observeStore(
5
+ 'katello.subscriptions.itemCount',
6
+ subscriptionCountListener
7
+ );
8
+ }
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: 1.0.7
4
+ version: 1.0.8
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: 2020-05-25 00:00:00.000000000 Z
11
+ date: 2020-06-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: katello
@@ -108,11 +108,19 @@ files:
108
108
  - app/controllers/foreman_inventory_upload/reports_controller.rb
109
109
  - app/controllers/foreman_inventory_upload/uploads_controller.rb
110
110
  - app/controllers/foreman_rh_cloud/react_controller.rb
111
+ - app/controllers/insights_cloud/tasks_controller.rb
111
112
  - app/helpers/foreman_inventory_upload_helper.rb
113
+ - app/helpers/foreman_inventory_upload_host_helper.rb
114
+ - app/models/insights_facet.rb
115
+ - app/models/insights_hit.rb
112
116
  - app/models/setting/rh_cloud.rb
117
+ - app/overrides/hosts_list.rb
118
+ - app/views/foreman_rh_cloud/react/insights_cloud.html.erb
113
119
  - app/views/foreman_rh_cloud/react/inventory_upload.html.erb
114
120
  - app/views/layouts/foreman_rh_cloud/application.html.erb
115
121
  - config/routes.rb
122
+ - db/migrate/20191215104806_create_insights_hits.foreman_inventory_upload.rb
123
+ - db/migrate/20191216062008_create_insights_facets.foreman_inventory_upload.rb
116
124
  - lib/foreman_inventory_upload.rb
117
125
  - lib/foreman_inventory_upload/async/async_helpers.rb
118
126
  - lib/foreman_inventory_upload/async/generate_all_reports_job.rb
@@ -127,10 +135,13 @@ files:
127
135
  - lib/foreman_inventory_upload/generators/metadata.rb
128
136
  - lib/foreman_inventory_upload/generators/queries.rb
129
137
  - lib/foreman_inventory_upload/generators/slice.rb
138
+ - lib/foreman_inventory_upload/notifications/manifest_import_success_notification_override.rb
130
139
  - lib/foreman_inventory_upload/scripts/uploader.sh.erb
131
140
  - lib/foreman_rh_cloud.rb
132
141
  - lib/foreman_rh_cloud/engine.rb
133
142
  - lib/foreman_rh_cloud/version.rb
143
+ - lib/insights_cloud.rb
144
+ - lib/insights_cloud/async/insights_full_sync.rb
134
145
  - lib/tasks/foreman_rh_cloud_tasks.rake
135
146
  - lib/tasks/generator.rake
136
147
  - locale/Makefile
@@ -142,6 +153,7 @@ files:
142
153
  - test/controllers/reports_controller_test.rb
143
154
  - test/controllers/uploads_controller_test.rb
144
155
  - test/factories/inventory_upload_factories.rb
156
+ - test/jobs/insights_full_sync_test.rb
145
157
  - test/test_plugin_helper.rb
146
158
  - test/unit/archived_report_generator_test.rb
147
159
  - test/unit/fact_helpers_test.rb
@@ -244,6 +256,16 @@ files:
244
256
  - webpack/ForemanInventoryUpload/Components/FullScreenModal/__tests__/__snapshots__/FullScreenModal.test.js.snap
245
257
  - webpack/ForemanInventoryUpload/Components/FullScreenModal/fullScreenModal.scss
246
258
  - webpack/ForemanInventoryUpload/Components/FullScreenModal/index.js
259
+ - webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/HostObfuscationSwitcher.fixtures.js
260
+ - webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/HostObfuscationSwitcher.js
261
+ - webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/HostObfuscationSwitcherActions.js
262
+ - webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/HostObfuscationSwitcherConstants.js
263
+ - webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/__tests__/HostObfuscationSwitcher.test.js
264
+ - webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/__tests__/HostObfuscationSwitcherActions.test.js
265
+ - webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/__tests__/__snapshots__/HostObfuscationSwitcher.test.js.snap
266
+ - webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/__tests__/__snapshots__/HostObfuscationSwitcherActions.test.js.snap
267
+ - webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/hostObfuscationSwitcher.scss
268
+ - webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/index.js
247
269
  - webpack/ForemanInventoryUpload/Components/InventoryFilter/Components/ClearButton/ClearButton.js
248
270
  - webpack/ForemanInventoryUpload/Components/InventoryFilter/Components/ClearButton/index.js
249
271
  - webpack/ForemanInventoryUpload/Components/InventoryFilter/InventoryFilter.fixtures.js
@@ -264,6 +286,11 @@ files:
264
286
  - webpack/ForemanInventoryUpload/Components/InventoryFilter/__tests__/integration.test.js
265
287
  - webpack/ForemanInventoryUpload/Components/InventoryFilter/index.js
266
288
  - webpack/ForemanInventoryUpload/Components/InventoryFilter/inventoryFilter.scss
289
+ - webpack/ForemanInventoryUpload/Components/InventorySettings/InventorySettings.js
290
+ - webpack/ForemanInventoryUpload/Components/InventorySettings/__tests__/InventorySettings.test.js
291
+ - webpack/ForemanInventoryUpload/Components/InventorySettings/__tests__/__snapshots__/InventorySettings.test.js.snap
292
+ - webpack/ForemanInventoryUpload/Components/InventorySettings/index.js
293
+ - webpack/ForemanInventoryUpload/Components/InventorySettings/inventorySettings.scss
267
294
  - webpack/ForemanInventoryUpload/Components/NavContainer/NavContainer.fixtures.js
268
295
  - webpack/ForemanInventoryUpload/Components/NavContainer/NavContainer.js
269
296
  - webpack/ForemanInventoryUpload/Components/NavContainer/NavContainerHelper.js
@@ -274,6 +301,23 @@ files:
274
301
  - webpack/ForemanInventoryUpload/Components/PageHeader/PageHeader.js
275
302
  - webpack/ForemanInventoryUpload/Components/PageHeader/__tests__/PageHeader.test.js
276
303
  - webpack/ForemanInventoryUpload/Components/PageHeader/__tests__/__snapshots__/PageHeader.test.js.snap
304
+ - webpack/ForemanInventoryUpload/Components/PageHeader/components/DocsButton/DocsButton.js
305
+ - webpack/ForemanInventoryUpload/Components/PageHeader/components/DocsButton/__tests__/DocsButton.test.js
306
+ - webpack/ForemanInventoryUpload/Components/PageHeader/components/DocsButton/__tests__/__snapshots__/DocsButton.test.js.snap
307
+ - webpack/ForemanInventoryUpload/Components/PageHeader/components/DocsButton/index.js
308
+ - webpack/ForemanInventoryUpload/Components/PageHeader/components/HistoryButton/HistoryButton.js
309
+ - webpack/ForemanInventoryUpload/Components/PageHeader/components/HistoryButton/__tests__/HistoryButton.test.js
310
+ - webpack/ForemanInventoryUpload/Components/PageHeader/components/HistoryButton/__tests__/__snapshots__/HistoryButton.test.js.snap
311
+ - webpack/ForemanInventoryUpload/Components/PageHeader/components/HistoryButton/index.js
312
+ - webpack/ForemanInventoryUpload/Components/PageHeader/components/PageDescription/PageDescription.js
313
+ - webpack/ForemanInventoryUpload/Components/PageHeader/components/PageDescription/__tests__/PageDescription.test.js
314
+ - webpack/ForemanInventoryUpload/Components/PageHeader/components/PageDescription/__tests__/__snapshots__/PageDescription.test.js.snap
315
+ - webpack/ForemanInventoryUpload/Components/PageHeader/components/PageDescription/index.js
316
+ - webpack/ForemanInventoryUpload/Components/PageHeader/components/ToolbarButtons/ToolbarButtons.js
317
+ - webpack/ForemanInventoryUpload/Components/PageHeader/components/ToolbarButtons/__tests__/ToolbarButtons.test.js
318
+ - webpack/ForemanInventoryUpload/Components/PageHeader/components/ToolbarButtons/__tests__/__snapshots__/ToolbarButtons.test.js.snap
319
+ - webpack/ForemanInventoryUpload/Components/PageHeader/components/ToolbarButtons/index.js
320
+ - webpack/ForemanInventoryUpload/Components/PageHeader/components/ToolbarButtons/toolbarButtons.scss
277
321
  - webpack/ForemanInventoryUpload/Components/PageHeader/index.js
278
322
  - webpack/ForemanInventoryUpload/Components/PageHeader/pageHeader.scss
279
323
  - webpack/ForemanInventoryUpload/Components/ReportGenerate/ReportGenerate.fixtures.js
@@ -343,6 +387,7 @@ files:
343
387
  - webpack/ForemanInventoryUpload/ForemanInventoryHelpers.js
344
388
  - webpack/ForemanInventoryUpload/ForemanInventoryUpload.js
345
389
  - webpack/ForemanInventoryUpload/ForemanInventoryUploadReducers.js
390
+ - webpack/ForemanInventoryUpload/SubscriptionsPageExtension/SubscriptionsPageExtensionActions.js
346
391
  - webpack/ForemanInventoryUpload/__tests__/ForemanInventoryHelpers.test.js
347
392
  - webpack/ForemanInventoryUpload/__tests__/ForemanInventoryUpload.test.js
348
393
  - webpack/ForemanInventoryUpload/__tests__/__snapshots__/ForemanInventoryHelpers.test.js.snap
@@ -352,6 +397,16 @@ files:
352
397
  - webpack/ForemanRhCloudReducers.js
353
398
  - webpack/ForemanRhCloudSelectors.js
354
399
  - webpack/ForemanRhCloudTestHelpers.js
400
+ - webpack/InsightsCloudSync/InsightsCloudSync.js
401
+ - webpack/InsightsCloudSync/InsightsCloudSync.test.js
402
+ - webpack/InsightsCloudSync/InsightsCloudSyncActions.js
403
+ - webpack/InsightsCloudSync/InsightsCloudSyncConstants.js
404
+ - webpack/InsightsCloudSync/InsightsCloudSyncHelpers.js
405
+ - webpack/InsightsCloudSync/InsightsCloudSyncReducers.js
406
+ - webpack/InsightsCloudSync/__snapshots__/InsightsCloudSync.test.js.snap
407
+ - webpack/InsightsCloudSync/__tests__/InsightsCloudSyncHelpers.test.js
408
+ - webpack/InsightsCloudSync/__tests__/__snapshots__/InsightsCloudSyncHelpers.test.js.snap
409
+ - webpack/InsightsCloudSync/index.js
355
410
  - webpack/__mocks__/foremanReact/API.js
356
411
  - webpack/__mocks__/foremanReact/common/I18n.js
357
412
  - webpack/__mocks__/foremanReact/common/helpers.js
@@ -369,6 +424,7 @@ files:
369
424
  - webpack/stories/decorators/withCardsDecorator.js
370
425
  - webpack/stories/index.js
371
426
  - webpack/stories/index.scss
427
+ - webpack/subscriptions_extension_index.js
372
428
  - webpack/test_setup.js
373
429
  homepage: https://github.com/theforeman/foreman_rh_cloud
374
430
  licenses:
@@ -398,6 +454,7 @@ test_files:
398
454
  - test/controllers/accounts_controller_test.rb
399
455
  - test/controllers/reports_controller_test.rb
400
456
  - test/test_plugin_helper.rb
457
+ - test/jobs/insights_full_sync_test.rb
401
458
  - test/factories/inventory_upload_factories.rb
402
459
  - test/unit/shell_process_job_test.rb
403
460
  - test/unit/metadata_generator_test.rb