foreman_ansible 7.1.3 → 7.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/foreman_ansible/register.rb.orig +257 -0
- data/lib/foreman_ansible/version.rb +1 -1
- data/locale/ca/foreman_ansible.edit.po +1162 -0
- data/locale/ca/foreman_ansible.po.time_stamp +0 -0
- data/locale/cs_CZ/foreman_ansible.edit.po +1207 -0
- data/locale/cs_CZ/foreman_ansible.po.time_stamp +0 -0
- data/locale/de/foreman_ansible.edit.po +1148 -0
- data/locale/de/foreman_ansible.po.time_stamp +0 -0
- data/locale/en/foreman_ansible.edit.po +1146 -0
- data/locale/en/foreman_ansible.po.time_stamp +0 -0
- data/locale/en_GB/foreman_ansible.edit.po +1155 -0
- data/locale/en_GB/foreman_ansible.po.time_stamp +0 -0
- data/locale/es/foreman_ansible.edit.po +1148 -0
- data/locale/es/foreman_ansible.po.time_stamp +0 -0
- data/locale/fr/foreman_ansible.edit.po +1148 -0
- data/locale/fr/foreman_ansible.po.time_stamp +0 -0
- data/locale/gl/foreman_ansible.edit.po +1156 -0
- data/locale/gl/foreman_ansible.po.time_stamp +0 -0
- data/locale/it/foreman_ansible.edit.po +1148 -0
- data/locale/it/foreman_ansible.po.time_stamp +0 -0
- data/locale/ja/foreman_ansible.edit.po +1148 -0
- data/locale/ja/foreman_ansible.po.time_stamp +0 -0
- data/locale/ko/foreman_ansible.edit.po +1148 -0
- data/locale/ko/foreman_ansible.po.time_stamp +0 -0
- data/locale/nl_NL/foreman_ansible.edit.po +1168 -0
- data/locale/nl_NL/foreman_ansible.po.time_stamp +0 -0
- data/locale/pl/foreman_ansible.edit.po +1180 -0
- data/locale/pl/foreman_ansible.po.time_stamp +0 -0
- data/locale/pt_BR/foreman_ansible.edit.po +1148 -0
- data/locale/pt_BR/foreman_ansible.po.time_stamp +0 -0
- data/locale/ru/foreman_ansible.edit.po +1149 -0
- data/locale/ru/foreman_ansible.po.time_stamp +0 -0
- data/locale/sv_SE/foreman_ansible.edit.po +1180 -0
- data/locale/sv_SE/foreman_ansible.po.time_stamp +0 -0
- data/locale/zh_CN/foreman_ansible.edit.po +1148 -0
- data/locale/zh_CN/foreman_ansible.po.time_stamp +0 -0
- data/locale/zh_TW/foreman_ansible.edit.po +1148 -0
- data/locale/zh_TW/foreman_ansible.po.time_stamp +0 -0
- data/webpack/components/AnsibleHostDetail/components/JobsTab/PreviousJobsTable.js.orig +151 -0
- data/webpack/components/AnsibleHostDetail/components/RolesTab/__test__/EditRoles.test.js +2 -1
- data/webpack/components/AnsibleHostDetail/components/RolesTab/__test__/RolesTab.test.js +3 -1
- data/webpack/components/AnsibleHostDetail/components/RolesTab/index.js +26 -2
- data/webpack/testHelper.js +12 -3
- metadata +52 -14
File without changes
|
@@ -0,0 +1,151 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import PropTypes from 'prop-types';
|
3
|
+
import { translate as __ } from 'foremanReact/common/I18n';
|
4
|
+
import { usePaginationOptions } from 'foremanReact/components/Pagination/PaginationHooks';
|
5
|
+
|
6
|
+
import RelativeDateTime from 'foremanReact/components/common/dates/RelativeDateTime';
|
7
|
+
|
8
|
+
import {
|
9
|
+
TableComposable,
|
10
|
+
Thead,
|
11
|
+
Tbody,
|
12
|
+
Tr,
|
13
|
+
Th,
|
14
|
+
Td,
|
15
|
+
} from '@patternfly/react-table';
|
16
|
+
import { Flex, FlexItem, Pagination } from '@patternfly/react-core';
|
17
|
+
|
18
|
+
import { decodeId } from '../../../../globalIdHelper';
|
19
|
+
import withLoading from '../../../withLoading';
|
20
|
+
<<<<<<< HEAD
|
21
|
+
import { readableCron } from './JobsTabHelper';
|
22
|
+
import {
|
23
|
+
preparePerPageOptions,
|
24
|
+
refreshPage,
|
25
|
+
} from '../../../../helpers/paginationHelper';
|
26
|
+
=======
|
27
|
+
import { readableCron, readablePurpose } from './JobsTabHelper';
|
28
|
+
>>>>>>> 5b01704 (Fixes #34458 - Show Hostgroup jobs on the Host Detail page)
|
29
|
+
|
30
|
+
const PreviousJobsTable = ({ history, totalCount, jobs, pagination }) => {
|
31
|
+
const columns = [
|
32
|
+
__('Description'),
|
33
|
+
__('Result'),
|
34
|
+
__('State'),
|
35
|
+
__('Executed at'),
|
36
|
+
__('Schedule'),
|
37
|
+
];
|
38
|
+
|
39
|
+
const handlePerPageSelected = (event, perPage) => {
|
40
|
+
refreshPage(history, { page: 1, perPage });
|
41
|
+
};
|
42
|
+
|
43
|
+
const handlePageSelected = (event, page) => {
|
44
|
+
refreshPage(history, { ...pagination, page });
|
45
|
+
};
|
46
|
+
|
47
|
+
const perPageOptions = preparePerPageOptions(usePaginationOptions());
|
48
|
+
|
49
|
+
return (
|
50
|
+
<React.Fragment>
|
51
|
+
<h3>{__('Previously executed jobs')}</h3>
|
52
|
+
<<<<<<< HEAD
|
53
|
+
<Flex className="pf-u-pt-md">
|
54
|
+
=======
|
55
|
+
<Flex direction={{ default: 'column' }} className="pf-u-pt-md">
|
56
|
+
<FlexItem align={{ default: 'alignRight' }}>
|
57
|
+
<Pagination updateParamsByUrl itemCount={totalCount} variant="top" />
|
58
|
+
</FlexItem>
|
59
|
+
<FlexItem>
|
60
|
+
<TableComposable variant="compact">
|
61
|
+
<Thead>
|
62
|
+
<Tr>
|
63
|
+
{columns.map(col => (
|
64
|
+
<Th key={col}>{col}</Th>
|
65
|
+
))}
|
66
|
+
</Tr>
|
67
|
+
</Thead>
|
68
|
+
<Tbody>
|
69
|
+
{jobs.map(job => (
|
70
|
+
<Tr key={job.id}>
|
71
|
+
<Td>
|
72
|
+
<a
|
73
|
+
onClick={() =>
|
74
|
+
window.tfm.nav.pushUrl(
|
75
|
+
`/job_invocations/${decodeId(job.id)}`
|
76
|
+
)
|
77
|
+
}
|
78
|
+
>
|
79
|
+
{job.description}
|
80
|
+
</a>
|
81
|
+
|
82
|
+
{readablePurpose(job.recurringLogic.purpose)}
|
83
|
+
</Td>
|
84
|
+
<Td>{job.task.result}</Td>
|
85
|
+
<Td>{job.task.state}</Td>
|
86
|
+
<Td>
|
87
|
+
<RelativeDateTime date={job.startAt} />
|
88
|
+
</Td>
|
89
|
+
<Td>{readableCron(job.recurringLogic.cronLine)}</Td>
|
90
|
+
</Tr>
|
91
|
+
))}
|
92
|
+
</Tbody>
|
93
|
+
</TableComposable>
|
94
|
+
</FlexItem>
|
95
|
+
>>>>>>> 5b01704 (Fixes #34458 - Show Hostgroup jobs on the Host Detail page)
|
96
|
+
<FlexItem align={{ default: 'alignRight' }}>
|
97
|
+
<Pagination
|
98
|
+
itemCount={totalCount}
|
99
|
+
page={pagination.page}
|
100
|
+
perPage={pagination.perPage}
|
101
|
+
onSetPage={handlePageSelected}
|
102
|
+
onPerPageSelect={handlePerPageSelected}
|
103
|
+
perPageOptions={perPageOptions}
|
104
|
+
variant="top"
|
105
|
+
/>
|
106
|
+
</FlexItem>
|
107
|
+
</Flex>
|
108
|
+
<TableComposable variant="compact">
|
109
|
+
<Thead>
|
110
|
+
<Tr>
|
111
|
+
{columns.map(col => (
|
112
|
+
<Th key={col}>{col}</Th>
|
113
|
+
))}
|
114
|
+
</Tr>
|
115
|
+
</Thead>
|
116
|
+
<Tbody>
|
117
|
+
{jobs.map(job => (
|
118
|
+
<Tr key={job.id}>
|
119
|
+
<Td>
|
120
|
+
<a
|
121
|
+
onClick={() =>
|
122
|
+
window.tfm.nav.pushUrl(
|
123
|
+
`/job_invocations/${decodeId(job.id)}`
|
124
|
+
)
|
125
|
+
}
|
126
|
+
>
|
127
|
+
{job.description}
|
128
|
+
</a>
|
129
|
+
</Td>
|
130
|
+
<Td>{job.task.result}</Td>
|
131
|
+
<Td>{job.task.state}</Td>
|
132
|
+
<Td>
|
133
|
+
<RelativeDateTime date={job.startAt} />
|
134
|
+
</Td>
|
135
|
+
<Td>{readableCron(job.recurringLogic.cronLine)}</Td>
|
136
|
+
</Tr>
|
137
|
+
))}
|
138
|
+
</Tbody>
|
139
|
+
</TableComposable>
|
140
|
+
</React.Fragment>
|
141
|
+
);
|
142
|
+
};
|
143
|
+
|
144
|
+
PreviousJobsTable.propTypes = {
|
145
|
+
jobs: PropTypes.array.isRequired,
|
146
|
+
history: PropTypes.object.isRequired,
|
147
|
+
totalCount: PropTypes.number.isRequired,
|
148
|
+
pagination: PropTypes.object.isRequired,
|
149
|
+
};
|
150
|
+
|
151
|
+
export default withLoading(PreviousJobsTable);
|
@@ -21,7 +21,8 @@ import {
|
|
21
21
|
assignRolesErrorMock,
|
22
22
|
} from './RolesTab.fixtures';
|
23
23
|
|
24
|
-
|
24
|
+
jest.mock('axios');
|
25
|
+
const TestComponent = withRedux(withReactRouter(withMockedProvider(RolesTab)));
|
25
26
|
|
26
27
|
describe('assigning Ansible roles', () => {
|
27
28
|
it('should assign Ansible roles', async () => {
|
@@ -6,6 +6,7 @@ import {
|
|
6
6
|
tick,
|
7
7
|
withMockedProvider,
|
8
8
|
withReactRouter,
|
9
|
+
withRedux,
|
9
10
|
} from '../../../../../testHelper';
|
10
11
|
|
11
12
|
import {
|
@@ -18,7 +19,8 @@ import {
|
|
18
19
|
|
19
20
|
import RolesTab from '../';
|
20
21
|
|
21
|
-
|
22
|
+
jest.mock('axios');
|
23
|
+
const TestComponent = withRedux(withReactRouter(withMockedProvider(RolesTab)));
|
22
24
|
|
23
25
|
describe('RolesTab', () => {
|
24
26
|
it('should load Ansible Roles as admin', async () => {
|
@@ -2,7 +2,10 @@ import React, { useState } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
3
3
|
import { useQuery } from '@apollo/client';
|
4
4
|
import { Button } from '@patternfly/react-core';
|
5
|
+
import { Link, Route } from 'react-router-dom';
|
5
6
|
import { translate as __ } from 'foremanReact/common/I18n';
|
7
|
+
import { foremanUrl } from 'foremanReact/common/helpers';
|
8
|
+
import { useAPI } from 'foremanReact/common/hooks/API/APIHooks';
|
6
9
|
|
7
10
|
import ansibleRolesQuery from '../../../../graphql/queries/hostAnsibleRoles.gql';
|
8
11
|
import { encodeId } from '../../../../globalIdHelper';
|
@@ -12,6 +15,7 @@ import {
|
|
12
15
|
useCurrentPagination,
|
13
16
|
} from '../../../../helpers/pageParamsHelper';
|
14
17
|
import EditRolesModal from './EditRolesModal';
|
18
|
+
import AllRolesModal from './AllRolesModal';
|
15
19
|
|
16
20
|
const RolesTab = ({ hostId, history, canEditHost }) => {
|
17
21
|
const hostGlobalId = encodeId('Host', hostId);
|
@@ -33,9 +37,28 @@ const RolesTab = ({ hostId, history, canEditHost }) => {
|
|
33
37
|
onClick={() => setAssignModal(true)}
|
34
38
|
aria-label="edit ansible roles"
|
35
39
|
>
|
36
|
-
{__('Assign
|
40
|
+
{__('Assign roles directly to the host')}
|
37
41
|
</Button>
|
38
42
|
) : null;
|
43
|
+
|
44
|
+
const url = hostId && foremanUrl(`/api/v2/hosts/${hostId}/ansible_roles`);
|
45
|
+
const { response: allAnsibleRoles } = useAPI('get', url, {
|
46
|
+
key: 'ANSIBLE_ROLES',
|
47
|
+
});
|
48
|
+
const emptyStateDescription = allAnsibleRoles.length > 0 && (
|
49
|
+
<>
|
50
|
+
<Route path="/Ansible/roles/all">
|
51
|
+
<AllRolesModal
|
52
|
+
onClose={() => history.push('/Ansible/roles')}
|
53
|
+
isOpen
|
54
|
+
hostGlobalId={hostGlobalId}
|
55
|
+
history={history}
|
56
|
+
/>
|
57
|
+
</Route>
|
58
|
+
<Link to="/Ansible/roles/all">{__('View inherited roles')}</Link>
|
59
|
+
</>
|
60
|
+
);
|
61
|
+
|
39
62
|
return (
|
40
63
|
<>
|
41
64
|
<RolesTable
|
@@ -46,8 +69,9 @@ const RolesTab = ({ hostId, history, canEditHost }) => {
|
|
46
69
|
history={history}
|
47
70
|
hostGlobalId={hostGlobalId}
|
48
71
|
emptyStateProps={{
|
49
|
-
header: __('No
|
72
|
+
header: __('No roles assigned directly to the host'),
|
50
73
|
action: editBtn,
|
74
|
+
description: emptyStateDescription,
|
51
75
|
}}
|
52
76
|
pagination={pagination}
|
53
77
|
canEditHost={canEditHost}
|
data/webpack/testHelper.js
CHANGED
@@ -1,15 +1,24 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { Provider } from 'react-redux';
|
3
|
+
import thunk from 'redux-thunk';
|
4
|
+
import { applyMiddleware, createStore, compose, combineReducers } from 'redux';
|
3
5
|
import { MockedProvider } from '@apollo/react-testing';
|
4
6
|
import { Router, MemoryRouter } from 'react-router-dom';
|
5
7
|
import { createMemoryHistory } from 'history';
|
6
8
|
|
7
|
-
import
|
8
|
-
import ConfirmModal
|
9
|
+
import { reducers as apiReducer, APIMiddleware } from 'foremanReact/redux/API';
|
10
|
+
import ConfirmModal, {
|
11
|
+
reducers as confirmModalReducers,
|
12
|
+
} from 'foremanReact/components/ConfirmModal';
|
9
13
|
import { getForemanContext } from 'foremanReact/Root/Context/ForemanContext';
|
10
14
|
|
15
|
+
const reducers = combineReducers({ ...apiReducer, ...confirmModalReducers });
|
16
|
+
|
17
|
+
export const generateStore = () =>
|
18
|
+
createStore(reducers, compose(applyMiddleware(thunk, APIMiddleware)));
|
19
|
+
|
11
20
|
export const withRedux = Component => props => (
|
12
|
-
<Provider store={
|
21
|
+
<Provider store={generateStore()}>
|
13
22
|
<Component {...props} />
|
14
23
|
<ConfirmModal />
|
15
24
|
</Provider>
|
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.1.
|
4
|
+
version: 7.1.4
|
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-
|
11
|
+
date: 2022-09-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: acts_as_list
|
@@ -223,48 +223,85 @@ files:
|
|
223
223
|
- lib/foreman_ansible.rb
|
224
224
|
- lib/foreman_ansible/engine.rb
|
225
225
|
- lib/foreman_ansible/register.rb
|
226
|
+
- lib/foreman_ansible/register.rb.orig
|
226
227
|
- lib/foreman_ansible/remote_execution.rb
|
227
228
|
- lib/foreman_ansible/version.rb
|
228
229
|
- locale/Makefile
|
229
230
|
- locale/action_names.rb
|
230
231
|
- locale/ca/LC_MESSAGES/foreman_ansible.mo
|
232
|
+
- locale/ca/foreman_ansible.edit.po
|
231
233
|
- locale/ca/foreman_ansible.po
|
234
|
+
- locale/ca/foreman_ansible.po.time_stamp
|
232
235
|
- locale/cs_CZ/LC_MESSAGES/foreman_ansible.mo
|
236
|
+
- locale/cs_CZ/foreman_ansible.edit.po
|
233
237
|
- locale/cs_CZ/foreman_ansible.po
|
238
|
+
- locale/cs_CZ/foreman_ansible.po.time_stamp
|
234
239
|
- locale/de/LC_MESSAGES/foreman_ansible.mo
|
240
|
+
- locale/de/foreman_ansible.edit.po
|
235
241
|
- locale/de/foreman_ansible.po
|
242
|
+
- locale/de/foreman_ansible.po.time_stamp
|
236
243
|
- locale/en/LC_MESSAGES/foreman_ansible.mo
|
244
|
+
- locale/en/foreman_ansible.edit.po
|
237
245
|
- locale/en/foreman_ansible.po
|
246
|
+
- locale/en/foreman_ansible.po.time_stamp
|
238
247
|
- locale/en_GB/LC_MESSAGES/foreman_ansible.mo
|
248
|
+
- locale/en_GB/foreman_ansible.edit.po
|
239
249
|
- locale/en_GB/foreman_ansible.po
|
250
|
+
- locale/en_GB/foreman_ansible.po.time_stamp
|
240
251
|
- locale/es/LC_MESSAGES/foreman_ansible.mo
|
252
|
+
- locale/es/foreman_ansible.edit.po
|
241
253
|
- locale/es/foreman_ansible.po
|
254
|
+
- locale/es/foreman_ansible.po.time_stamp
|
242
255
|
- locale/foreman_ansible.pot
|
243
256
|
- locale/fr/LC_MESSAGES/foreman_ansible.mo
|
257
|
+
- locale/fr/foreman_ansible.edit.po
|
244
258
|
- locale/fr/foreman_ansible.po
|
259
|
+
- locale/fr/foreman_ansible.po.time_stamp
|
245
260
|
- locale/gemspec.rb
|
246
261
|
- locale/gl/LC_MESSAGES/foreman_ansible.mo
|
262
|
+
- locale/gl/foreman_ansible.edit.po
|
247
263
|
- locale/gl/foreman_ansible.po
|
264
|
+
- locale/gl/foreman_ansible.po.time_stamp
|
248
265
|
- locale/it/LC_MESSAGES/foreman_ansible.mo
|
266
|
+
- locale/it/foreman_ansible.edit.po
|
249
267
|
- locale/it/foreman_ansible.po
|
268
|
+
- locale/it/foreman_ansible.po.time_stamp
|
250
269
|
- locale/ja/LC_MESSAGES/foreman_ansible.mo
|
270
|
+
- locale/ja/foreman_ansible.edit.po
|
251
271
|
- locale/ja/foreman_ansible.po
|
272
|
+
- locale/ja/foreman_ansible.po.time_stamp
|
252
273
|
- locale/ko/LC_MESSAGES/foreman_ansible.mo
|
274
|
+
- locale/ko/foreman_ansible.edit.po
|
253
275
|
- locale/ko/foreman_ansible.po
|
276
|
+
- locale/ko/foreman_ansible.po.time_stamp
|
254
277
|
- locale/nl_NL/LC_MESSAGES/foreman_ansible.mo
|
278
|
+
- locale/nl_NL/foreman_ansible.edit.po
|
255
279
|
- locale/nl_NL/foreman_ansible.po
|
280
|
+
- locale/nl_NL/foreman_ansible.po.time_stamp
|
256
281
|
- locale/pl/LC_MESSAGES/foreman_ansible.mo
|
282
|
+
- locale/pl/foreman_ansible.edit.po
|
257
283
|
- locale/pl/foreman_ansible.po
|
284
|
+
- locale/pl/foreman_ansible.po.time_stamp
|
258
285
|
- locale/pt_BR/LC_MESSAGES/foreman_ansible.mo
|
286
|
+
- locale/pt_BR/foreman_ansible.edit.po
|
259
287
|
- locale/pt_BR/foreman_ansible.po
|
288
|
+
- locale/pt_BR/foreman_ansible.po.time_stamp
|
260
289
|
- locale/ru/LC_MESSAGES/foreman_ansible.mo
|
290
|
+
- locale/ru/foreman_ansible.edit.po
|
261
291
|
- locale/ru/foreman_ansible.po
|
292
|
+
- locale/ru/foreman_ansible.po.time_stamp
|
262
293
|
- locale/sv_SE/LC_MESSAGES/foreman_ansible.mo
|
294
|
+
- locale/sv_SE/foreman_ansible.edit.po
|
263
295
|
- locale/sv_SE/foreman_ansible.po
|
296
|
+
- locale/sv_SE/foreman_ansible.po.time_stamp
|
264
297
|
- locale/zh_CN/LC_MESSAGES/foreman_ansible.mo
|
298
|
+
- locale/zh_CN/foreman_ansible.edit.po
|
265
299
|
- locale/zh_CN/foreman_ansible.po
|
300
|
+
- locale/zh_CN/foreman_ansible.po.time_stamp
|
266
301
|
- locale/zh_TW/LC_MESSAGES/foreman_ansible.mo
|
302
|
+
- locale/zh_TW/foreman_ansible.edit.po
|
267
303
|
- locale/zh_TW/foreman_ansible.po
|
304
|
+
- locale/zh_TW/foreman_ansible.po.time_stamp
|
268
305
|
- package.json
|
269
306
|
- test/factories/ansible_proxy.rb
|
270
307
|
- test/factories/ansible_roles.rb
|
@@ -338,6 +375,7 @@ files:
|
|
338
375
|
- webpack/components/AnsibleHostDetail/components/JobsTab/NewRecurringJobModal.js
|
339
376
|
- webpack/components/AnsibleHostDetail/components/JobsTab/NewRecurringJobModal.scss
|
340
377
|
- webpack/components/AnsibleHostDetail/components/JobsTab/PreviousJobsTable.js
|
378
|
+
- webpack/components/AnsibleHostDetail/components/JobsTab/PreviousJobsTable.js.orig
|
341
379
|
- webpack/components/AnsibleHostDetail/components/JobsTab/RecurringJobsTable.js
|
342
380
|
- webpack/components/AnsibleHostDetail/components/JobsTab/__test__/JobsTab.fixtures.js
|
343
381
|
- webpack/components/AnsibleHostDetail/components/JobsTab/__test__/JobsTab.test.js
|
@@ -458,7 +496,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
458
496
|
- !ruby/object:Gem::Version
|
459
497
|
version: '0'
|
460
498
|
requirements: []
|
461
|
-
rubygems_version: 3.
|
499
|
+
rubygems_version: 3.1.6
|
462
500
|
signing_key:
|
463
501
|
specification_version: 4
|
464
502
|
summary: Ansible integration with Foreman (theforeman.org)
|
@@ -473,34 +511,25 @@ test_files:
|
|
473
511
|
- test/fixtures/sample_facts.json
|
474
512
|
- test/fixtures/sample_playbooks.json
|
475
513
|
- test/foreman_ansible/helpers/ansible_roles_helper_test.rb
|
476
|
-
- test/functional/ansible_roles_controller_test.rb
|
477
|
-
- test/functional/ansible_variables_controller_test.rb
|
478
514
|
- test/functional/api/v2/ansible_inventories_controller_test.rb
|
479
515
|
- test/functional/api/v2/ansible_playbooks_controller_test.rb
|
480
516
|
- test/functional/api/v2/ansible_roles_controller_test.rb
|
481
517
|
- test/functional/api/v2/ansible_variables_controller_test.rb
|
482
518
|
- test/functional/api/v2/hostgroups_controller_test.rb
|
483
519
|
- test/functional/api/v2/hosts_controller_test.rb
|
520
|
+
- test/functional/ansible_roles_controller_test.rb
|
521
|
+
- test/functional/ansible_variables_controller_test.rb
|
484
522
|
- test/functional/hosts_controller_test.rb
|
485
523
|
- test/functional/ui_ansible_roles_controller_test.rb
|
486
524
|
- test/graphql/mutations/hosts/assign_ansible_roles_mutation_test.rb
|
487
525
|
- test/graphql/queries/ansible_roles_query_test.rb
|
488
526
|
- test/graphql/queries/host_ansible_roles_query_test.rb
|
489
|
-
- test/test_plugin_helper.rb
|
490
527
|
- test/unit/actions/run_ansible_job_test.rb
|
491
528
|
- test/unit/actions/run_proxy_ansible_command_test.rb
|
492
|
-
- test/unit/ansible_provider_test.rb
|
493
|
-
- test/unit/ansible_role_test.rb
|
494
|
-
- test/unit/ansible_variable_test.rb
|
495
529
|
- test/unit/concerns/config_reports_extensions_test.rb
|
496
530
|
- test/unit/concerns/host_managed_extensions_test.rb
|
497
531
|
- test/unit/concerns/hostgroup_extensions_test.rb
|
498
532
|
- test/unit/helpers/ansible_reports_helper_test.rb
|
499
|
-
- test/unit/host_ansible_role_test.rb
|
500
|
-
- test/unit/hostgroup_ansible_role_test.rb
|
501
|
-
- test/unit/ignore_roles_test.rb
|
502
|
-
- test/unit/import_playbooks_test.rb
|
503
|
-
- test/unit/import_roles_and_variables.rb
|
504
533
|
- test/unit/lib/proxy_api/ansible_test.rb
|
505
534
|
- test/unit/services/ansible_report_importer_test.rb
|
506
535
|
- test/unit/services/ansible_variables_importer_test.rb
|
@@ -510,3 +539,12 @@ test_files:
|
|
510
539
|
- test/unit/services/override_resolver_test.rb
|
511
540
|
- test/unit/services/roles_importer_test.rb
|
512
541
|
- test/unit/services/ui_roles_importer_test.rb
|
542
|
+
- test/unit/ansible_provider_test.rb
|
543
|
+
- test/unit/ansible_role_test.rb
|
544
|
+
- test/unit/ansible_variable_test.rb
|
545
|
+
- test/unit/host_ansible_role_test.rb
|
546
|
+
- test/unit/hostgroup_ansible_role_test.rb
|
547
|
+
- test/unit/ignore_roles_test.rb
|
548
|
+
- test/unit/import_playbooks_test.rb
|
549
|
+
- test/unit/import_roles_and_variables.rb
|
550
|
+
- test/test_plugin_helper.rb
|