foreman_openscap 9.0.1 → 9.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (105) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/foreman_openscap/locale/cs_CZ/foreman_openscap.js +0 -306
  3. data/app/assets/javascripts/foreman_openscap/locale/de/foreman_openscap.js +0 -306
  4. data/app/assets/javascripts/foreman_openscap/locale/en/foreman_openscap.js +0 -306
  5. data/app/assets/javascripts/foreman_openscap/locale/en_GB/foreman_openscap.js +0 -306
  6. data/app/assets/javascripts/foreman_openscap/locale/es/foreman_openscap.js +0 -306
  7. data/app/assets/javascripts/foreman_openscap/locale/fr/foreman_openscap.js +0 -306
  8. data/app/assets/javascripts/foreman_openscap/locale/gl/foreman_openscap.js +0 -306
  9. data/app/assets/javascripts/foreman_openscap/locale/it/foreman_openscap.js +0 -306
  10. data/app/assets/javascripts/foreman_openscap/locale/ja/foreman_openscap.js +0 -306
  11. data/app/assets/javascripts/foreman_openscap/locale/ka/foreman_openscap.js +0 -306
  12. data/app/assets/javascripts/foreman_openscap/locale/ko/foreman_openscap.js +0 -306
  13. data/app/assets/javascripts/foreman_openscap/locale/pt_BR/foreman_openscap.js +0 -306
  14. data/app/assets/javascripts/foreman_openscap/locale/ru/foreman_openscap.js +0 -306
  15. data/app/assets/javascripts/foreman_openscap/locale/sv_SE/foreman_openscap.js +0 -306
  16. data/app/assets/javascripts/foreman_openscap/locale/zh_CN/foreman_openscap.js +0 -306
  17. data/app/assets/javascripts/foreman_openscap/locale/zh_TW/foreman_openscap.js +0 -306
  18. data/app/controllers/api/v2/compliance/tailoring_files_controller.rb +0 -8
  19. data/app/models/concerns/foreman_openscap/host_extensions.rb +1 -3
  20. data/app/models/foreman_openscap/policy.rb +0 -4
  21. data/app/views/tailoring_files/welcome.html.erb +1 -8
  22. data/lib/foreman_openscap/version.rb +1 -1
  23. data/locale/action_names.rb +1 -4
  24. data/locale/cs_CZ/foreman_openscap.edit.po +1455 -0
  25. data/locale/cs_CZ/foreman_openscap.po +0 -306
  26. data/locale/cs_CZ/foreman_openscap.po.time_stamp +0 -0
  27. data/locale/de/LC_MESSAGES/foreman_openscap.mo +0 -0
  28. data/locale/de/foreman_openscap.edit.po +1667 -0
  29. data/locale/de/foreman_openscap.po +0 -306
  30. data/locale/de/foreman_openscap.po.time_stamp +0 -0
  31. data/locale/en/foreman_openscap.edit.po +1455 -0
  32. data/locale/en/foreman_openscap.po +0 -306
  33. data/locale/en/foreman_openscap.po.time_stamp +0 -0
  34. data/locale/en_GB/LC_MESSAGES/foreman_openscap.mo +0 -0
  35. data/locale/en_GB/foreman_openscap.edit.po +1467 -0
  36. data/locale/en_GB/foreman_openscap.po +0 -306
  37. data/locale/en_GB/foreman_openscap.po.time_stamp +0 -0
  38. data/locale/es/LC_MESSAGES/foreman_openscap.mo +0 -0
  39. data/locale/es/foreman_openscap.edit.po +1664 -0
  40. data/locale/es/foreman_openscap.po +0 -306
  41. data/locale/es/foreman_openscap.po.time_stamp +0 -0
  42. data/locale/foreman_openscap.pot +45 -498
  43. data/locale/fr/LC_MESSAGES/foreman_openscap.mo +0 -0
  44. data/locale/fr/foreman_openscap.edit.po +1676 -0
  45. data/locale/fr/foreman_openscap.po +0 -306
  46. data/locale/fr/foreman_openscap.po.time_stamp +0 -0
  47. data/locale/gl/foreman_openscap.edit.po +1455 -0
  48. data/locale/gl/foreman_openscap.po +0 -306
  49. data/locale/gl/foreman_openscap.po.time_stamp +0 -0
  50. data/locale/it/LC_MESSAGES/foreman_openscap.mo +0 -0
  51. data/locale/it/foreman_openscap.edit.po +1466 -0
  52. data/locale/it/foreman_openscap.po +0 -306
  53. data/locale/it/foreman_openscap.po.time_stamp +0 -0
  54. data/locale/ja/LC_MESSAGES/foreman_openscap.mo +0 -0
  55. data/locale/ja/foreman_openscap.edit.po +1659 -0
  56. data/locale/ja/foreman_openscap.po +0 -306
  57. data/locale/ja/foreman_openscap.po.time_stamp +0 -0
  58. data/locale/ka/LC_MESSAGES/foreman_openscap.mo +0 -0
  59. data/locale/ka/foreman_openscap.edit.po +1654 -0
  60. data/locale/ka/foreman_openscap.po +0 -306
  61. data/locale/ka/foreman_openscap.po.time_stamp +0 -0
  62. data/locale/ko/LC_MESSAGES/foreman_openscap.mo +0 -0
  63. data/locale/ko/foreman_openscap.edit.po +1470 -0
  64. data/locale/ko/foreman_openscap.po +0 -306
  65. data/locale/ko/foreman_openscap.po.time_stamp +0 -0
  66. data/locale/pt_BR/LC_MESSAGES/foreman_openscap.mo +0 -0
  67. data/locale/pt_BR/foreman_openscap.edit.po +1669 -0
  68. data/locale/pt_BR/foreman_openscap.po +0 -306
  69. data/locale/pt_BR/foreman_openscap.po.time_stamp +0 -0
  70. data/locale/ru/LC_MESSAGES/foreman_openscap.mo +0 -0
  71. data/locale/ru/foreman_openscap.edit.po +1474 -0
  72. data/locale/ru/foreman_openscap.po +0 -306
  73. data/locale/ru/foreman_openscap.po.time_stamp +0 -0
  74. data/locale/sv_SE/foreman_openscap.edit.po +1455 -0
  75. data/locale/sv_SE/foreman_openscap.po +0 -306
  76. data/locale/sv_SE/foreman_openscap.po.time_stamp +0 -0
  77. data/locale/zh_CN/LC_MESSAGES/foreman_openscap.mo +0 -0
  78. data/locale/zh_CN/foreman_openscap.edit.po +1656 -0
  79. data/locale/zh_CN/foreman_openscap.po +0 -306
  80. data/locale/zh_CN/foreman_openscap.po.time_stamp +0 -0
  81. data/locale/zh_TW/LC_MESSAGES/foreman_openscap.mo +0 -0
  82. data/locale/zh_TW/foreman_openscap.edit.po +1471 -0
  83. data/locale/zh_TW/foreman_openscap.po +0 -306
  84. data/locale/zh_TW/foreman_openscap.po.time_stamp +0 -0
  85. data/package.json +2 -0
  86. data/test/functional/api/v2/compliance/tailoring_files_controller_test.rb +0 -11
  87. data/test/unit/concerns/host_extensions_test.rb +0 -9
  88. data/webpack/components/ConfirmModal.js +3 -0
  89. data/webpack/components/EditableInput.js +3 -0
  90. data/webpack/components/EmptyState.js +12 -2
  91. data/webpack/components/IndexLayout.js +3 -1
  92. data/webpack/components/IndexTable/index.js +3 -0
  93. data/webpack/components/LinkButton.js +4 -0
  94. data/webpack/components/OpenscapRemediationWizard/ViewSelectedHostsLink.js +1 -0
  95. data/webpack/components/OpenscapRemediationWizard/index.js +1 -0
  96. data/webpack/components/OpenscapRemediationWizard/steps/Finish.js +8 -1
  97. data/webpack/components/OpenscapRemediationWizard/steps/ReviewHosts.js +1 -0
  98. data/webpack/components/OpenscapRemediationWizard/steps/ReviewRemediation.js +3 -0
  99. data/webpack/components/OpenscapRemediationWizard/steps/SnippetSelect.js +6 -1
  100. data/webpack/helpers/formFieldsHelper.js +1 -0
  101. metadata +38 -11
  102. data/app/helpers/tailoring_files_helper.rb +0 -5
  103. data/app/services/foreman_openscap/openscap_proxy_assigned_version_check.rb +0 -14
  104. data/app/services/foreman_openscap/openscap_proxy_version_check.rb +0 -62
  105. data/test/unit/services/tailoring_files_proxy_check_test.rb +0 -27
