foreman_webhooks 2.0.0 → 3.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7a3a4ed0dd48b24eff5ad505def967db53ce75d7fc2028931e1d2e3dd296bc82
4
- data.tar.gz: 4967cc533c7643041e6c7a533a4b38f2897d605dc5327b79bc80c8fa13759399
3
+ metadata.gz: 523d26d6ef7f9d27e8f07192fccc3d0070118e92aca3e1198259feca505f3915
4
+ data.tar.gz: a5b860468afc572d9bd102b2fcf098d79f71bf65144b01d927c7e542bf57265c
5
5
  SHA512:
6
- metadata.gz: c329d395342ed2d557f8d9d8e0229a1be906b502fd4314afb308ecb1b6a535db68f3b074515ea830bfb215a3d7e78bfb02271248b1129b00c768549ee6ad1b78
7
- data.tar.gz: fdb4584f33e2e1de069b5c780372280bd0e8200e7d7c80f788d4c024f2bd0f14b7c3460b607a13a021dc13f8d833fb3bc54ca1e2264e64bab933f82de4b18507
6
+ metadata.gz: 62cc925323c67e043abae9dd3d7145142b916c07d4c70880fb984d4aabec00860a1d10ea3be5137264d4a5588a06768fb5f7fc7dca89468749d7439877a067fa
7
+ data.tar.gz: e34dd831d90bfda959ec89d7d5179c8cf6e47bb9f351040acf8c0bbda3fb2502e6b56bcdf361913435c349250218063550414c5aa5da6bd65d2cf97a492a92ce
@@ -56,4 +56,8 @@ class WebhookTemplate < Template
56
56
  def support_single_host_render?
57
57
  false
58
58
  end
59
+
60
+ def support_preview?
61
+ false
62
+ end
59
63
  end
@@ -15,7 +15,7 @@ module ForemanWebhooks
15
15
 
16
16
  initializer 'foreman_webhooks.register_plugin', before: :finisher_hook do |_app|
17
17
  Foreman::Plugin.register :foreman_webhooks do
18
- requires_foreman '>= 2.5'
18
+ requires_foreman '>= 3.2'
19
19
 
20
20
  apipie_documented_controllers ["#{ForemanWebhooks::Engine.root}/app/controllers/api/v2/*.rb"]
21
21
  ApipieDSL.configuration.sections += ['webhooks']
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ForemanWebhooks
4
- VERSION = '2.0.0'
4
+ VERSION = '3.0.1'
5
5
  end
data/package.json CHANGED
@@ -21,25 +21,22 @@
21
21
  "url": "https://projects.theforeman.org/projects/webhooks/issues"
22
22
  },
23
23
  "peerDependencies": {
24
- "@theforeman/vendor": ">= 8.4.1"
24
+ "@theforeman/vendor": "^8.15.0"
25
25
  },
26
26
  "devDependencies": {
27
27
  "@babel/core": "^7.7.0",
28
- "@theforeman/builder": "^8.4.1",
29
- "@theforeman/stories": "^8.4.1",
30
- "@theforeman/test": "^8.4.1",
31
- "@theforeman/vendor-dev": "^8.4.1",
32
- "@theforeman/eslint-plugin-foreman": "^8.4.1",
28
+ "@theforeman/builder": "^8.15.0",
29
+ "@theforeman/stories": "^8.15.0",
30
+ "@theforeman/test": "^8.15.0",
31
+ "@theforeman/vendor-dev": "^8.15.0",
32
+ "@theforeman/eslint-plugin-foreman": "^8.15.0",
33
33
  "babel-eslint": "^10.0.0",
34
34
  "eslint": "^6.8.0",
35
35
  "eslint-plugin-spellcheck": "^0.0.17",
36
+ "jed": "^1.1.1",
36
37
  "prettier": "^1.13.5",
37
38
  "stylelint": "^9.3.0",
38
39
  "stylelint-config-standard": "^18.0.0",
39
40
  "surge": "^0.20.3"
40
- },
41
- "dependencies": {
42
- "jed": "^1.1.1",
43
- "react-intl": "^2.8.0"
44
41
  }
45
42
  }
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
 
4
4
  import { Table } from 'foremanReact/components/common/table';
5
- import Pagination from 'foremanReact/components/Pagination/PaginationWrapper';
5
+ import Pagination from 'foremanReact/components/Pagination';
6
6
  import { useForemanModal } from 'foremanReact/components/ForemanModal/ForemanModalHooks';
7
7
 
8
8
  import WebhookDeleteModal from '../WebhookDeleteModal';
