foreman_ansible 7.0.4 → 7.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/api/v2/ansible_playbooks_controller.rb +66 -0
  3. data/app/jobs/sync_playbooks.rb +25 -0
  4. data/app/lib/proxy_api/ansible.rb +13 -0
  5. data/app/services/foreman_ansible/import_playbooks_error_notification.rb +38 -0
  6. data/app/services/foreman_ansible/import_playbooks_success_notification.rb +33 -0
  7. data/app/services/foreman_ansible/playbooks_importer.rb +73 -0
  8. data/app/services/foreman_ansible/proxy_api.rb +3 -4
  9. data/app/views/ansible_roles/index.html.erb +2 -0
  10. data/app/views/api/v2/ansible_playbooks/sync.json.rabl +5 -0
  11. data/app/views/foreman_ansible/job_templates/ansible_windows_updates.erb +160 -0
  12. data/app/views/foreman_ansible/job_templates/configure_cloud_connector_-_ansible_default.erb +37 -0
  13. data/config/routes.rb +7 -0
  14. data/db/seeds.d/90_notification_blueprints.rb +14 -0
  15. data/lib/foreman_ansible/register.rb +3 -1
  16. data/lib/foreman_ansible/remote_execution.rb +6 -0
  17. data/lib/foreman_ansible/version.rb +1 -1
  18. data/test/fixtures/playbooks_example_output.json +1 -0
  19. data/test/fixtures/sample_playbooks.json +10 -0
  20. data/test/functional/api/v2/ansible_playbooks_controller_test.rb +65 -0
  21. data/test/functional/hosts_controller_test.rb +2 -2
  22. data/test/unit/import_playbooks_test.rb +51 -0
  23. data/test/unit/lib/proxy_api/ansible_test.rb +6 -0
  24. data/webpack/components/AnsibleHostDetail/components/AnsibleVariableOverrides/AnsibleVariableOverridesTable.js +58 -75
  25. data/webpack/components/AnsibleHostDetail/components/JobsTab/PreviousJobsTable.js +44 -58
  26. data/webpack/components/AnsibleHostDetail/components/RolesTab/AllRolesModal/AllRolesTable.js +32 -55
  27. data/webpack/components/AnsibleHostDetail/components/RolesTab/AllRolesModal/index.js +1 -1
  28. data/webpack/components/AnsibleHostDetail/components/RolesTab/RolesTable.js +29 -42
  29. data/webpack/components/AnsibleRolesAndVariables/AnsibleRolesAndVariables.js +27 -38
  30. data/webpack/components/AnsibleRolesAndVariables/AnsibleRolesAndVariablesActions.js +2 -1
  31. data/webpack/components/AnsibleRolesAndVariables/AnsibleRolesAndVariablesConstants.js +1 -0
  32. data/webpack/components/AnsibleRolesAndVariables/AnsibleRolesAndVariablesSelectors.js +6 -0
  33. data/webpack/components/AnsibleRolesAndVariables/index.js +7 -1
  34. data/webpack/components/AnsibleRolesSwitcher/components/AvailableRolesList.js +2 -2
  35. data/webpack/components/AnsibleRolesSwitcher/components/__snapshots__/AvailableRolesList.test.js.snap +9 -6
  36. data/webpack/helpers/pageParamsHelper.js +3 -3
  37. metadata +46 -31
  38. data/webpack/components/withPagination.js +0 -0
  39. data/webpack/helpers/paginationHelper.js +0 -9
@@ -12,9 +12,8 @@ import {
12
12
  ToolbarContent,
13
13
  ToolbarItem,
14
14
  Checkbox,
15
- Pagination,
16
15
  } from '@patternfly/react-core';
17
-
16
+ import Pagination from 'foremanReact/components/Pagination';
18
17
  import PropTypes from 'prop-types';
19
18
  import { DEFAULT_PER_PAGE } from './AnsibleRolesAndVariablesConstants';
