foreman_rh_cloud 1.0.7 → 2.0.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +8 -0
- data/app/controllers/foreman_inventory_upload/accounts_controller.rb +1 -0
- data/app/controllers/foreman_inventory_upload/uploads_controller.rb +22 -3
- data/app/controllers/foreman_rh_cloud/react_controller.rb +3 -0
- data/app/controllers/insights_cloud/tasks_controller.rb +8 -0
- data/app/helpers/foreman_inventory_upload_host_helper.rb +11 -0
- data/app/models/insights_facet.rb +3 -0
- data/app/models/insights_hit.rb +6 -0
- data/app/models/setting/rh_cloud.rb +1 -0
- data/app/overrides/hosts_list.rb +13 -0
- data/app/views/foreman_rh_cloud/react/insights_cloud.html.erb +1 -0
- data/config/routes.rb +7 -0
- data/db/migrate/20191215104806_create_insights_hits.foreman_inventory_upload.rb +14 -0
- data/db/migrate/20191216062008_create_insights_facets.foreman_inventory_upload.rb +7 -0
- data/lib/foreman_inventory_upload/async/upload_report_job.rb +1 -5
- data/lib/foreman_inventory_upload/generators/fact_helpers.rb +1 -1
- data/lib/foreman_inventory_upload/generators/slice.rb +1 -0
- data/lib/foreman_inventory_upload/notifications/manifest_import_success_notification_override.rb +19 -0
- data/lib/foreman_rh_cloud/engine.rb +22 -10
- data/lib/foreman_rh_cloud/version.rb +1 -1
- data/lib/insights_cloud.rb +15 -0
- data/lib/insights_cloud/async/insights_full_sync.rb +92 -0
- data/package.json +20 -100
- data/test/factories/inventory_upload_factories.rb +13 -13
- data/test/jobs/insights_full_sync_test.rb +62 -0
- data/test/unit/slice_generator_test.rb +10 -3
- data/webpack/ForemanInventoryUpload/Components/AccountList/AccountList.fixtures.js +6 -0
- data/webpack/ForemanInventoryUpload/Components/AccountList/AccountList.stories.js +5 -14
- data/webpack/ForemanInventoryUpload/Components/AccountList/AccountListActions.js +2 -1
- data/webpack/ForemanInventoryUpload/Components/AccountList/AccountListReducer.js +9 -1
- data/webpack/ForemanInventoryUpload/Components/AccountList/AccountListSelectors.js +7 -0
- data/webpack/ForemanInventoryUpload/Components/AccountList/Components/EmptyResults/__tests__/EmptyResults.test.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/AccountList/Components/EmptyState/__tests__/EmptyState.test.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/AccountList/Components/ErrorState/__tests__/ErrorState.test.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/AccountList/Components/ListItem/__tests__/ListItem.test.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/AccountList/Components/ListItemStatus/__tests__/ListItemStatus.test.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/AccountList.test.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/AccountListActions.test.js +9 -2
- data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/AccountListIntegration.test.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/AccountListReducer.test.js +12 -1
- data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/AccountListSelectors.test.js +8 -3
- data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/__snapshots__/AccountListActions.test.js.snap +20 -2
- data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/__snapshots__/AccountListReducer.test.js.snap +10 -0
- data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/__snapshots__/AccountListSelectors.test.js.snap +3 -0
- data/webpack/ForemanInventoryUpload/Components/AutoUploadSwitcher/AutoUploadSwitcher.js +6 -6
- data/webpack/ForemanInventoryUpload/Components/AutoUploadSwitcher/__tests__/AutoUploadSwitcher.test.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/AutoUploadSwitcher/__tests__/AutoUploadSwitcherActions.test.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/AutoUploadSwitcher/__tests__/__snapshots__/AutoUploadSwitcher.test.js.snap +9 -9
- data/webpack/ForemanInventoryUpload/Components/AutoUploadSwitcher/autoUploadSwitcher.scss +1 -1
- data/webpack/ForemanInventoryUpload/Components/Dashboard/Dashboard.fixtures.js +13 -9
- data/webpack/ForemanInventoryUpload/Components/Dashboard/Dashboard.stories.js +5 -15
- data/webpack/ForemanInventoryUpload/Components/Dashboard/__tests__/Dashboard.test.js +1 -2
- data/webpack/ForemanInventoryUpload/Components/Dashboard/__tests__/DashboardActions.test.js +17 -4
- data/webpack/ForemanInventoryUpload/Components/Dashboard/__tests__/DashboardIntegration.test.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/Dashboard/__tests__/DashboardReducer.test.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/Dashboard/__tests__/DashboardSelectors.test.js +3 -3
- data/webpack/ForemanInventoryUpload/Components/FileDownload/__tests__/FileDownload.test.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/FullScreenModal/__tests__/FullScreenModal.test.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/HostObfuscationSwitcher.fixtures.js +1 -0
- data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/HostObfuscationSwitcher.js +29 -0
- data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/HostObfuscationSwitcherActions.js +30 -0
- data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/HostObfuscationSwitcherConstants.js +3 -0
- data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/__tests__/HostObfuscationSwitcher.test.js +14 -0
- data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/__tests__/HostObfuscationSwitcherActions.test.js +14 -0
- data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/__tests__/__snapshots__/HostObfuscationSwitcher.test.js.snap +38 -0
- data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/__tests__/__snapshots__/HostObfuscationSwitcherActions.test.js.snap +14 -0
- data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/hostObfuscationSwitcher.scss +0 -0
- data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/index.js +20 -0
- data/webpack/ForemanInventoryUpload/Components/InventoryFilter/__tests__/InventoryFilter.test.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/InventoryFilter/__tests__/InventoryFilterActions.test.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/InventoryFilter/__tests__/InventoryFilterReducer.test.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/InventoryFilter/__tests__/InventoryFilterSelectors.test.js +3 -3
- data/webpack/ForemanInventoryUpload/Components/InventoryFilter/__tests__/integration.test.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/InventorySettings/InventorySettings.js +15 -0
- data/webpack/ForemanInventoryUpload/Components/InventorySettings/__tests__/InventorySettings.test.js +13 -0
- data/webpack/ForemanInventoryUpload/Components/InventorySettings/__tests__/__snapshots__/InventorySettings.test.js.snap +13 -0
- data/webpack/ForemanInventoryUpload/Components/InventorySettings/index.js +1 -0
- data/webpack/ForemanInventoryUpload/Components/InventorySettings/inventorySettings.scss +15 -0
- data/webpack/ForemanInventoryUpload/Components/NavContainer/NavContainer.fixtures.js +5 -2
- data/webpack/ForemanInventoryUpload/Components/NavContainer/__tests__/NavContainer.test.js +1 -2
- data/webpack/ForemanInventoryUpload/Components/NavContainer/__tests__/__snapshots__/NavContainer.test.js.snap +1 -1
- data/webpack/ForemanInventoryUpload/Components/PageHeader/PageHeader.js +14 -4
- data/webpack/ForemanInventoryUpload/Components/PageHeader/__tests__/PageHeader.test.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/PageHeader/__tests__/__snapshots__/PageHeader.test.js.snap +22 -3
- data/webpack/ForemanInventoryUpload/Components/PageHeader/components/DocsButton/DocsButton.js +17 -0
- data/webpack/ForemanInventoryUpload/Components/PageHeader/components/DocsButton/__tests__/DocsButton.test.js +12 -0
- data/webpack/ForemanInventoryUpload/Components/PageHeader/components/DocsButton/__tests__/__snapshots__/DocsButton.test.js.snap +20 -0
- data/webpack/ForemanInventoryUpload/Components/PageHeader/components/DocsButton/index.js +1 -0
- data/webpack/ForemanInventoryUpload/Components/PageHeader/components/HistoryButton/HistoryButton.js +18 -0
- data/webpack/ForemanInventoryUpload/Components/PageHeader/components/HistoryButton/__tests__/HistoryButton.test.js +12 -0
- data/webpack/ForemanInventoryUpload/Components/PageHeader/components/HistoryButton/__tests__/__snapshots__/HistoryButton.test.js.snap +21 -0
- data/webpack/ForemanInventoryUpload/Components/PageHeader/components/HistoryButton/index.js +1 -0
- data/webpack/ForemanInventoryUpload/Components/PageHeader/components/PageDescription/PageDescription.js +24 -0
- data/webpack/ForemanInventoryUpload/Components/PageHeader/components/PageDescription/__tests__/PageDescription.test.js +11 -0
- data/webpack/ForemanInventoryUpload/Components/PageHeader/components/PageDescription/__tests__/__snapshots__/PageDescription.test.js.snap +17 -0
- data/webpack/ForemanInventoryUpload/Components/PageHeader/components/PageDescription/index.js +1 -0
- data/webpack/ForemanInventoryUpload/Components/PageHeader/components/ToolbarButtons/ToolbarButtons.js +13 -0
- data/webpack/ForemanInventoryUpload/Components/PageHeader/components/ToolbarButtons/__tests__/ToolbarButtons.test.js +12 -0
- data/webpack/ForemanInventoryUpload/Components/PageHeader/components/ToolbarButtons/__tests__/__snapshots__/ToolbarButtons.test.js.snap +10 -0
- data/webpack/ForemanInventoryUpload/Components/PageHeader/components/ToolbarButtons/index.js +1 -0
- data/webpack/ForemanInventoryUpload/Components/PageHeader/components/ToolbarButtons/toolbarButtons.scss +7 -0
- data/webpack/ForemanInventoryUpload/Components/ReportGenerate/__tests__/ReportGenerate.test.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/ReportUpload/__tests__/ReportUpload.test.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/ScheduledRun/__tests__/ScheduledRun.test.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/StatusChart/__tests__/StatusChart.test.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/TabBody/__tests__/TabBody.test.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/TabContainer/__tests__/TabContainer.test.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/TabFooter/__tests__/TabFooter.test.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/TabHeader/__tests__/TabHeader.test.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/Terminal/Terminal.js +1 -1
- data/webpack/ForemanInventoryUpload/Components/Terminal/__tests__/Terminal.test.js +1 -2
- data/webpack/ForemanInventoryUpload/ForemanInventoryConstants.js +4 -0
- data/webpack/ForemanInventoryUpload/ForemanInventoryHelpers.js +13 -0
- data/webpack/ForemanInventoryUpload/SubscriptionsPageExtension/SubscriptionsPageExtensionActions.js +34 -0
- data/webpack/ForemanInventoryUpload/__tests__/ForemanInventoryHelpers.test.js +3 -4
- data/webpack/ForemanInventoryUpload/__tests__/ForemanInventoryUpload.test.js +1 -1
- data/webpack/ForemanInventoryUpload/__tests__/__snapshots__/ForemanInventoryHelpers.test.js.snap +2 -0
- data/webpack/ForemanRhCloudReducers.js +2 -0
- data/webpack/ForemanRhCloudSelectors.js +2 -0
- data/webpack/ForemanRhCloudTestHelpers.js +2 -1
- data/webpack/InsightsCloudSync/InsightsCloudSync.js +26 -0
- data/webpack/InsightsCloudSync/InsightsCloudSync.test.js +13 -0
- data/webpack/InsightsCloudSync/InsightsCloudSyncActions.js +23 -0
- data/webpack/InsightsCloudSync/InsightsCloudSyncConstants.js +6 -0
- data/webpack/InsightsCloudSync/InsightsCloudSyncHelpers.js +3 -0
- data/webpack/InsightsCloudSync/InsightsCloudSyncReducers.js +3 -0
- data/webpack/InsightsCloudSync/__snapshots__/InsightsCloudSync.test.js.snap +25 -0
- data/webpack/InsightsCloudSync/__tests__/InsightsCloudSyncHelpers.test.js +9 -0
- data/webpack/InsightsCloudSync/__tests__/__snapshots__/InsightsCloudSyncHelpers.test.js.snap +3 -0
- data/webpack/InsightsCloudSync/index.js +17 -0
- data/webpack/__tests__/ForemanRhCloudHelpers.test.js +1 -1
- data/webpack/__tests__/ForemanRhCloudSelectors.test.js +5 -3
- data/webpack/__tests__/ForemanRhCloudTestHelpers.test.js +3 -3
- data/webpack/__tests__/__snapshots__/ForemanRhCloudSelectors.test.js.snap +9 -0
- data/webpack/__tests__/__snapshots__/ForemanRhCloudTestHelpers.test.js.snap +3 -0
- data/webpack/index.js +7 -0
- data/webpack/subscriptions_extension_index.js +8 -0
- metadata +59 -9
- data/webpack/stories/ForemanInventoryUploadReducers.js +0 -3
- data/webpack/stories/configureStore.js +0 -15
- data/webpack/stories/decorators/index.js +0 -1
- data/webpack/stories/decorators/withCardsDecorator.js +0 -14
- data/webpack/stories/index.js +0 -10
- data/webpack/stories/index.scss +0 -7
- data/webpack/test_setup.js +0 -6
@@ -0,0 +1 @@
|
|
1
|
+
export { default } from './ToolbarButtons';
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import PropTypes from 'prop-types';
|
3
3
|
import { Grid, Spinner } from 'patternfly-react';
|
4
|
-
import isEqual from 'lodash
|
4
|
+
import { isEqual } from 'lodash';
|
5
5
|
import './terminal.scss';
|
6
6
|
import { isTerminalScrolledDown } from './TerminalHelper';
|
7
7
|
|
@@ -1,6 +1,5 @@
|
|
1
1
|
import React from 'react';
|
2
|
-
import { testComponentSnapshotsWithFixtures } from '
|
3
|
-
import { mount } from 'enzyme';
|
2
|
+
import { mount, testComponentSnapshotsWithFixtures } from '@theforeman/test';
|
4
3
|
import Terminal from '../Terminal';
|
5
4
|
import { props, logs } from '../Terminal.fixtures';
|
6
5
|
|
@@ -1,4 +1,17 @@
|
|
1
|
+
import URI from 'urijs';
|
1
2
|
import { foremanUrl } from '../ForemanRhCloudHelpers';
|
2
3
|
|
3
4
|
export const inventoryUrl = path =>
|
4
5
|
foremanUrl(`/foreman_inventory_upload/${path}`);
|
6
|
+
|
7
|
+
export const getInventoryDocsUrl = () =>
|
8
|
+
foremanUrl(
|
9
|
+
`/links/manual/+?root_url=${URI.encode(
|
10
|
+
'https://access.redhat.com/products/subscription-central'
|
11
|
+
)}`
|
12
|
+
);
|
13
|
+
|
14
|
+
export const getActionsHistoryUrl = () =>
|
15
|
+
foremanUrl(
|
16
|
+
'/foreman_tasks/tasks?search=action++%3D++ForemanInventoryUpload%3A%3AAsync%3A%3AGenerateReportJob+or+action++%3D++ForemanInventoryUpload%3A%3AAsync%3A%3AGenerateAllReportsJob&page=1'
|
17
|
+
);
|
data/webpack/ForemanInventoryUpload/SubscriptionsPageExtension/SubscriptionsPageExtensionActions.js
ADDED
@@ -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,9 @@
|
|
1
|
-
import { testSelectorsSnapshotWithFixtures } from '
|
2
|
-
import { inventoryUrl } from '../ForemanInventoryHelpers';
|
3
|
-
|
4
|
-
global.URL_PREFIX = '';
|
1
|
+
import { testSelectorsSnapshotWithFixtures } from '@theforeman/test';
|
2
|
+
import { inventoryUrl, getInventoryDocsUrl } from '../ForemanInventoryHelpers';
|
5
3
|
|
6
4
|
const fixtures = {
|
7
5
|
'should return inventory Url': () => inventoryUrl('test_path'),
|
6
|
+
'should return inventory docs url': () => getInventoryDocsUrl(),
|
8
7
|
};
|
9
8
|
|
10
9
|
describe('ForemanInventoryUpload helpers', () =>
|
data/webpack/ForemanInventoryUpload/__tests__/__snapshots__/ForemanInventoryHelpers.test.js.snap
CHANGED
@@ -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`] = `"/links/manual/+?root_url=https%3A%2F%2Faccess.redhat.com%2Fproducts%2Fsubscription-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
|
};
|
@@ -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 '@theforeman/test';
|
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,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,9 @@
|
|
1
|
+
import { testSelectorsSnapshotWithFixtures } from '@theforeman/test';
|
2
|
+
import { insightsCloudUrl } from '../InsightsCloudSyncHelpers';
|
3
|
+
|
4
|
+
const fixtures = {
|
5
|
+
'should return insights cloud Url': () => insightsCloudUrl('test_path'),
|
6
|
+
};
|
7
|
+
|
8
|
+
describe('InsightsCloudSync helpers', () =>
|
9
|
+
testSelectorsSnapshotWithFixtures(fixtures));
|
@@ -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
|
-
import { testSelectorsSnapshotWithFixtures } from '
|
2
|
-
import {
|
1
|
+
import { testSelectorsSnapshotWithFixtures } from '@theforeman/test';
|
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 =
|
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
|
-
import { testSelectorsSnapshotWithFixtures } from '
|
2
|
-
import {
|
1
|
+
import { testSelectorsSnapshotWithFixtures } from '@theforeman/test';
|
2
|
+
import { rhCloudStateWrapper } from '../ForemanRhCloudTestHelpers';
|
3
3
|
|
4
4
|
const fixtures = {
|
5
5
|
'should return inventory wrapper': () =>
|
6
|
-
|
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
|
},
|
data/webpack/index.js
CHANGED
@@ -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
|
+
});
|