@@ -57,15 +57,8 @@ const WebhooksTable = ({
57
57
  )}
58
58
  rows={results}
59
59
  id="webhooks-table"
60
- style={{ marginBottom: -6 }}
61
- />
62
- <Pagination
63
- viewType="list"
64
- itemCount={itemCount}
65
- pagination={pagination}
66
- onChange={fetchAndPush}
67
- dropdownButtonId="webhooks-page-pagination-dropdown"
68
60
  />
61
+ <Pagination itemCount={itemCount} onChange={fetchAndPush} />
69
62
  </React.Fragment>
70
63
  );
71
64
  };
@@ -29,14 +29,12 @@ const fixtures = {
29
29
  isLoading: true,
30
30
  hasData: false,
31
31
  hasError: false,
32
- toasts: [],
33
32
  }),
34
33
  'should render with no data': propsFactory({
35
34
  ...props,
36
35
  isLoading: false,
37
36
  hasData: false,
38
37
  hasError: false,
39
- toasts: [],
40
38
  }),
41
39
  'should render with error': propsFactory({
42
40
  isLoading: false,
@@ -47,14 +45,12 @@ const fixtures = {
47
45
  text: 'this is error',
48
46
  },
49
47
  ...props,
50
- toasts: [],
51
48
  }),
52
49
  'should render with webhooks': propsFactory({
53
50
  ...props,
54
51
  isLoading: false,
55
52
  hasError: false,
56
53
  hasData: true,
57
- toasts: [],
58
54
  results: webhooks,
59
55
  itemCount: webhooks.length,
60
56
  }),
@@ -17,7 +17,7 @@ exports[`WebhooksTable rendering should render when loading 1`] = `
17
17
  "perPage": 20,
18
18
  }
19
19
  }
20
- perPage={42}
20
+ per_page={42}
21
21
  reloadWithSearch={[MockFunction]}
22
22
  results={Array []}
23
23
  search="name=foo"
@@ -29,7 +29,6 @@ exports[`WebhooksTable rendering should render when loading 1`] = `
29
29
  }
30
30
  toDelete={Object {}}
31
31
  toEdit={0}
32
- toasts={Array []}
33
32
  />
34
33
  `;
35
34
 
@@ -56,7 +55,7 @@ exports[`WebhooksTable rendering should render with error 1`] = `
56
55
  "perPage": 20,
57
56
  }
58
57
  }
59
- perPage={42}
58
+ per_page={42}
60
59
  reloadWithSearch={[MockFunction]}
61
60
  results={Array []}
62
61
  search="name=foo"
@@ -68,7 +67,6 @@ exports[`WebhooksTable rendering should render with error 1`] = `
68
67
  }
69
68
  toDelete={Object {}}
70
69
  toEdit={0}
71
- toasts={Array []}
72
70
  />
73
71
  `;
74
72
 
@@ -89,7 +87,7 @@ exports[`WebhooksTable rendering should render with no data 1`] = `
89
87
  "perPage": 20,
90
88
  }
91
89
  }
92
- perPage={42}
90
+ per_page={42}
93
91
  reloadWithSearch={[MockFunction]}
94
92
  results={Array []}
95
93
  search="name=foo"
@@ -101,7 +99,6 @@ exports[`WebhooksTable rendering should render with no data 1`] = `
101
99
  }
102
100
  toDelete={Object {}}
103
101
  toEdit={0}
104
- toasts={Array []}
105
102
  />
106
103
  `;
107
104
 
@@ -122,7 +119,7 @@ exports[`WebhooksTable rendering should render with webhooks 1`] = `
122
119
  "perPage": 20,
123
120
  }
124
121
  }
125
- perPage={42}
122
+ per_page={42}
126
123
  reloadWithSearch={[MockFunction]}