20
19
  import './AnsibleRolesAndVariables.scss';
@@ -25,6 +24,7 @@ const ImportRolesAndVariablesTable = ({
25
24
  proxy,
26
25
  onSubmit,
27
26
  onCancel,
27
+ isImporting,
28
28
  }) => {
29
29
  const columns = columnsData.map(col => ({
30
30
  ...col,
@@ -34,10 +34,13 @@ const ImportRolesAndVariablesTable = ({
34
34
 
35
35
  const [isChecked, setIsChecked] = useState(false);
36
36
  const [selectedRowsCount, setSelectRowsCount] = useState(0);
37
-
38
- const [page, setPage] = useState();
39
- const [perPage, setPerPage] = useState(DEFAULT_PER_PAGE);
40
- const [paginatedRows, setPaginatedRows] = useState(rows.slice(0, perPage));
37
+ const [pagination, setPagination] = useState({
38
+ page: 1,
39
+ per_page: DEFAULT_PER_PAGE,
40
+ });
41
+ const [paginatedRows, setPaginatedRows] = useState(
42
+ rows.slice(0, pagination.per_page)
43
+ );
41
44
 
42
45
  const onSelect = (event, isSelected, rowId, row) => {
43
46
  const selectableRowLength = rows.filter(
@@ -68,43 +71,22 @@ const ImportRolesAndVariablesTable = ({
68
71
  onSelect(null, checked, -1);
69
72
  };
70
73
 
71
- const handleSetPage = (event, newPage) => {
72
- const startIdx = (newPage - 1) * perPage;
74
+ const handleSetPage = args => {
75
+ const startIdx = (args.page - 1) * args.per_page;
73
76
  const endIdx =
74
- rows.length < newPage * perPage ? rows.length : newPage * perPage;
75
- setPage(newPage);
77
+ rows.length < args.page * args.per_page
78
+ ? rows.length
79
+ : args.page * args.per_page;
80
+ setPagination(args);
76
81
  setPaginatedRows(rows.slice(startIdx, endIdx));
77
82
  };
78
83
 
79
- const handlePerPageSelect = (
80
- event,
81
- newPerPage,
82
- newPage,
83
- startIdx,
84
- endIdx
85
- ) => {
86
- setPerPage(newPerPage);
87
- setPage(newPage);
88
- setPaginatedRows(rows.slice(startIdx, endIdx));
89
- };
90
-
91
- const renderPagination = (variant = 'top') => (
84
+ const renderPagination = () => (
92
85
  <Pagination
93
86
  isCompact
94
87
  itemCount={rows.length}
95
- page={page}
96
- perPage={perPage}
97
- defaultToFullPage
98
- onSetPage={handleSetPage}
99
- onPerPageSelect={handlePerPageSelect}
100
- perPageOptions={[
101
- { title: '3', value: 3 },
102
- { title: '5', value: 5 },
103
- { title: '10', value: 10 },
104
- ]}
105
- titles={{
106
- paginationTitle: `${variant} pagination`,
107
- }}
88
+ perPage={pagination.per_page}
89
+ onChange={args => handleSetPage(args)}
108
90
  />
109
91
  );
110
92
 
@@ -131,10 +113,15 @@ const ImportRolesAndVariablesTable = ({
131
113
  <div className="submit-cancel-btns">
132
114
  <br />
133
115
  <br />
134
- <Button variant="primary" onClick={() => onSubmit(rows, proxy)}>
116
+ <Button
117
+ variant="primary"
118
+ onClick={() => onSubmit(rows, proxy)}
119
+ isLoading={isImporting}
120
+ isDisabled={isImporting || selectedRowsCount === 0}
121
+ >
135
122
  Submit
136
123
  </Button>
137
- <Button variant="secondary" onClick={onCancel}>
124
+ <Button variant="secondary" onClick={onCancel} isDisabled={isImporting}>
138
125
  Cancel
139
126
  </Button>
140
127
  </div>
@@ -165,6 +152,7 @@ ImportRolesAndVariablesTable.defaultProps = {
165
152
  proxy: undefined,
166
153
  onSubmit: undefined,
167
154
  onCancel: undefined,
155
+ isImporting: false,
168
156
  };
169
157
 
170
158
  ImportRolesAndVariablesTable.propTypes = {
@@ -173,6 +161,7 @@ ImportRolesAndVariablesTable.propTypes = {
173
161
  proxy: PropTypes.number,
174
162
  onSubmit: PropTypes.func,
175
163
  onCancel: PropTypes.func,
164
+ isImporting: PropTypes.bool,
176
165
  };
177
166
 
178
167
  export default ImportRolesAndVariablesTable;
@@ -4,6 +4,7 @@ import { post } from 'foremanReact/redux/API';
4
4
  import { push } from 'connected-react-router';
5
5
  import { prepareResult } from './AnsibleRolesAndVariablesHelpers';
6
6
  import {
7
+ IMPORT_ANSIBLE_V_R,
7
8
  ANSIBLE_ROLE_CONFIRM_IMPORT_PATH,
8
9
  ANSIBLE_ROLES_INDEX,
9
10
  } from './AnsibleRolesAndVariablesConstants';
@@ -14,7 +15,7 @@ export const onSubmit = (rows, proxy) => dispatch => {
14
15
  const params = prepareResult(rows);
15
16
  dispatch(
16
17
  post({
17
- key: 'import_ansible_v_r',
18
+ key: IMPORT_ANSIBLE_V_R,
18
19
  url: ANSIBLE_ROLE_CONFIRM_IMPORT_PATH,
19
20
  params: { changed: params, proxy },
20
21
  handleSuccess: () => {
@@ -1,3 +1,4 @@
1
+ export const IMPORT_ANSIBLE_V_R = 'IMPORT_ANSIBLE_V_R';
1
2
  export const ANSIBLE_ROLES_INDEX = '/ansible/ansible_roles';
2
3
  export const ANSIBLE_ROLE_CONFIRM_IMPORT_PATH =
3
4
  '/ansible/ansible_roles/confirm_import';
@@ -0,0 +1,6 @@
1
+ import { selectAPIStatus } from 'foremanReact/redux/API/APISelectors';
2
+ import { IMPORT_ANSIBLE_V_R } from './AnsibleRolesAndVariablesConstants';
3
+
4
+ // API statuses
5
+ export const selectApiImportStatus = state =>
6
+ selectAPIStatus(state, IMPORT_ANSIBLE_V_R);
@@ -1,10 +1,13 @@
1
1
  import React from 'react';
2
- import { useDispatch } from 'react-redux';
2
+ import { useDispatch, useSelector } from 'react-redux';
3
3
  import { push } from 'connected-react-router';
4
4
 
5
+ import { STATUS } from 'foremanReact/constants';
6
+
5
7
  import ImportRolesAndVariablesTable from './AnsibleRolesAndVariables';
6
8
  import { onSubmit } from './AnsibleRolesAndVariablesActions';
7
9
  import { ANSIBLE_ROLES_INDEX } from './AnsibleRolesAndVariablesConstants';
10
+ import { selectApiImportStatus } from './AnsibleRolesAndVariablesSelectors';
8
11
 
9
12
  const WrappedImportRolesAndVariables = props => {
10
13
  const cols = [
@@ -19,12 +22,15 @@ const WrappedImportRolesAndVariables = props => {
19
22
  const onCancel = () => {
20
23
  dispatch(push(ANSIBLE_ROLES_INDEX));
21
24
  };
25
+ const apiImportStatus = useSelector(selectApiImportStatus);
26
+
22
27
  return (
23
28
  <ImportRolesAndVariablesTable
24
29
  {...props}
25
30
  columnsData={cols}
26
31
  onSubmit={submit}
27
32
  onCancel={onCancel}
33
+ isImporting={apiImportStatus === STATUS.PENDING}
28
34
  />
29
35
  );
30
36
  };
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
 
4
4
  import { ListView, LoadingState } from 'patternfly-react';
5
- import PaginationWrapper from 'foremanReact/components/Pagination/PaginationWrapper';
5
+ import Pagination from 'foremanReact/components/Pagination';
6
6
 
7
7
  import AnsibleRole from './AnsibleRole';
8
8
 
@@ -16,7 +16,7 @@ const AvailableRolesList = ({
16
16
  }) => (
17
17
  <ListView>
18
18
  <div className="sticky-pagination">
19
- <PaginationWrapper
19
+ <Pagination
20
20
  viewType="list"
21
21
  itemCount={itemCount}
22
22
  pagination={pagination}
@@ -7,21 +7,24 @@ exports[`AvailableRolesList should render 1`] = `
7
7
  <div
8
8
  className="sticky-pagination"
9
9
  >
10
- <PaginationWrapper
11
- className=""
12
- disableNext={false}
13
- disablePrev={false}
10
+ <Pagination
11
+ className={null}
14
12
  dropdownButtonId="available-ansible-roles-pagination-row-dropdown"
15
13
  itemCount={2}
14
+ noSidePadding={false}
16
15
  onChange={[Function]}
17
- onPageSet={[Function]}
18
- onPerPageSelect={[Function]}
16
+ onPerPageSelect={null}
17
+ onSetPage={null}
18
+ page={1}
19
19
  pagination={
20
20
  Object {
21
21
  "page": 1,
22
22
  "perPage": 25,
23
23
  }
24
24
  }
25
+ perPage={null}
26
+ updateParamsByUrl={true}
27
+ variant="bottom"
25
28
  viewType="list"
26
29
  />
27
30
  </div>
@@ -14,7 +14,7 @@ export const addSearch = (basePath, params) => {
14
14
 
15
15
  export const useCurrentPagination = (
16
16
  history,
17
- keys = { page: 'page', perPage: 'perPage' }
17
+ keys = { page: 'page', perPage: 'per_page' }
18
18
  ) => {
19
19
  const pageParams = parsePageParams(history);
20
20
  const uiSettings = useForemanSettings();
@@ -28,7 +28,7 @@ export const useCurrentPagination = (
28
28
 
29
29
  export const pageToVars = (
30
30
  pagination,
31
- keys = { page: 'page', perPage: 'perPage' }
31
+ keys = { page: 'page', perPage: 'per_page' }
32
32
  ) => ({
33
33
  first: pagination[keys.page] * pagination[keys.perPage],
34
34
  last: pagination[keys.perPage],
@@ -36,5 +36,5 @@ export const pageToVars = (
36
36
 
37
37
  export const useParamsToVars = (
38
38
  history,
39
- keys = { page: 'page', perPage: 'perPage' }
39
+ keys = { page: 'page', perPage: 'per_page' }
40
40
  ) => pageToVars(useCurrentPagination(history, keys), keys);
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman_ansible
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.0.4
4
+ version: 7.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Lobato Garcia
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-26 00:00:00.000000000 Z
11
+ date: 2022-03-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: acts_as_list
@@ -81,6 +81,7 @@ files:
81
81
  - app/controllers/ansible_variables_controller.rb
82
82
  - app/controllers/api/v2/ansible_inventories_controller.rb
83
83
  - app/controllers/api/v2/ansible_override_values_controller.rb
84
+ - app/controllers/api/v2/ansible_playbooks_controller.rb
84
85
  - app/controllers/api/v2/ansible_roles_controller.rb
85
86
  - app/controllers/api/v2/ansible_variables_controller.rb
86
87
  - app/controllers/concerns/foreman/controller/parameters/ansible_override_value.rb
@@ -113,6 +114,7 @@ files:
113
114
  - app/helpers/foreman_ansible/ansible_roles_data_preparations.rb
114
115
  - app/helpers/foreman_ansible/ansible_roles_helper.rb
115
116
  - app/helpers/foreman_ansible/hosts_helper_extensions.rb
117
+ - app/jobs/sync_playbooks.rb
116
118
  - app/jobs/sync_roles_and_variables.rb
117
119
  - app/lib/actions/foreman_ansible/helpers/play_roles_description.rb
118
120
  - app/lib/proxy_api/ansible.rb
@@ -131,6 +133,8 @@ files:
131
133
  - app/services/foreman_ansible/ansible_report_importer.rb
132
134
  - app/services/foreman_ansible/ansible_report_scanner.rb
133
135
  - app/services/foreman_ansible/api_roles_importer.rb
136
+ - app/services/foreman_ansible/import_playbooks_error_notification.rb
137
+ - app/services/foreman_ansible/import_playbooks_success_notification.rb
134
138
  - app/services/foreman_ansible/import_roles_and_variables_error_notification.rb
135
139
  - app/services/foreman_ansible/import_roles_and_variables_success_notification.rb
136
140
  - app/services/foreman_ansible/insights_notification_builder.rb
@@ -138,6 +142,7 @@ files:
138
142
  - app/services/foreman_ansible/inventory_creator.rb
139
143
  - app/services/foreman_ansible/override_resolver.rb
140
144
  - app/services/foreman_ansible/playbook_creator.rb
145
+ - app/services/foreman_ansible/playbooks_importer.rb
141
146
  - app/services/foreman_ansible/proxy_api.rb
142
147
  - app/services/foreman_ansible/renderer_methods.rb
143
148
  - app/services/foreman_ansible/roles_importer.rb
@@ -152,6 +157,7 @@ files:
152
157
  - app/views/ansible_variables/new.html.erb
153
158
  - app/views/api/v2/ansible_override_values/index.json.rabl
154
159
  - app/views/api/v2/ansible_override_values/show.json.rabl
160
+ - app/views/api/v2/ansible_playbooks/sync.json.rabl
155
161
  - app/views/api/v2/ansible_roles/import.json.rabl
156
162
  - app/views/api/v2/ansible_roles/index.json.rabl
157
163
  - app/views/api/v2/ansible_roles/obsolete.json.rabl
@@ -178,7 +184,9 @@ files:
178
184
  - app/views/foreman_ansible/job_templates/ansible_roles_-_ansible_default.erb
179
185
  - app/views/foreman_ansible/job_templates/ansible_roles_-_install_from_galaxy.erb
180
186
  - app/views/foreman_ansible/job_templates/ansible_roles_-_install_from_git.erb
187
+ - app/views/foreman_ansible/job_templates/ansible_windows_updates.erb
181
188
  - app/views/foreman_ansible/job_templates/capsule_upgrade_-_ansible_default.erb
189
+ - app/views/foreman_ansible/job_templates/configure_cloud_connector_-_ansible_default.erb
182
190
  - app/views/foreman_ansible/job_templates/convert_to_rhel.erb
183
191
  - app/views/foreman_ansible/job_templates/maintenance_plan.erb
184
192
  - app/views/foreman_ansible/job_templates/module_action_-_ansible_default.erb
@@ -264,12 +272,15 @@ files:
264
272
  - test/factories/ansible_variables.rb
265
273
  - test/factories/host_ansible_enhancements.rb
266
274
  - test/fixtures/insights_playbook.yaml
275
+ - test/fixtures/playbooks_example_output.json
267
276
  - test/fixtures/report.json
268
277
  - test/fixtures/sample_facts.json
278
+ - test/fixtures/sample_playbooks.json
269
279
  - test/foreman_ansible/helpers/ansible_roles_helper_test.rb
270
280
  - test/functional/ansible_roles_controller_test.rb
271
281
  - test/functional/ansible_variables_controller_test.rb
272
282
  - test/functional/api/v2/ansible_inventories_controller_test.rb
283
+ - test/functional/api/v2/ansible_playbooks_controller_test.rb
273
284
  - test/functional/api/v2/ansible_roles_controller_test.rb
274
285
  - test/functional/api/v2/ansible_variables_controller_test.rb
275
286
  - test/functional/api/v2/hostgroups_controller_test.rb
@@ -291,6 +302,7 @@ files:
291
302
  - test/unit/host_ansible_role_test.rb
292
303
  - test/unit/hostgroup_ansible_role_test.rb
293
304
  - test/unit/ignore_roles_test.rb
305
+ - test/unit/import_playbooks_test.rb
294
306
  - test/unit/import_roles_and_variables.rb
295
307
  - test/unit/lib/proxy_api/ansible_test.rb
296
308
  - test/unit/services/ansible_report_importer_test.rb
@@ -352,6 +364,7 @@ files:
352
364
  - webpack/components/AnsibleRolesAndVariables/AnsibleRolesAndVariablesActions.js
353
365
  - webpack/components/AnsibleRolesAndVariables/AnsibleRolesAndVariablesConstants.js
354
366
  - webpack/components/AnsibleRolesAndVariables/AnsibleRolesAndVariablesHelpers.js
367
+ - webpack/components/AnsibleRolesAndVariables/AnsibleRolesAndVariablesSelectors.js
355
368
  - webpack/components/AnsibleRolesAndVariables/__test__/AnsibleRolesAndVariablesHelpers.test.js
356
369
  - webpack/components/AnsibleRolesAndVariables/__test__/AnsibleRolesAndVariablesImport.test.js
357
370
  - webpack/components/AnsibleRolesAndVariables/index.js
@@ -400,7 +413,6 @@ files:
400
413
  - webpack/components/ErrorState.js
401
414
  - webpack/components/ReportJsonViewer.js
402
415
  - webpack/components/withLoading.js
403
- - webpack/components/withPagination.js
404
416
  - webpack/formHelper.js
405
417
  - webpack/globalIdHelper.js
406
418
  - webpack/global_index.js
@@ -418,7 +430,6 @@ files:
418
430
  - webpack/graphql/queries/hostVariableOverrides.gql
419
431
  - webpack/graphql/queries/recurringJobs.gql
420
432
  - webpack/helpers/pageParamsHelper.js
421
- - webpack/helpers/paginationHelper.js
422
433
  - webpack/index.js
423
434
  - webpack/permissionsHelper.js
424
435
  - webpack/reducer.js
@@ -447,50 +458,54 @@ required_rubygems_version: !ruby/object:Gem::Requirement
447
458
  - !ruby/object:Gem::Version
448
459
  version: '0'
449
460
  requirements: []
450
- rubygems_version: 3.1.4
461
+ rubygems_version: 3.3.4
451
462
  signing_key:
452
463
  specification_version: 4
453
464
  summary: Ansible integration with Foreman (theforeman.org)
454
465
  test_files:
455
- - test/factories/ansible_proxy.rb
456
- - test/factories/ansible_roles.rb
457
- - test/factories/ansible_variables.rb
458
- - test/factories/host_ansible_enhancements.rb
459
- - test/fixtures/insights_playbook.yaml
460
- - test/fixtures/sample_facts.json
461
- - test/fixtures/report.json
466
+ - test/functional/ansible_variables_controller_test.rb
462
467
  - test/functional/ansible_roles_controller_test.rb
463
- - test/functional/api/v2/ansible_inventories_controller_test.rb
464
- - test/functional/api/v2/ansible_roles_controller_test.rb
465
468
  - test/functional/api/v2/ansible_variables_controller_test.rb
469
+ - test/functional/api/v2/ansible_roles_controller_test.rb
466
470
  - test/functional/api/v2/hostgroups_controller_test.rb
471
+ - test/functional/api/v2/ansible_playbooks_controller_test.rb
472
+ - test/functional/api/v2/ansible_inventories_controller_test.rb
467
473
  - test/functional/api/v2/hosts_controller_test.rb
468
474
  - test/functional/ui_ansible_roles_controller_test.rb
469
- - test/functional/ansible_variables_controller_test.rb
470
475
  - test/functional/hosts_controller_test.rb
471
- - test/test_plugin_helper.rb
476
+ - test/graphql/mutations/hosts/assign_ansible_roles_mutation_test.rb
477
+ - test/graphql/queries/ansible_roles_query_test.rb
478
+ - test/foreman_ansible/helpers/ansible_roles_helper_test.rb
472
479
  - test/unit/actions/run_ansible_job_test.rb
473
480
  - test/unit/actions/run_proxy_ansible_command_test.rb
474
- - test/unit/ansible_role_test.rb
475
- - test/unit/concerns/config_reports_extensions_test.rb
476
- - test/unit/concerns/host_managed_extensions_test.rb
477
- - test/unit/concerns/hostgroup_extensions_test.rb
478
- - test/unit/helpers/ansible_reports_helper_test.rb
479
- - test/unit/lib/proxy_api/ansible_test.rb
481
+ - test/unit/services/api_roles_importer_test.rb
482
+ - test/unit/services/ui_roles_importer_test.rb
480
483
  - test/unit/services/ansible_report_importer_test.rb
481
484
  - test/unit/services/insights_plan_runner_test.rb
485
+ - test/unit/services/override_resolver_test.rb
482
486
  - test/unit/services/roles_importer_test.rb
483
- - test/unit/services/ansible_variables_importer_test.rb
484
- - test/unit/services/api_roles_importer_test.rb
485
487
  - test/unit/services/inventory_creator_test.rb
486
- - test/unit/services/override_resolver_test.rb
487
- - test/unit/services/ui_roles_importer_test.rb
488
- - test/unit/ansible_provider_test.rb
488
+ - test/unit/services/ansible_variables_importer_test.rb
489
+ - test/unit/lib/proxy_api/ansible_test.rb
490
+ - test/unit/ansible_role_test.rb
491
+ - test/unit/hostgroup_ansible_role_test.rb
489
492
  - test/unit/ansible_variable_test.rb
490
493
  - test/unit/host_ansible_role_test.rb
491
- - test/unit/hostgroup_ansible_role_test.rb
494
+ - test/unit/helpers/ansible_reports_helper_test.rb
495
+ - test/unit/ansible_provider_test.rb
492
496
  - test/unit/ignore_roles_test.rb
497
+ - test/unit/import_playbooks_test.rb
493
498
  - test/unit/import_roles_and_variables.rb
494
- - test/foreman_ansible/helpers/ansible_roles_helper_test.rb
495
- - test/graphql/mutations/hosts/assign_ansible_roles_mutation_test.rb
496
- - test/graphql/queries/ansible_roles_query_test.rb
499
+ - test/unit/concerns/config_reports_extensions_test.rb
500
+ - test/unit/concerns/host_managed_extensions_test.rb
501
+ - test/unit/concerns/hostgroup_extensions_test.rb
502
+ - test/factories/ansible_proxy.rb
503
+ - test/factories/host_ansible_enhancements.rb
504
+ - test/factories/ansible_variables.rb
505
+ - test/factories/ansible_roles.rb
506
+ - test/fixtures/report.json
507
+ - test/fixtures/sample_facts.json
508
+ - test/fixtures/insights_playbook.yaml
509
+ - test/fixtures/playbooks_example_output.json
510
+ - test/fixtures/sample_playbooks.json
511
+ - test/test_plugin_helper.rb
File without changes
@@ -1,9 +0,0 @@
1
- import { addSearch } from './pageParamsHelper';
2
-
3
- export const preparePerPageOptions = opts =>
4
- opts.map(item => ({ title: item.toString(), value: item }));
5
-
6
- export const refreshPage = (history, params = {}) => {
7
- const url = addSearch(history.location.pathname, params);
8
- history.push(url);
9
- };