katello 3.16.0.rc1.1 → 3.16.0.rc4
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of katello might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/app/controllers/katello/api/v2/api_controller.rb +8 -4
- data/app/controllers/katello/api/v2/subscriptions_controller.rb +1 -1
- data/app/controllers/katello/api/v2/upstream_subscriptions_controller.rb +13 -1
- data/app/controllers/katello/concerns/hosts_controller_extensions.rb +11 -0
- data/app/controllers/katello/remote_execution_controller.rb +1 -1
- data/app/lib/actions/katello/applicability/hosts/{generate.rb → bulk_generate.rb} +11 -2
- data/app/lib/actions/katello/applicability/repository/regenerate.rb +7 -2
- data/app/lib/actions/katello/host/generate_applicability.rb +7 -2
- data/app/lib/actions/katello/host/upload_profiles.rb +20 -11
- data/app/lib/actions/katello/repository/sync.rb +1 -2
- data/app/lib/actions/katello/repository/update.rb +12 -1
- data/app/lib/actions/katello/repository/update_cv_repo_cert_guard.rb +17 -0
- data/app/lib/actions/pulp3/ContentGuard/refresh.rb +19 -0
- data/app/lib/actions/pulp3/orchestration/repository/copy_all_units.rb +6 -8
- data/app/lib/actions/pulp3/orchestration/repository/generate_metadata.rb +1 -1
- data/app/lib/actions/pulp3/repository/copy_content.rb +1 -0
- data/app/lib/actions/pulp3/repository/refresh_distribution.rb +1 -0
- data/app/lib/actions/pulp3/repository/save_distribution_references.rb +3 -1
- data/app/lib/actions/pulp3/repository/save_version.rb +3 -1
- data/app/lib/actions/pulp3/repository/update_cv_repository_cert_guard.rb +15 -0
- data/app/lib/katello/concerns/base_template_scope_extensions.rb +5 -1
- data/app/lib/katello/errors.rb +25 -0
- data/app/lib/katello/logging.rb +14 -0
- data/app/lib/katello/resources/candlepin.rb +1 -1
- data/app/lib/katello/resources/candlepin/upstream_consumer.rb +6 -0
- data/app/lib/katello/util/errata.rb +13 -0
- data/app/lib/katello/util/pulpcore_content_filters.rb +32 -0
- data/app/models/katello/concerns/host_managed_extensions.rb +7 -0
- data/app/models/katello/concerns/http_proxy_extensions.rb +30 -7
- data/app/models/katello/concerns/organization_extensions.rb +14 -0
- data/app/models/katello/concerns/pulp_database_unit.rb +2 -2
- data/app/models/katello/content_view_erratum_filter.rb +29 -0
- data/app/models/katello/content_view_package_filter.rb +16 -1
- data/app/models/katello/content_view_package_group_filter.rb +7 -0
- data/app/models/katello/events/generate_host_applicability.rb +6 -5
- data/app/models/katello/glue/candlepin/candlepin_object.rb +9 -5
- data/app/models/katello/glue/candlepin/pool.rb +8 -3
- data/app/models/katello/glue/provider.rb +11 -4
- data/app/models/katello/host/content_facet.rb +1 -1
- data/app/models/katello/host_queue_element.rb +4 -0
- data/app/models/katello/package_group.rb +2 -1
- data/app/models/katello/pool.rb +1 -1
- data/app/models/katello/pulp3/content_guard.rb +14 -0
- data/app/models/katello/rhsm_fact_parser.rb +4 -0
- data/app/models/katello/root_repository.rb +4 -1
- data/app/models/setting/content.rb +3 -1
- data/app/services/katello/applicable_host_queue.rb +21 -0
- data/app/services/katello/candlepin/message_handler.rb +2 -3
- data/app/services/katello/pulp/pulp_content_unit.rb +4 -0
- data/app/services/katello/pulp3/api/content_guard.rb +45 -0
- data/app/services/katello/pulp3/api/yum.rb +24 -0
- data/app/services/katello/pulp3/erratum.rb +4 -0
- data/app/services/katello/pulp3/pulp_content_unit.rb +4 -0
- data/app/services/katello/pulp3/repository.rb +29 -6
- data/app/services/katello/pulp3/repository/yum.rb +98 -3
- data/app/services/katello/pulp3/rpm.rb +3 -2
- data/app/services/katello/ui_notifications/subscriptions/manifest_expired_warning.rb +20 -8
- data/app/services/katello/upstream_connection_checker.rb +48 -0
- data/app/views/katello/api/v2/srpms/backend.json.rabl +11 -0
- data/app/views/katello/api/v2/srpms/base.json.rabl +5 -0
- data/app/views/katello/api/v2/srpms/compare.json.rabl +10 -0
- data/app/views/katello/api/v2/srpms/index.json.rabl +1 -1
- data/app/views/katello/api/v2/srpms/show.json.rabl +3 -3
- data/config/routes/api/v2.rb +2 -0
- data/db/migrate/20200407171926_create_content_guard.rb +10 -0
- data/db/migrate/20200511204005_create_katello_host_queue_elements.rb +12 -0
- data/db/migrate/20200526200422_encrypt_root_repository_upstream_password.rb +47 -0
- data/db/seeds.d/109-katello-notification-blueprints.rb +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-repository-sets.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-traces.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-info.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/content-view-version.factory.js +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/bastion_katello.pot +367 -450
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de.po +4046 -2509
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/es.po +4277 -2503
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/fr.po +4372 -2591
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/it.po +4013 -2500
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ja.po +4127 -2630
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ko.po +4024 -2530
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt_BR.po +4492 -2766
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ru.po +4293 -2667
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_CN.po +4072 -2460
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_TW.po +4004 -2442
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/translations.js +10 -10
- data/lib/katello/permission_creator.rb +1 -1
- data/lib/katello/version.rb +1 -1
- data/locale/action_names.rb +51 -43
- data/locale/bn/katello.po +4015 -2558
- data/locale/cs/katello.po +3756 -2221
- data/locale/de/katello.po +4303 -3044
- data/locale/en/katello.po +3137 -1558
- data/locale/es/katello.po +4280 -3012
- data/locale/fr/katello.po +4302 -3080
- data/locale/gu/katello.po +4034 -2584
- data/locale/hi/katello.po +4034 -2575
- data/locale/it/katello.po +4291 -3040
- data/locale/ja/katello.po +4345 -2863
- data/locale/katello.pot +2631 -1460
- data/locale/kn/katello.po +4033 -2585
- data/locale/ko/katello.po +4320 -2815
- data/locale/mr/katello.po +3971 -2506
- data/locale/or/katello.po +4018 -2559
- data/locale/pa/katello.po +3985 -2514
- data/locale/pt/katello.po +3358 -1810
- data/locale/pt_BR/katello.po +4252 -2959
- data/locale/ru/katello.po +4308 -2902
- data/locale/ta/katello.po +4012 -2562
- data/locale/te/katello.po +4046 -2585
- data/locale/zh_CN/katello.po +4344 -2803
- data/locale/zh_TW/katello.po +4470 -2957
- data/package.json +3 -3
- data/webpack/components/Content/ContentTable.js +2 -0
- data/webpack/components/Content/Details/ContentDetails.js +3 -0
- data/webpack/global_test_setup.js +3 -0
- data/webpack/scenes/AnsibleCollections/Details/AnsibleCollectionDetails.js +3 -0
- data/webpack/scenes/ModuleStreams/Details/ModuleStreamDetails.js +3 -0
- data/webpack/scenes/RedHatRepositories/RedHatRepositoriesPage.js +2 -0
- data/webpack/scenes/RedHatRepositories/components/EnabledRepository/EnabledRepository.js +2 -0
- data/webpack/scenes/RedHatRepositories/components/RepositorySetRepository/RepositorySetRepository.js +2 -0
- data/webpack/scenes/Subscriptions/Details/SubscriptionDetailAssociations.js +2 -0
- data/webpack/scenes/Subscriptions/Details/SubscriptionDetailProductContent.js +2 -0
- data/webpack/scenes/Subscriptions/Details/SubscriptionDetailProducts.js +2 -0
- data/webpack/scenes/Subscriptions/Manifest/ManageManifestModal.js +2 -0
- data/webpack/scenes/Subscriptions/SubscriptionActions.js +19 -21
- data/webpack/scenes/Subscriptions/SubscriptionConstants.js +3 -1
- data/webpack/scenes/Subscriptions/SubscriptionReducer.js +15 -1
- data/webpack/scenes/Subscriptions/SubscriptionsPage.js +66 -9
- data/webpack/scenes/Subscriptions/SubscriptionsSelectors.js +11 -0
- data/webpack/scenes/Subscriptions/UpstreamSubscriptions/UpstreamSubscriptionsActions.js +15 -1
- data/webpack/scenes/Subscriptions/UpstreamSubscriptions/{UpstreamSubscriptionsContstants.js → UpstreamSubscriptionsConstants.js} +3 -0
- data/webpack/scenes/Subscriptions/UpstreamSubscriptions/UpstreamSubscriptionsPage.js +2 -0
- data/webpack/scenes/Subscriptions/UpstreamSubscriptions/UpstreamSubscriptionsReducer.js +1 -1
- data/webpack/scenes/Subscriptions/UpstreamSubscriptions/__tests__/UpstreamSubscriptionsReducer.test.js +1 -1
- data/webpack/scenes/Subscriptions/__tests__/SubscriptionsActions.test.js +10 -34
- data/webpack/scenes/Subscriptions/__tests__/SubscriptionsPage.test.js +17 -7
- data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsActions.test.js.snap +2 -4
- data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsPage.test.js.snap +6 -4
- data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsReducer.test.js.snap +26 -25
- data/webpack/scenes/Subscriptions/__tests__/subscriptions.fixtures.js +0 -58
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionsTable.js +10 -4
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/__tests__/SubscriptionsTable.test.js +1 -0
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/__tests__/__snapshots__/SubscriptionsTable.test.js.snap +1 -68
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/components/Dialogs/UpdateDialog.js +1 -1
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/components/Dialogs/index.js +4 -4
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/components/Table.js +12 -10
- data/webpack/scenes/Subscriptions/index.js +11 -4
- data/webpack/scenes/Tasks/TaskActions.js +2 -1
- data/webpack/test-utils/nockWrapper.js +1 -1
- metadata +54 -24
@@ -16,5 +16,16 @@ export const selectActivePermissions = state =>
|
|
16
16
|
export const selectSubscriptionsTask = state =>
|
17
17
|
selectSubscriptionsState(state).task;
|
18
18
|
|
19
|
+
export const selectIsTaskPending = (state) => {
|
20
|
+
const task = selectSubscriptionsTask(state);
|
21
|
+
if (task) {
|
22
|
+
return task.pending || task.result === 'pending';
|
23
|
+
}
|
24
|
+
return false;
|
25
|
+
};
|
26
|
+
|
19
27
|
export const selectTableSettings = (state, tableName) =>
|
20
28
|
state.katello.settings.tables[tableName] || undefined;
|
29
|
+
|
30
|
+
export const selectHasUpstreamConnection = state =>
|
31
|
+
selectSubscriptionsState(state).hasUpstreamConnection;
|
@@ -10,7 +10,21 @@ import {
|
|
10
10
|
SAVE_UPSTREAM_SUBSCRIPTIONS_REQUEST,
|
11
11
|
SAVE_UPSTREAM_SUBSCRIPTIONS_SUCCESS,
|
12
12
|
SAVE_UPSTREAM_SUBSCRIPTIONS_FAILURE,
|
13
|
-
|
13
|
+
PING_UPSTREAM_SUBSCRIPTIONS_SUCCESS,
|
14
|
+
PING_UPSTREAM_SUBSCRIPTIONS_FAILURE,
|
15
|
+
} from './UpstreamSubscriptionsConstants';
|
16
|
+
|
17
|
+
export const pingUpstreamSubscriptions = () => async (dispatch) => {
|
18
|
+
try {
|
19
|
+
const { data } = await api.get(`/organizations/${orgId()}/upstream_subscriptions/ping`);
|
20
|
+
return dispatch({
|
21
|
+
type: PING_UPSTREAM_SUBSCRIPTIONS_SUCCESS,
|
22
|
+
payload: data,
|
23
|
+
});
|
24
|
+
} catch (error) {
|
25
|
+
return dispatch(apiError(PING_UPSTREAM_SUBSCRIPTIONS_FAILURE, error));
|
26
|
+
}
|
27
|
+
};
|
14
28
|
|
15
29
|
export const loadUpstreamSubscriptions = (extendedParams = {}) => async (dispatch) => {
|
16
30
|
dispatch({ type: UPSTREAM_SUBSCRIPTIONS_REQUEST });
|
@@ -5,3 +5,6 @@ export const UPSTREAM_SUBSCRIPTIONS_FAILURE = 'UPSTREAM_SUBSCRIPTIONS_FAILURE';
|
|
5
5
|
export const SAVE_UPSTREAM_SUBSCRIPTIONS_REQUEST = 'SAVE_UPSTREAM_SUBSCRIPTIONS_REQUEST';
|
6
6
|
export const SAVE_UPSTREAM_SUBSCRIPTIONS_SUCCESS = 'SAVE_UPSTREAM_SUBSCRIPTIONS_SUCCESS';
|
7
7
|
export const SAVE_UPSTREAM_SUBSCRIPTIONS_FAILURE = 'SAVE_UPSTREAM_SUBSCRIPTIONS_FAILURE';
|
8
|
+
|
9
|
+
export const PING_UPSTREAM_SUBSCRIPTIONS_SUCCESS = 'PING_UPSTREAM_SUBSCRIPTIONS_SUCCESS';
|
10
|
+
export const PING_UPSTREAM_SUBSCRIPTIONS_FAILURE = 'PING_UPSTREAM_SUBSCRIPTIONS_FAILURE';
|
@@ -262,6 +262,8 @@ UpstreamSubscriptionsPage.propTypes = {
|
|
262
262
|
upstreamSubscriptions: PropTypes.shape({
|
263
263
|
loading: PropTypes.bool,
|
264
264
|
itemCount: PropTypes.number,
|
265
|
+
// Disabling rule as existing code failed due to an eslint-plugin-react update
|
266
|
+
// eslint-disable-next-line react/forbid-prop-types
|
265
267
|
results: PropTypes.array,
|
266
268
|
pagination: PropTypes.shape({}),
|
267
269
|
task: PropTypes.shape({
|
@@ -7,7 +7,7 @@ import {
|
|
7
7
|
SAVE_UPSTREAM_SUBSCRIPTIONS_REQUEST,
|
8
8
|
SAVE_UPSTREAM_SUBSCRIPTIONS_SUCCESS,
|
9
9
|
SAVE_UPSTREAM_SUBSCRIPTIONS_FAILURE,
|
10
|
-
} from './
|
10
|
+
} from './UpstreamSubscriptionsConstants';
|
11
11
|
|
12
12
|
const initialState = initialApiState;
|
13
13
|
|
@@ -5,9 +5,7 @@ import { testActionSnapshotWithFixtures } from 'react-redux-test-utils';
|
|
5
5
|
import { mockRequest, mockErrorRequest, mockReset } from '../../../mockRequest';
|
6
6
|
import {
|
7
7
|
requestSuccessResponse,
|
8
|
-
requestSuccessResponseWithRHSubscriptions,
|
9
8
|
successActions,
|
10
|
-
successActionsWithQuantityLoad,
|
11
9
|
failureActions,
|
12
10
|
updateQuantitySuccessActions,
|
13
11
|
updateQuantityFailureActions,
|
@@ -18,7 +16,8 @@ import {
|
|
18
16
|
loadTableColumnsSuccessAction,
|
19
17
|
} from './subscriptions.fixtures';
|
20
18
|
import {
|
21
|
-
|
19
|
+
handleFinishedTask,
|
20
|
+
handleStartTask,
|
22
21
|
pollTasks,
|
23
22
|
cancelPollTasks,
|
24
23
|
resetTasks,
|
@@ -33,7 +32,7 @@ import {
|
|
33
32
|
enableDeleteButton,
|
34
33
|
} from '../SubscriptionActions';
|
35
34
|
|
36
|
-
import {
|
35
|
+
import { getTaskSuccessResponse } from '../../Tasks/__tests__/task.fixtures';
|
37
36
|
|
38
37
|
const mockStore = configureMockStore([thunk]);
|
39
38
|
const store = mockStore(Immutable({
|
@@ -77,17 +76,6 @@ describe('subscription actions', () => {
|
|
77
76
|
expect(store.getActions()).toEqual(successActions);
|
78
77
|
},
|
79
78
|
);
|
80
|
-
it(
|
81
|
-
'creates SUBSCRIPTIONS_REQUEST and triggers loadAvailableQuantities when there is some RH subscription',
|
82
|
-
async () => {
|
83
|
-
mockRequest({
|
84
|
-
url: '/katello/api/v2/subscriptions',
|
85
|
-
response: requestSuccessResponseWithRHSubscriptions,
|
86
|
-
});
|
87
|
-
await store.dispatch(loadSubscriptions());
|
88
|
-
expect(store.getActions()).toEqual(successActionsWithQuantityLoad);
|
89
|
-
},
|
90
|
-
);
|
91
79
|
});
|
92
80
|
|
93
81
|
describe('updateQuantity', () => {
|
@@ -159,27 +147,15 @@ describe('subscription actions', () => {
|
|
159
147
|
);
|
160
148
|
});
|
161
149
|
|
162
|
-
describe('
|
163
|
-
|
164
|
-
|
165
|
-
await store.dispatch(handleTask(getTaskSuccessResponse));
|
166
|
-
|
167
|
-
expect(store.getActions()).toMatchSnapshot();
|
168
|
-
});
|
169
|
-
});
|
150
|
+
describe('handleStartTask', () => {
|
151
|
+
it('starts polling the task', async () => {
|
152
|
+
await store.dispatch(handleStartTask(getTaskSuccessResponse));
|
170
153
|
|
171
|
-
|
172
|
-
const pollStore = configureMockStore([thunk])({
|
173
|
-
intervals: {
|
174
|
-
SUBSCRIPTIONS_POLL_TASK: 5,
|
175
|
-
},
|
176
|
-
});
|
177
|
-
|
178
|
-
await pollStore.dispatch(handleTask(getTaskPendingResponse));
|
179
|
-
|
180
|
-
expect(pollStore.getActions()).toMatchSnapshot();
|
154
|
+
expect(store.getActions()).toMatchSnapshot();
|
181
155
|
});
|
156
|
+
});
|
182
157
|
|
158
|
+
describe('handleFinishedTask', () => {
|
183
159
|
it('handles a finished task', async () => {
|
184
160
|
const pollStore = configureMockStore([thunk])({
|
185
161
|
intervals: {
|
@@ -187,7 +163,7 @@ describe('subscription actions', () => {
|
|
187
163
|
},
|
188
164
|
});
|
189
165
|
|
190
|
-
await pollStore.dispatch(
|
166
|
+
await pollStore.dispatch(handleFinishedTask(getTaskSuccessResponse));
|
191
167
|
|
192
168
|
expect(pollStore.getActions()).toMatchSnapshot();
|
193
169
|
});
|
@@ -4,7 +4,8 @@ import toJson from 'enzyme-to-json';
|
|
4
4
|
import { loadSetting } from 'foremanReact/components/Settings/SettingsActions';
|
5
5
|
import SubscriptionsPage from '../SubscriptionsPage';
|
6
6
|
import { successState, settingsSuccessState, permissionDeniedState } from './subscriptions.fixtures';
|
7
|
-
import { loadSubscriptions, updateQuantity, loadTableColumns } from '../SubscriptionActions';
|
7
|
+
import { loadAvailableQuantities, loadSubscriptions, updateQuantity, loadTableColumns } from '../SubscriptionActions';
|
8
|
+
import { pingUpstreamSubscriptions } from '../UpstreamSubscriptions/UpstreamSubscriptionsActions';
|
8
9
|
import { createColumns, updateColumns } from '../../../scenes/Settings/Tables/TableActions';
|
9
10
|
|
10
11
|
jest.mock('foremanReact/components/PermissionDenied');
|
@@ -16,11 +17,13 @@ const loadTables = () => new Promise((resolve) => {
|
|
16
17
|
});
|
17
18
|
|
18
19
|
const pollTasks = jest.fn();
|
19
|
-
const
|
20
|
+
const handleStartTask = jest.fn();
|
21
|
+
const handleFinishedTask = jest.fn();
|
20
22
|
|
21
23
|
afterEach(() => {
|
22
24
|
pollTasks.mockClear();
|
23
|
-
|
25
|
+
handleStartTask.mockClear();
|
26
|
+
handleFinishedTask.mockClear();
|
24
27
|
});
|
25
28
|
|
26
29
|
describe('subscriptions page', () => {
|
@@ -38,8 +41,11 @@ describe('subscriptions page', () => {
|
|
38
41
|
createColumns={createColumns}
|
39
42
|
updateColumns={updateColumns}
|
40
43
|
loadSubscriptions={loadSubscriptions}
|
44
|
+
loadAvailableQuantities={loadAvailableQuantities}
|
45
|
+
pingUpstreamSubscriptions={pingUpstreamSubscriptions}
|
41
46
|
updateQuantity={updateQuantity}
|
42
|
-
|
47
|
+
handleStartTask={handleStartTask}
|
48
|
+
handleFinishedTask={handleFinishedTask}
|
43
49
|
pollTaskUntilDone={noop}
|
44
50
|
pollBulkSearch={noop}
|
45
51
|
pollTasks={pollTasks}
|
@@ -70,8 +76,11 @@ describe('subscriptions page', () => {
|
|
70
76
|
createColumns={createColumns}
|
71
77
|
updateColumns={updateColumns}
|
72
78
|
loadSubscriptions={loadSubscriptions}
|
79
|
+
loadAvailableQuantities={loadAvailableQuantities}
|
80
|
+
pingUpstreamSubscriptions={pingUpstreamSubscriptions}
|
73
81
|
updateQuantity={updateQuantity}
|
74
|
-
|
82
|
+
handleStartTask={handleStartTask}
|
83
|
+
handleFinishedTask={handleFinishedTask}
|
75
84
|
pollTaskUntilDone={noop}
|
76
85
|
pollBulkSearch={noop}
|
77
86
|
pollTasks={pollTasks}
|
@@ -118,8 +127,9 @@ describe('subscriptions page', () => {
|
|
118
127
|
},
|
119
128
|
};
|
120
129
|
|
121
|
-
page.setProps({
|
130
|
+
page.setProps({ isTaskPending: true, isPollingTask: true });
|
131
|
+
page.setProps({ task: mockTask, isPollingTask: true, isTaskPending: false });
|
122
132
|
|
123
|
-
expect(
|
133
|
+
expect(handleFinishedTask).toHaveBeenCalledWith(mockTask);
|
124
134
|
});
|
125
135
|
});
|
@@ -35,9 +35,7 @@ Object {
|
|
35
35
|
}
|
36
36
|
`;
|
37
37
|
|
38
|
-
exports[`subscription actions
|
39
|
-
|
40
|
-
exports[`subscription actions handleTask handles a finished task 1`] = `
|
38
|
+
exports[`subscription actions handleFinishedTask handles a finished task 1`] = `
|
41
39
|
Array [
|
42
40
|
Object {
|
43
41
|
"key": "SUBSCRIPTIONS_POLL_TASK",
|
@@ -77,7 +75,7 @@ Array [
|
|
77
75
|
]
|
78
76
|
`;
|
79
77
|
|
80
|
-
exports[`subscription actions
|
78
|
+
exports[`subscription actions handleStartTask starts polling the task 1`] = `
|
81
79
|
Array [
|
82
80
|
Object {
|
83
81
|
"key": "SUBSCRIPTIONS_TASK_SEARCH",
|
@@ -38,11 +38,11 @@ exports[`subscriptions page should render 1`] = `
|
|
38
38
|
</h1>
|
39
39
|
<SubscriptionsToolbar
|
40
40
|
canManageSubscriptionAllocations={false}
|
41
|
-
disableAddButton={
|
41
|
+
disableAddButton={true}
|
42
42
|
disableDeleteButton={true}
|
43
43
|
disableDeleteReason="This is disabled because no subscriptions are selected."
|
44
|
-
disableManifestActions={
|
45
|
-
disableManifestReason=
|
44
|
+
disableManifestActions={true}
|
45
|
+
disableManifestReason="This is disabled because no connection could be made to the upstream Subscription Allocation."
|
46
46
|
getAutoCompleteParams={[Function]}
|
47
47
|
initialInputValue=""
|
48
48
|
onDeleteButtonClick={[Function]}
|
@@ -57,7 +57,8 @@ exports[`subscriptions page should render 1`] = `
|
|
57
57
|
<Connect(ManageManifestModal)
|
58
58
|
canImportManifest={false}
|
59
59
|
delete={[Function]}
|
60
|
-
|
60
|
+
disableManifestActions={true}
|
61
|
+
disabledReason="This is disabled because no connection could be made to the upstream Subscription Allocation."
|
61
62
|
refresh={[Function]}
|
62
63
|
taskInProgress={false}
|
63
64
|
upload={[Function]}
|
@@ -83,6 +84,7 @@ exports[`subscriptions page should render 1`] = `
|
|
83
84
|
onSelectedRowsChange={[Function]}
|
84
85
|
onSubscriptionDeleteModalClose={[Function]}
|
85
86
|
selectedRows={Array []}
|
87
|
+
selectionEnabled={false}
|
86
88
|
subscriptionDeleteModalOpen={false}
|
87
89
|
subscriptions={
|
88
90
|
Object {
|
@@ -5,7 +5,7 @@ Object {
|
|
5
5
|
"availableQuantities": null,
|
6
6
|
"deleteButtonDisabled": true,
|
7
7
|
"deleteModalOpened": false,
|
8
|
-
"
|
8
|
+
"hasUpstreamConnection": false,
|
9
9
|
"itemCount": 0,
|
10
10
|
"loading": true,
|
11
11
|
"pagination": Object {
|
@@ -31,7 +31,7 @@ Object {
|
|
31
31
|
"availableQuantities": null,
|
32
32
|
"deleteButtonDisabled": true,
|
33
33
|
"deleteModalOpened": false,
|
34
|
-
"
|
34
|
+
"hasUpstreamConnection": false,
|
35
35
|
"itemCount": 0,
|
36
36
|
"loading": true,
|
37
37
|
"pagination": Object {
|
@@ -58,6 +58,7 @@ Object {
|
|
58
58
|
"deleteButtonDisabled": true,
|
59
59
|
"deleteModalOpened": false,
|
60
60
|
"disconnected": "some-value",
|
61
|
+
"hasUpstreamConnection": false,
|
61
62
|
"itemCount": 0,
|
62
63
|
"loading": true,
|
63
64
|
"pagination": Object {
|
@@ -78,7 +79,7 @@ Object {
|
|
78
79
|
"availableQuantities": null,
|
79
80
|
"deleteButtonDisabled": true,
|
80
81
|
"deleteModalOpened": false,
|
81
|
-
"
|
82
|
+
"hasUpstreamConnection": false,
|
82
83
|
"itemCount": 0,
|
83
84
|
"loading": true,
|
84
85
|
"pagination": Object {
|
@@ -99,7 +100,7 @@ Object {
|
|
99
100
|
"availableQuantities": null,
|
100
101
|
"deleteButtonDisabled": true,
|
101
102
|
"deleteModalOpened": false,
|
102
|
-
"
|
103
|
+
"hasUpstreamConnection": false,
|
103
104
|
"itemCount": 0,
|
104
105
|
"loading": true,
|
105
106
|
"pagination": Object {
|
@@ -125,7 +126,7 @@ Object {
|
|
125
126
|
"availableQuantities": null,
|
126
127
|
"deleteButtonDisabled": true,
|
127
128
|
"deleteModalOpened": false,
|
128
|
-
"
|
129
|
+
"hasUpstreamConnection": false,
|
129
130
|
"itemCount": 0,
|
130
131
|
"loading": true,
|
131
132
|
"pagination": Object {
|
@@ -146,7 +147,7 @@ Object {
|
|
146
147
|
"availableQuantities": null,
|
147
148
|
"deleteButtonDisabled": true,
|
148
149
|
"deleteModalOpened": false,
|
149
|
-
"
|
150
|
+
"hasUpstreamConnection": false,
|
150
151
|
"itemCount": 0,
|
151
152
|
"loading": true,
|
152
153
|
"pagination": Object {
|
@@ -171,7 +172,7 @@ Object {
|
|
171
172
|
"availableQuantities": null,
|
172
173
|
"deleteButtonDisabled": true,
|
173
174
|
"deleteModalOpened": false,
|
174
|
-
"
|
175
|
+
"hasUpstreamConnection": false,
|
175
176
|
"itemCount": 0,
|
176
177
|
"loading": true,
|
177
178
|
"pagination": Object {
|
@@ -192,7 +193,7 @@ Object {
|
|
192
193
|
"availableQuantities": null,
|
193
194
|
"deleteButtonDisabled": false,
|
194
195
|
"deleteModalOpened": false,
|
195
|
-
"
|
196
|
+
"hasUpstreamConnection": false,
|
196
197
|
"itemCount": 0,
|
197
198
|
"loading": true,
|
198
199
|
"pagination": Object {
|
@@ -213,7 +214,7 @@ Object {
|
|
213
214
|
"availableQuantities": null,
|
214
215
|
"deleteButtonDisabled": true,
|
215
216
|
"deleteModalOpened": false,
|
216
|
-
"
|
217
|
+
"hasUpstreamConnection": false,
|
217
218
|
"itemCount": 0,
|
218
219
|
"loading": false,
|
219
220
|
"missingPermissions": undefined,
|
@@ -235,7 +236,7 @@ Object {
|
|
235
236
|
"availableQuantities": null,
|
236
237
|
"deleteButtonDisabled": true,
|
237
238
|
"deleteModalOpened": true,
|
238
|
-
"
|
239
|
+
"hasUpstreamConnection": false,
|
239
240
|
"itemCount": 0,
|
240
241
|
"loading": true,
|
241
242
|
"pagination": Object {
|
@@ -256,7 +257,7 @@ Object {
|
|
256
257
|
"availableQuantities": null,
|
257
258
|
"deleteButtonDisabled": true,
|
258
259
|
"deleteModalOpened": false,
|
259
|
-
"
|
260
|
+
"hasUpstreamConnection": false,
|
260
261
|
"itemCount": 0,
|
261
262
|
"loading": true,
|
262
263
|
"pagination": Object {
|
@@ -277,7 +278,7 @@ Object {
|
|
277
278
|
"availableQuantities": null,
|
278
279
|
"deleteButtonDisabled": true,
|
279
280
|
"deleteModalOpened": false,
|
280
|
-
"
|
281
|
+
"hasUpstreamConnection": false,
|
281
282
|
"itemCount": 0,
|
282
283
|
"loading": true,
|
283
284
|
"pagination": Object {
|
@@ -303,7 +304,7 @@ Object {
|
|
303
304
|
"availableQuantities": Object {},
|
304
305
|
"deleteButtonDisabled": true,
|
305
306
|
"deleteModalOpened": false,
|
306
|
-
"
|
307
|
+
"hasUpstreamConnection": false,
|
307
308
|
"itemCount": 0,
|
308
309
|
"loading": true,
|
309
310
|
"pagination": Object {
|
@@ -324,7 +325,7 @@ Object {
|
|
324
325
|
"availableQuantities": null,
|
325
326
|
"deleteButtonDisabled": true,
|
326
327
|
"deleteModalOpened": false,
|
327
|
-
"
|
328
|
+
"hasUpstreamConnection": false,
|
328
329
|
"itemCount": 0,
|
329
330
|
"loading": true,
|
330
331
|
"pagination": Object {
|
@@ -345,7 +346,7 @@ Object {
|
|
345
346
|
"availableQuantities": "some-quantities-data",
|
346
347
|
"deleteButtonDisabled": true,
|
347
348
|
"deleteModalOpened": false,
|
348
|
-
"
|
349
|
+
"hasUpstreamConnection": false,
|
349
350
|
"itemCount": 0,
|
350
351
|
"loading": true,
|
351
352
|
"pagination": Object {
|
@@ -366,7 +367,7 @@ Object {
|
|
366
367
|
"availableQuantities": null,
|
367
368
|
"deleteButtonDisabled": true,
|
368
369
|
"deleteModalOpened": false,
|
369
|
-
"
|
370
|
+
"hasUpstreamConnection": false,
|
370
371
|
"itemCount": 0,
|
371
372
|
"loading": true,
|
372
373
|
"pagination": Object {
|
@@ -387,7 +388,7 @@ Object {
|
|
387
388
|
"availableQuantities": null,
|
388
389
|
"deleteButtonDisabled": true,
|
389
390
|
"deleteModalOpened": false,
|
390
|
-
"
|
391
|
+
"hasUpstreamConnection": false,
|
391
392
|
"itemCount": 0,
|
392
393
|
"loading": true,
|
393
394
|
"pagination": Object {
|
@@ -414,7 +415,7 @@ Object {
|
|
414
415
|
"availableQuantities": null,
|
415
416
|
"deleteButtonDisabled": true,
|
416
417
|
"deleteModalOpened": false,
|
417
|
-
"
|
418
|
+
"hasUpstreamConnection": false,
|
418
419
|
"itemCount": 20,
|
419
420
|
"loading": false,
|
420
421
|
"pagination": Object {
|
@@ -437,7 +438,7 @@ Object {
|
|
437
438
|
"availableQuantities": null,
|
438
439
|
"deleteButtonDisabled": true,
|
439
440
|
"deleteModalOpened": false,
|
440
|
-
"
|
441
|
+
"hasUpstreamConnection": false,
|
441
442
|
"itemCount": 0,
|
442
443
|
"loading": true,
|
443
444
|
"pagination": Object {
|
@@ -458,7 +459,7 @@ Object {
|
|
458
459
|
"availableQuantities": null,
|
459
460
|
"deleteButtonDisabled": true,
|
460
461
|
"deleteModalOpened": false,
|
461
|
-
"
|
462
|
+
"hasUpstreamConnection": false,
|
462
463
|
"itemCount": 0,
|
463
464
|
"loading": true,
|
464
465
|
"pagination": Object {
|
@@ -484,7 +485,7 @@ Object {
|
|
484
485
|
"availableQuantities": null,
|
485
486
|
"deleteButtonDisabled": true,
|
486
487
|
"deleteModalOpened": false,
|
487
|
-
"
|
488
|
+
"hasUpstreamConnection": false,
|
488
489
|
"itemCount": 0,
|
489
490
|
"loading": true,
|
490
491
|
"pagination": Object {
|
@@ -505,7 +506,7 @@ Object {
|
|
505
506
|
"availableQuantities": null,
|
506
507
|
"deleteButtonDisabled": true,
|
507
508
|
"deleteModalOpened": false,
|
508
|
-
"
|
509
|
+
"hasUpstreamConnection": false,
|
509
510
|
"itemCount": 0,
|
510
511
|
"loading": true,
|
511
512
|
"pagination": Object {
|
@@ -531,7 +532,7 @@ Object {
|
|
531
532
|
"availableQuantities": null,
|
532
533
|
"deleteButtonDisabled": true,
|
533
534
|
"deleteModalOpened": false,
|
534
|
-
"
|
535
|
+
"hasUpstreamConnection": false,
|
535
536
|
"itemCount": 0,
|
536
537
|
"loading": true,
|
537
538
|
"pagination": Object {
|
@@ -555,7 +556,7 @@ Object {
|
|
555
556
|
"availableQuantities": null,
|
556
557
|
"deleteButtonDisabled": true,
|
557
558
|
"deleteModalOpened": false,
|
558
|
-
"
|
559
|
+
"hasUpstreamConnection": false,
|
559
560
|
"itemCount": 0,
|
560
561
|
"loading": true,
|
561
562
|
"pagination": Object {
|
@@ -581,7 +582,7 @@ Object {
|
|
581
582
|
"availableQuantities": null,
|
582
583
|
"deleteButtonDisabled": true,
|
583
584
|
"deleteModalOpened": false,
|
584
|
-
"
|
585
|
+
"hasUpstreamConnection": false,
|
585
586
|
"itemCount": 0,
|
586
587
|
"loading": true,
|
587
588
|
"pagination": Object {
|