127
124
  results={
128
125
  Array [
@@ -153,6 +150,5 @@ exports[`WebhooksTable rendering should render with webhooks 1`] = `
153
150
  }
154
151
  toDelete={Object {}}
155
152
  toEdit={0}
156
- toasts={Array []}
157
153
  />
158
154
  `;
@@ -26,7 +26,6 @@ const WebhooksIndexPage = ({
26
26
  itemCount,
27
27
  message,
28
28
  canCreate,
29
- toasts,
30
29
  reloadWithSearch,
31
30
  }) => {
32
31
  const [toDelete, setToDelete] = useState({});
@@ -62,7 +61,6 @@ const WebhooksIndexPage = ({
62
61
  isLoading={isLoading && hasData}
63
62
  onSearch={reloadWithSearch}
64
63
  onBookmarkClick={reloadWithSearch}
65
- toastNotifications={toasts}
66
64
  toolbarButtons={canCreate && createBtn}
67
65
  >
68
66
  <WebhooksTable
@@ -98,7 +96,6 @@ WebhooksIndexPage.propTypes = {
98
96
  itemCount: PropTypes.number.isRequired,
99
97
  message: PropTypes.object,
100
98
  canCreate: PropTypes.bool.isRequired,
101
- toasts: PropTypes.array.isRequired,
102
99
  reloadWithSearch: PropTypes.func.isRequired,
103
100
  };
104
101
 
@@ -17,7 +17,7 @@ export const querySort = {
17
17
 
18
18
  const pageParams = {
19
19
  page: 5,
20
- perPage: 42,
20
+ per_page: 42,
21
21
  };
22
22
 
23
23
  const stateParams = {
@@ -13,7 +13,6 @@ const fixtures = {
13
13
  canCreate: true,
14
14
  sort: {},
15
15
  webhooks: [],
16
- toasts: [],
17
16
  },
18
17
  };
19
18
 
@@ -20,7 +20,6 @@ exports[`WebhooksIndexPage redering render with minimal props 1`] = `
20
20
  reloadWithSearch={[MockFunction]}
21
21
  search=""
22
22
  sort={Object {}}
23
- toasts={Array []}
24
23
  webhooks={Array []}
25
24
  />
26
25
  `;
@@ -1,9 +1,7 @@
1
- import React from 'react';
2
1
  import { connect } from 'react-redux';
3
2
  import { compose, bindActionCreators } from 'redux';
4
3
 
5
4
  import { callOnMount, callOnPopState } from 'foremanReact/common/HOC';
6
- import { useForemanContext } from 'foremanReact/Root/Context/ForemanContext';
7
5
 
8
6
  import WebhooksIndexPage from './WebhooksIndexPage';
9
7
  import * as actions from '../WebhooksPageActions';
@@ -38,14 +36,8 @@ const mapStateToProps = state => ({
38
36
 
39
37
  const mapDispatchToProps = dispatch => bindActionCreators(actions, dispatch);
40
38
 
41
- const callWithToastsContext = Component => props => {
42
- const { toasts } = useForemanContext();
43
- return <Component {...props} toasts={toasts} />;
44
- };
45
-
46
39
  export default compose(
47
40
  connect(mapStateToProps, mapDispatchToProps),
48
- callWithToastsContext,
49
41
  callOnMount(({ initializeWebhooks }) => initializeWebhooks()),
50
42
  callOnPopState(({ fetchWebhooks }) => fetchWebhooks())
51
43
  )(WebhooksIndexPage);
@@ -11,7 +11,7 @@ import {
11
11
 
12
12
  export const initializeWebhooks = () => dispatch => {
13
13
  const params = getParams();
14
- dispatch(fetchWebhooks(params));
14
+ dispatch(fetchWebhooks({ per_page: params.perPage, ...params }));
15
15
  if (!history.action === 'POP') {
16
16
  history.replace({
17
17
  pathname: WEBHOOKS_PATH,
@@ -21,7 +21,8 @@ export const initializeWebhooks = () => dispatch => {
21
21
  };
22
22
 
23
23
  export const fetchWebhooks = (
24
- { page, perPage, searchQuery, sort },
24
+ /* eslint-disable-next-line camelcase */
25
+ { page, per_page, searchQuery, sort },
25
26
  url = WEBHOOKS_API_PATH
26
27
  ) => async dispatch => {
27
28
  const sortString =
@@ -33,7 +34,7 @@ export const fetchWebhooks = (
33
34
  url,
34
35
  params: {
35
36
  page,
36
- per_page: perPage,
37
+ per_page,
37
38
  search: searchQuery,
38
39
  order: sortString,
39
40
  },
@@ -46,7 +47,7 @@ export const fetchAndPush = (params = {}) => (dispatch, getState) => {
46
47
  dispatch(fetchWebhooks(query));
47
48
  history.push({
48
49
  pathname: WEBHOOKS_PATH,
49
- search: stringifyParams(query),
50
+ search: stringifyParams({ perPage: query.per_page, ...query }),
50
51
  });
51
52
  };
52
53
 
@@ -12,7 +12,7 @@ export const buildQuery = (query, state) => {
12
12
 
13
13
  return {
14
14
  page: query.page || selectPage(state),
15
- perPage: query.perPage || selectPerPage(state),
15
+ per_page: query.per_page || selectPerPage(state),
16
16
  searchQuery:
17
17
  query.searchQuery === undefined ? selectSearch(state) : query.searchQuery,
18
18
  ...(querySort && { sort: querySort }),
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+
3
+ const Pagination = () => <></>;
4
+ export default Pagination;
@@ -1,6 +1,3 @@
1
- jest.mock('foremanReact/Root/Context/ForemanContext', () => ({
2
- useForemanContext: () => ({ toasts: [] }),
3
- }));
4
1
  jest.mock('foremanReact/history', () => ({
5
2
  history: {
6
3
  action: 'PUSH',
metadata CHANGED
@@ -1,43 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman_webhooks
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 3.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Timo Goebel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-05-24 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: rdoc
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: rubocop
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: 0.71.0
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: 0.71.0
11
+ date: 2022-03-07 00:00:00.000000000 Z
12
+ dependencies: []
41
13
  description: Plugin for Foreman that allows to configure Webhooks.
42
14
  email:
43
15
  - mail@timogoebel.name
@@ -167,7 +139,7 @@ files:
167
139
  - webpack/__mocks__/foremanReact/components/Layout/LayoutActions.js
168
140
  - webpack/__mocks__/foremanReact/components/Loading/Loading.js
169
141
  - webpack/__mocks__/foremanReact/components/Loading/index.js
170
- - webpack/__mocks__/foremanReact/components/Pagination/PaginationWrapper.js
142
+ - webpack/__mocks__/foremanReact/components/Pagination/index.js
171
143
  - webpack/__mocks__/foremanReact/components/common/EmptyState.js
172
144
  - webpack/__mocks__/foremanReact/components/common/forms/ForemanForm.js
173
145
  - webpack/__mocks__/foremanReact/components/common/forms/FormField.js
@@ -185,7 +157,8 @@ files:
185
157
  homepage: https://github.com/theforeman/foreman_webhooks
186
158
  licenses:
187
159
  - GPL-3.0
188
- metadata: {}
160
+ metadata:
161
+ is_foreman_plugin: 'true'
189
162
  post_install_message:
190
163
  rdoc_options: []
191
164
  require_paths:
@@ -201,7 +174,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
201
174
  - !ruby/object:Gem::Version
202
175
  version: '0'
203
176
  requirements: []
204
- rubygems_version: 3.1.4
177
+ rubygems_version: 3.1.6
205
178
  signing_key:
206
179
  specification_version: 4
207
180
  summary: Configure webhooks for Foreman.
@@ -213,14 +186,14 @@ test_files:
213
186
  - test/factories/webhook_template.rb
214
187
  - test/jobs/foreman_webhooks/deliver_webhook_job_test.rb
215
188
  - test/models/webhook_test.rb
216
- - test/unit/foreman_webhooks/webhook_service_test.rb
217
189
  - test/test_plugin_helper.rb
190
+ - test/unit/foreman_webhooks/webhook_service_test.rb
191
+ - webpack/ForemanWebhooks/Routes/Webhooks/Components/WebhookForm/__tests__/WebhookForm.test.js
218
192
  - webpack/ForemanWebhooks/Routes/Webhooks/WebhooksIndexPage/Components/WebhooksTable/Components/Formatters/__tests__/enabledCellFormatter.test.js
219
193
  - webpack/ForemanWebhooks/Routes/Webhooks/WebhooksIndexPage/Components/WebhooksTable/Components/__tests__/EnabledCell.test.js
220
194
  - webpack/ForemanWebhooks/Routes/Webhooks/WebhooksIndexPage/Components/WebhooksTable/__tests__/WebhooksTable.test.js
221
- - webpack/ForemanWebhooks/Routes/Webhooks/WebhooksIndexPage/__tests__/WebhooksIndexPage.fixtures.js
222
195
  - webpack/ForemanWebhooks/Routes/Webhooks/WebhooksIndexPage/__tests__/WebhooksIndexPage.test.js
223
196
  - webpack/ForemanWebhooks/Routes/Webhooks/WebhooksIndexPage/__tests__/integration.test.js
197
+ - webpack/ForemanWebhooks/Routes/Webhooks/WebhooksIndexPage/__tests__/WebhooksIndexPage.fixtures.js
224
198
  - webpack/ForemanWebhooks/Routes/Webhooks/__tests__/WebhooksPageHelpers.test.js
225
199
  - webpack/ForemanWebhooks/Routes/Webhooks/__tests__/WebhooksPageSelectors.test.js
226
- - webpack/ForemanWebhooks/Routes/Webhooks/Components/WebhookForm/__tests__/WebhookForm.test.js
@@ -1,4 +0,0 @@
1
- import React from 'react';
2
-
3
- const PaginationWrapper = () => <></>;
4
- export default PaginationWrapper;