@@ -62,6 +62,7 @@ const EditableInput = props => {
62
62
  const editBtn = (
63
63
  <SplitItem>
64
64
  <Button
65
+ ouiaId={`oscap-edit-${props.attrName}-edit-button`}
65
66
  className="inline-edit-icon"
66
67
  aria-label={`edit ${props.attrName}`}
67
68
  variant="plain"
@@ -115,6 +116,7 @@ const EditableInput = props => {
115
116
  </SplitItem>
116
117
  <SplitItem>
117
118
  <Button
119
+ ouiaId={`oscap-edit-${props.attrName}-submit-button`}
118
120
  aria-label={`submit ${props.attrName}`}
119
121
  variant="plain"
120
122
  onClick={onSubmit}
@@ -125,6 +127,7 @@ const EditableInput = props => {
125
127
  </SplitItem>
126
128
  <SplitItem>
127
129
  <Button
130
+ ouiaId={`oscap-edit-${props.attrName}-cancel-button`}
128
131
  aria-label={`cancel editing ${props.attrName}`}
129
132
  variant="plain"
130
133
  onClick={onCancel}
@@ -29,11 +29,19 @@ const EmptyStateIcon = ({ error, search, lock }) => {
29
29
  return <PfEmptyStateIcon icon={CubeIcon} />;
30
30
  };
31
31
 
32
- const EmptyState = ({ title, body, error, search, lock, primaryButton }) => (
32
+ const EmptyState = ({
33
+ title,
34
+ body,
35
+ error,
36
+ search,
37
+ lock,
38
+ primaryButton,
39
+ ouiaEmptyStateTitleId,
40
+ }) => (
33
41
  <Bullseye>
34
42
  <PfEmptyState variant={EmptyStateVariant.small}>
35
43
  <EmptyStateIcon error={!!error} search={search} lock={lock} />
36
- <Title headingLevel="h2" size="lg">
44
+ <Title ouiaId={ouiaEmptyStateTitleId} headingLevel="h2" size="lg">
37
45
  {title}
38
46
  </Title>
39
47
  <EmptyStateBody>{body}</EmptyStateBody>
@@ -65,6 +73,7 @@ EmptyState.propTypes = {
65
73
  search: PropTypes.bool,
66
74
  lock: PropTypes.bool,
67
75
  primaryButton: PropTypes.node,
76
+ ouiaEmptyStateTitleId: PropTypes.string,
68
77
  };
69
78
 
70
79
  EmptyState.defaultProps = {
@@ -75,6 +84,7 @@ EmptyState.defaultProps = {
75
84
  search: false,
76
85
  lock: false,
77
86
  primaryButton: null,
87
+ ouiaEmptyStateTitleId: 'oscap-empty-state-title',
78
88
  };
79
89
 
80
90
  export default EmptyState;
@@ -21,7 +21,9 @@ const IndexLayout = ({ pageTitle, children, contentWidthSpan }) => (
21
21
  <Grid className="scap-page-grid">
22
22
  <GridItem span={12} className="pf-u-pb-xl">
23
23
  <TextContent>
24
- <Text component={TextVariants.h1}>{pageTitle}</Text>
24
+ <Text ouiaId="oscap-index-title" component={TextVariants.h1}>
25
+ {pageTitle}
26
+ </Text>
25
27
  </TextContent>
26
28
  </GridItem>
27
29
  <GridItem span={contentWidthSpan}>{children}</GridItem>
@@ -11,6 +11,7 @@ const IndexTable = ({
11
11
  totalCount,
12
12
  toolbarBtns,
13
13
  ariaTableLabel,
14
+ ouiaTableId,
14
15
  columns,
15
16
  ...rest
16
17
  }) => {
@@ -38,6 +39,7 @@ const IndexTable = ({
38
39
  </FlexItem>
39
40
  </Flex>
40
41
  <Table
42
+ ouiaId={ouiaTableId}
41
43
  aria-label={ariaTableLabel}
42
44
  cells={columns}
43
45
  {...rest}
@@ -56,6 +58,7 @@ IndexTable.propTypes = {
56
58
  toolbarBtns: PropTypes.node,
57
59
  totalCount: PropTypes.number.isRequired,
58
60
  ariaTableLabel: PropTypes.string.isRequired,
61
+ ouiaTableId: PropTypes.string.isRequired,
59
62
  columns: PropTypes.array.isRequired,
60
63
  };
61
64
 
@@ -9,9 +9,11 @@ const LinkButton = ({
9
9
  btnText,
10
10
  isDisabled,
11
11
  btnAriaLabel,
12
+ ouiaId,
12
13
  }) => (
13
14
  <Link to={path}>
14
15
  <Button
16
+ ouiaId={ouiaId}
15
17
  variant={btnVariant}
16
18
  isDisabled={isDisabled}
17
19
  aria-label={btnAriaLabel}
@@ -27,12 +29,14 @@ LinkButton.propTypes = {
27
29
  btnVariant: PropTypes.string,
28
30
  isDisabled: PropTypes.bool,
29
31
  btnAriaLabel: PropTypes.string,
32
+ ouiaId: PropTypes.string,
30
33
  };
31
34
 
32
35
  LinkButton.defaultProps = {
33
36
  btnVariant: 'primary',
34
37
  isDisabled: false,
35
38
  btnAriaLabel: null,
39
+ ouiaId: 'oscap-link-button',
36
40
  };
37
41
 
38
42
  export default LinkButton;
@@ -17,6 +17,7 @@ const ViewSelectedHostsLink = ({
17
17
  const url = foremanUrl(`${useForemanHostsPageUrl()}?search=${search}`);
18
18
  return (
19
19
  <Button
20
+ ouiaId="oscap-rem-wiz-ext-link-to-hosts"
20
21
  component="a"
21
22
  variant="link"
22
23
  icon={<ExternalLinkSquareAltIcon />}
@@ -132,6 +132,7 @@ const OpenscapRemediationWizard = ({
132
132
  </OpenscapRemediationWizardContext.Provider>
133
133
  )}
134
134
  <Button
135
+ ouiaId="oscap-rem-wiz-open-wiz-button"
135
136
  id="openscapRemediationWizardButton"
136
137
  variant="link"
137
138
  isInline
@@ -74,6 +74,7 @@ const Finish = ({ onClose }) => {
74
74
 
75
75
  const linkToJob = (
76
76
  <Button
77
+ ouiaId="oscap-rem-wiz-job-details-link"
77
78
  variant="link"
78
79
  icon={<ExternalLinkSquareAltIcon />}
79
80
  iconPosition="right"
@@ -84,7 +85,11 @@ const Finish = ({ onClose }) => {
84
85
  {__('Job details')}
85
86
  </Button>
86
87
  );
87
- const closeBtn = <Button onClick={onClose}>{__('Close')}</Button>;
88
+ const closeBtn = (
89
+ <Button ouiaId="oscap-rem-wiz-close-button-fin-step" onClick={onClose}>
90
+ {__('Close')}
91
+ </Button>
92
+ );
88
93
  const errorComponent =
89
94
  statusCode === 403 ? (
90
95
  <PermissionDenied
@@ -93,6 +98,7 @@ const Finish = ({ onClose }) => {
93
98
  />
94
99
  ) : (
95
100
  <EmptyState
101
+ ouiaEmptyStateTitleId="oscap-rem-wiz-empty-state-title"
96
102
  error
97
103
  title={__('Error!')}
98
104
  body={errorMsg(data)}
@@ -102,6 +108,7 @@ const Finish = ({ onClose }) => {
102
108
  const body =
103
109
  status === STATUS.RESOLVED ? (
104
110
  <EmptyState
111
+ ouiaEmptyStateTitleId="oscap-rem-wiz-empty-state-title"
105
112
  title={__(
106
113
  'The job has started on selected host(s), you can check the status on the job details page.'
107
114
  )}
@@ -166,6 +166,7 @@ const ReviewHosts = () => {
166
166
  title: __('Name'),
167
167
  wrapper: ({ name, display_name: displayName }) => (
168
168
  <Button
169
+ ouiaId={`oscap-rem-wiz-ext-link-to-host-${name}-revhst-step`}
169
170
  component="a"
170
171
  variant="link"
171
172
  target="_blank"
@@ -118,6 +118,7 @@ const ReviewRemediation = () => {
118
118
  </GridItem>
119
119
  <GridItem md={12} span={4} rowSpan={1}>
120
120
  <Button
121
+ ouiaId={`oscap-wiz-host-details-button-${hostName}-revrem-step`}
121
122
  variant="link"
122
123
  icon={<ExternalLinkSquareAltIcon />}
123
124
  iconPosition="right"
@@ -130,6 +131,7 @@ const ReviewRemediation = () => {
130
131
  </GridItem>
131
132
  <GridItem md={12} span={8} rowSpan={1}>
132
133
  <Button
134
+ ouiaId={`oscap-wiz-ext-link-to-hosts-${source}-revrem-step`}
133
135
  variant="link"
134
136
  icon={<ExternalLinkSquareAltIcon />}
135
137
  iconPosition="right"
@@ -154,6 +156,7 @@ const ReviewRemediation = () => {
154
156
  {method === 'manual' ? null : (
155
157
  <GridItem span={4} rowSpan={1}>
156
158
  <Checkbox
159
+ ouiaId="oscap-wiz-reboot-checkbox-revrem-step"
157
160
  id="reboot-checkbox"
158
161
  label={__('Reboot the system(s)')}
159
162
  name="reboot-checkbox"
@@ -141,7 +141,12 @@ const SnippetSelect = () => {
141
141
  )}
142
142
  </Form>
143
143
  ) : (
144
- <EmptyState error title={__('Error!')} body={errorMsg(logError)} />
144
+ <EmptyState
145
+ ouiaEmptyStateTitleId="oscap-rem-wiz-empty-state-title"
146
+ error
147
+ title={__('Error!')}
148
+ body={errorMsg(logError)}
149
+ />
145
150
  );
146
151
 
147
152
  return (
@@ -25,6 +25,7 @@ export const SelectField = props => {
25
25
  validated={valid}
26
26
  >
27
27
  <FormSelect
28
+ ouiaId={`oscap-form-sel-${field.name}`}
28
29
  {...fieldProps}
29
30
  className="without_select2"
30
31
  aria-label={fieldProps.name}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman_openscap
3
3
  version: !ruby/object:Gem::Version
4
- version: 9.0.1
4
+ version: 9.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - slukasik@redhat.com
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-06-20 00:00:00.000000000 Z
11
+ date: 2024-07-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -91,7 +91,6 @@ files:
91
91
  - app/helpers/foreman_openscap_helper.rb
92
92
  - app/helpers/policies_helper.rb
93
93
  - app/helpers/policy_dashboard_helper.rb
94
- - app/helpers/tailoring_files_helper.rb
95
94
  - app/lib/proxy_api/migration.rb
96
95
  - app/lib/proxy_api/openscap.rb
97
96
  - app/mailers/foreman_openscap/policy_mailer.rb
@@ -127,8 +126,6 @@ files:
127
126
  - app/services/foreman_openscap/hostgroup_overrider_common.rb
128
127
  - app/services/foreman_openscap/lookup_key_overrider.rb
129
128
  - app/services/foreman_openscap/lookup_key_overrides_common.rb
130
- - app/services/foreman_openscap/openscap_proxy_assigned_version_check.rb
131
- - app/services/foreman_openscap/openscap_proxy_version_check.rb
132
129
  - app/services/foreman_openscap/policy_dashboard/data.rb
133
130
  - app/services/foreman_openscap/report_dashboard/data.rb
134
131
  - app/services/proxy_status/openscap_spool.rb
@@ -299,39 +296,71 @@ files:
299
296
  - locale/Makefile
300
297
  - locale/action_names.rb
301
298
  - locale/cs_CZ/LC_MESSAGES/foreman_openscap.mo
299
+ - locale/cs_CZ/foreman_openscap.edit.po
302
300
  - locale/cs_CZ/foreman_openscap.po
301
+ - locale/cs_CZ/foreman_openscap.po.time_stamp
303
302
  - locale/de/LC_MESSAGES/foreman_openscap.mo
303
+ - locale/de/foreman_openscap.edit.po
304
304
  - locale/de/foreman_openscap.po
305
+ - locale/de/foreman_openscap.po.time_stamp
305
306
  - locale/en/LC_MESSAGES/foreman_openscap.mo
307
+ - locale/en/foreman_openscap.edit.po
306
308
  - locale/en/foreman_openscap.po
309
+ - locale/en/foreman_openscap.po.time_stamp
307
310
  - locale/en_GB/LC_MESSAGES/foreman_openscap.mo
311
+ - locale/en_GB/foreman_openscap.edit.po
308
312
  - locale/en_GB/foreman_openscap.po
313
+ - locale/en_GB/foreman_openscap.po.time_stamp
309
314
  - locale/es/LC_MESSAGES/foreman_openscap.mo
315
+ - locale/es/foreman_openscap.edit.po
310
316
  - locale/es/foreman_openscap.po
317
+ - locale/es/foreman_openscap.po.time_stamp
311
318
  - locale/foreman_openscap.pot
312
319
  - locale/fr/LC_MESSAGES/foreman_openscap.mo
320
+ - locale/fr/foreman_openscap.edit.po
313
321
  - locale/fr/foreman_openscap.po
322
+ - locale/fr/foreman_openscap.po.time_stamp
314
323
  - locale/gl/LC_MESSAGES/foreman_openscap.mo
324
+ - locale/gl/foreman_openscap.edit.po
315
325
  - locale/gl/foreman_openscap.po
326
+ - locale/gl/foreman_openscap.po.time_stamp
316
327
  - locale/it/LC_MESSAGES/foreman_openscap.mo
328
+ - locale/it/foreman_openscap.edit.po
317
329
  - locale/it/foreman_openscap.po
330
+ - locale/it/foreman_openscap.po.time_stamp
318
331
  - locale/ja/LC_MESSAGES/foreman_openscap.mo
332
+ - locale/ja/foreman_openscap.edit.po
319
333
  - locale/ja/foreman_openscap.po
334
+ - locale/ja/foreman_openscap.po.time_stamp
320
335
  - locale/ka/LC_MESSAGES/foreman_openscap.mo
336
+ - locale/ka/foreman_openscap.edit.po
321
337
  - locale/ka/foreman_openscap.po
338
+ - locale/ka/foreman_openscap.po.time_stamp
322
339
  - locale/ko/LC_MESSAGES/foreman_openscap.mo
340
+ - locale/ko/foreman_openscap.edit.po
323
341
  - locale/ko/foreman_openscap.po
342
+ - locale/ko/foreman_openscap.po.time_stamp
324
343
  - locale/pt_BR/LC_MESSAGES/foreman_openscap.mo
344
+ - locale/pt_BR/foreman_openscap.edit.po
325
345
  - locale/pt_BR/foreman_openscap.po
346
+ - locale/pt_BR/foreman_openscap.po.time_stamp
326
347
  - locale/ru/LC_MESSAGES/foreman_openscap.mo
348
+ - locale/ru/foreman_openscap.edit.po
327
349
  - locale/ru/foreman_openscap.po
350
+ - locale/ru/foreman_openscap.po.time_stamp
328
351
  - locale/sv_SE/LC_MESSAGES/foreman_openscap.mo
352
+ - locale/sv_SE/foreman_openscap.edit.po
329
353
  - locale/sv_SE/foreman_openscap.po
354
+ - locale/sv_SE/foreman_openscap.po.time_stamp
330
355
  - locale/zanata.xml
331
356
  - locale/zh_CN/LC_MESSAGES/foreman_openscap.mo
357
+ - locale/zh_CN/foreman_openscap.edit.po
332
358
  - locale/zh_CN/foreman_openscap.po
359
+ - locale/zh_CN/foreman_openscap.po.time_stamp
333
360
  - locale/zh_TW/LC_MESSAGES/foreman_openscap.mo
361
+ - locale/zh_TW/foreman_openscap.edit.po
334
362
  - locale/zh_TW/foreman_openscap.po
363
+ - locale/zh_TW/foreman_openscap.po.time_stamp
335
364
  - package.json
336
365
  - test/factories/arf_report_factory.rb
337
366
  - test/factories/asset_factory.rb
@@ -377,7 +406,6 @@ files:
377
406
  - test/unit/services/hostgroup_overrider_test.rb
378
407
  - test/unit/services/lookup_key_overrider_test.rb
379
408
  - test/unit/services/report_dashboard/data_test.rb
380
- - test/unit/services/tailoring_files_proxy_check_test.rb
381
409
  - test/unit/tailoring_file_test.rb
382
410
  - webpack/components/ConfirmModal.js
383
411
  - webpack/components/ConfirmModal.scss
@@ -429,7 +457,7 @@ homepage: https://github.com/theforeman/foreman_openscap
429
457
  licenses:
430
458
  - GPL-3.0
431
459
  metadata: {}
432
- post_install_message:
460
+ post_install_message:
433
461
  rdoc_options: []
434
462
  require_paths:
435
463
  - lib
@@ -444,8 +472,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
444
472
  - !ruby/object:Gem::Version
445
473
  version: '0'
446
474
  requirements: []
447
- rubygems_version: 3.3.26
448
- signing_key:
475
+ rubygems_version: 3.2.33
476
+ signing_key:
449
477
  specification_version: 4
450
478
  summary: Foreman plug-in for displaying OpenSCAP audit reports
451
479
  test_files:
@@ -493,5 +521,4 @@ test_files:
493
521
  - test/unit/services/hostgroup_overrider_test.rb
494
522
  - test/unit/services/lookup_key_overrider_test.rb
495
523
  - test/unit/services/report_dashboard/data_test.rb
496
- - test/unit/services/tailoring_files_proxy_check_test.rb
497
524
  - test/unit/tailoring_file_test.rb
@@ -1,5 +0,0 @@
1
- module TailoringFilesHelper
2
- def run_tailoring_proxy_check
3
- ForemanOpenscap::OpenscapProxyVersionCheck.new.run
4
- end
5
- end
@@ -1,14 +0,0 @@
1
- module ForemanOpenscap
2
- class OpenscapProxyAssignedVersionCheck < OpenscapProxyVersionCheck
3
- def initialize(host)
4
- @host = host
5
- super()
6
- end
7
-
8
- private
9
-
10
- def get_openscap_proxies
11
- @host.openscap_proxy ? [@host.openscap_proxy] : []
12
- end
13
- end
14
- end
@@ -1,62 +0,0 @@
1
- module ForemanOpenscap
2
- class OpenscapProxyVersionCheck
3
- def initialize
4
- @versions = {}
5
- @message = ''
6
- @down = []
7
- end
8
-
9
- def run
10
- @versions = openscap_proxy_versions.select do |key, value|
11
- Gem::Version.new(value) < Gem::Version.new("0.6.1")
12
- end
13
- self
14
- end
15
-
16
- def pass?
17
- !any_outdated? && !any_unreachable?
18
- end
19
-
20
- def any_outdated?
21
- !@versions.empty?
22
- end
23
-
24
- def any_unreachable?
25
- !@down.empty?
26
- end
27
-
28
- def message
29
- if pass?
30
- @message
31
- else
32
- build_message
33
- end
34
- end
35
-
36
- private
37
-
38
- def build_message
39
- @message = _('This feature is temporarily disabled. ')
40
- @message << _('The following Smart Proxies need to be updated to unlock the feature: %s. ') % @versions.keys.to_sentence if any_outdated?
41
- @message << _('The following proxies could not be reached: %s. Please make sure they are available so Foreman can check their versions.') % @down.to_sentence if any_unreachable?
42
- @message
43
- end
44
-
45
- def get_openscap_proxies
46
- SmartProxy.with_features "Openscap"
47
- end
48
-
49
- def openscap_proxy_versions
50
- get_openscap_proxies.inject({}) do |memo, proxy|
51
- begin
52
- status = ProxyStatus::Version.new(proxy).version
53
- openscap_version = status["modules"]["openscap"]
54
- memo[proxy.name] = openscap_version
55
- rescue Foreman::WrappedException
56
- @down << proxy.name
57
- end
58
- memo
59
- end
60
- end
61
- end
62
- end
@@ -1,27 +0,0 @@
1
- require 'test_plugin_helper'
2
-
3
- class TailoringFilesProxyCheckTest < ActiveSupport::TestCase
4
- test 'should find proxies with old versions' do
5
- ForemanOpenscap::OpenscapProxyVersionCheck.any_instance.stubs(:openscap_proxy_versions)
6
- .returns('old-proxy.test.com' => "0.5.4", "outdate-proxy.test.com" => "0.6.0")
7
- check = ForemanOpenscap::OpenscapProxyVersionCheck.new.run
8
- refute check.pass?
9
- refute check.message.empty?
10
- end
11
-
12
- test 'should not find any outdated proxies' do
13
- ForemanOpenscap::OpenscapProxyVersionCheck.any_instance.stubs(:openscap_proxy_versions)
14
- .returns({})
15
- check = ForemanOpenscap::OpenscapProxyVersionCheck.new.run
16
- assert check.pass?
17
- assert check.message.empty?
18
- end
19
-
20
- test 'should fail when proxy cannot be reached' do
21
- ProxyStatus::Version.any_instance.stubs(:version).raises(Foreman::WrappedException.new(nil, 'test message'))
22
- ForemanOpenscap::OpenscapProxyVersionCheck.any_instance.stubs(:get_openscap_proxies).returns([FactoryBot.create(:openscap_proxy)])
23
- check = ForemanOpenscap::OpenscapProxyVersionCheck.new.run
24
- refute check.pass?
25
- refute check.message.empty?
26
- end
27
- end