foreman_snapshot_management 2.0.1 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 852f360b2e273ab1e59ba5b2e7960633cdfc169acd60e98f8fc9abeb2616a098
4
- data.tar.gz: 9c292f218d3f01ef7e3cba1eab5caaac82e94a65891d88a1b11f19952da39c8a
3
+ metadata.gz: 682e7ff61a5f90d7c1e1a07c12d1d27dc40deafb6bbae57e842fcf906e15c30f
4
+ data.tar.gz: ddf453d479054de2f1f1b7efe78b24ae12977882482db989953125aea0488fd8
5
5
  SHA512:
6
- metadata.gz: ca9602895984df366f86addc657df08ce8c2c2e69fedd9d554115829f36bd956838fb05d2eb3a7d5a6c9a4d0af9f5385ac40573804bb54e9766be6014a49acf9
7
- data.tar.gz: 949d446c4f72c2ad58c4098d5866d53259151bb35597444f402b3fd08a3d68ba5f4e76a975bab5be16098b13e4ebbb16531b841869cbd6e53ca31ff99cd924ae
6
+ metadata.gz: b92836939d7d8c70f965fa1f1859895412ddc66a8e64a353b60b2fb8a8ad120a737ad39cd1d38ff91eb58f48e057bcee1572c9a00d4e4d988f9902df4bd2c2d7
7
+ data.tar.gz: 4a0b0488fb4e7642f065b04d15925faa4550dd669129aeb1c40e18bd0a7cbca6a014ab8c16551f2c3d61b13843e7ffe964fd28b60f258ce09baf6dd272455b86
data/README.md CHANGED
@@ -150,7 +150,7 @@ curl -s -u "$AUTH" \
150
150
  }
151
151
  ```
152
152
 
153
- ### Delete a snashot
153
+ ### Delete a snapshot
154
154
 
155
155
  ```bash
156
156
  curl -s -u "$AUTH" \
@@ -49,7 +49,7 @@ module Api
49
49
  param_group :snapshot, :as => :create
50
50
 
51
51
  def create
52
- @snapshot = resource_class.new(snapshot_params.to_h.merge(host: @host).merge(include_ram: params[:include_ram]))
52
+ @snapshot = resource_class.new(snapshot_params.to_h.merge(host: @host).merge(include_ram: Foreman::Cast.to_bool(params[:include_ram])))
53
53
  process_response @snapshot.create
54
54
  end
55
55
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ForemanSnapshotManagement
4
- VERSION = '2.0.1'
4
+ VERSION = '2.0.2'
5
5
  end
@@ -12,13 +12,17 @@ class Api::V2::SnapshotsControllerTest < ActionController::TestCase
12
12
  let(:uuid) { '5032c8a5-9c5e-ba7a-3804-832a03e16381' }
13
13
  let(:host) { FactoryBot.create(:host, :managed, :compute_resource => compute_resource, :uuid => uuid) }
14
14
  let(:snapshot_id) { 'snapshot-0101' }
15
- let(:proxmox_compute_resource) do
16
- cr = FactoryBot.create(:proxmox_cr)
17
- ComputeResource.find_by(id: cr.id)
15
+
16
+ if defined?(TEST_PROXMOX)
17
+ let(:vmid) { '100' }
18
+ let(:proxmox_compute_resource) do
19
+ cr = FactoryBot.create(:proxmox_cr)
20
+ ComputeResource.find_by(id: cr.id)
21
+ end
22
+ let(:proxmox_host) { FactoryBot.create(:host, :managed, :compute_resource => proxmox_compute_resource, :uuid => "1_#{vmid}") }
23
+ let(:proxmox_snapshot) { 'snapshot1' }
18
24
  end
19
- let(:vmid) { '100' }
20
- let(:proxmox_host) { FactoryBot.create(:host, :managed, :compute_resource => proxmox_compute_resource, :uuid => "1_#{vmid}") }
21
- let(:proxmox_snapshot) { 'snapshot1' }
25
+
22
26
  let(:manager_user) do
23
27
  roles = [Role.find_by(name: 'Snapshot Manager')]
24
28
  FactoryBot.create(:user, :organizations => [tax_organization], :locations => [tax_location], :roles => roles)
@@ -34,7 +38,7 @@ class Api::V2::SnapshotsControllerTest < ActionController::TestCase
34
38
  setup do
35
39
  # Make sure that test-hosts are created here (by the admin-user)
36
40
  host
37
- proxmox_host
41
+ proxmox_host if defined?(TEST_PROXMOX)
38
42
  @orig_user = User.current
39
43
  User.current = view_user
40
44
  end
@@ -51,14 +55,16 @@ class Api::V2::SnapshotsControllerTest < ActionController::TestCase
51
55
  assert_not_empty body['results']
52
56
  end
53
57
 
54
- test 'should get index of Proxmox Snapshots' do
55
- Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
56
- get :index, params: { :host_id => proxmox_host.to_param }
57
- assert_response :success
58
- assert_not_nil assigns(:snapshots)
59
- body = ActiveSupport::JSON.decode(@response.body)
60
- assert_not_empty body
61
- assert_not_empty body['results']
58
+ if defined?(TEST_PROXMOX)
59
+ test 'should get index of Proxmox Snapshots' do
60
+ Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
61
+ get :index, params: { :host_id => proxmox_host.to_param }
62
+ assert_response :success
63
+ assert_not_nil assigns(:snapshots)
64
+ body = ActiveSupport::JSON.decode(@response.body)
65
+ assert_not_empty body
66
+ assert_not_empty body['results']
67
+ end
62
68
  end
63
69
 
64
70
  test 'should search VMware snapshot' do
@@ -71,15 +77,17 @@ class Api::V2::SnapshotsControllerTest < ActionController::TestCase
71
77
  assert_equal body['results'].count, 1
72
78
  end
73
79
 
74
- test 'should search Proxmox snapshot' do
75
- Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
76
- get :index, params: { :host_id => proxmox_host.to_param, :search => 'name= snapshot1' }
77
- assert_response :success
78
- assert_not_nil assigns(:snapshots)
79
- body = ActiveSupport::JSON.decode(@response.body)
80
- assert_not_empty body
81
- assert_not_empty body['results']
82
- assert_equal body['results'].count, 1
80
+ if defined?(TEST_PROXMOX)
81
+ test 'should search Proxmox snapshot' do
82
+ Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
83
+ get :index, params: { :host_id => proxmox_host.to_param, :search => 'name= snapshot1' }
84
+ assert_response :success
85
+ assert_not_nil assigns(:snapshots)
86
+ body = ActiveSupport::JSON.decode(@response.body)
87
+ assert_not_empty body
88
+ assert_not_empty body['results']
89
+ assert_equal body['results'].count, 1
90
+ end
83
91
  end
84
92
 
85
93
  test 'should refute search Vmware snapshot' do
@@ -95,13 +103,15 @@ class Api::V2::SnapshotsControllerTest < ActionController::TestCase
95
103
  assert_not_empty body
96
104
  end
97
105
 
98
- test 'should show Proxmox snapshot' do
99
- Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
100
- get :show, params: { :host_id => proxmox_host.to_param, :id => proxmox_snapshot }
101
- assert_not_nil assigns(:snapshot)
102
- assert_response :success
103
- body = ActiveSupport::JSON.decode(@response.body)
104
- assert_not_empty body
106
+ if defined?(TEST_PROXMOX)
107
+ test 'should show Proxmox snapshot' do
108
+ Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
109
+ get :show, params: { :host_id => proxmox_host.to_param, :id => proxmox_snapshot }
110
+ assert_not_nil assigns(:snapshot)
111
+ assert_response :success
112
+ body = ActiveSupport::JSON.decode(@response.body)
113
+ assert_not_empty body
114
+ end
105
115
  end
106
116
 
107
117
  test 'should 404 for unknown Vmware snapshot' do
@@ -125,10 +135,12 @@ class Api::V2::SnapshotsControllerTest < ActionController::TestCase
125
135
  assert_response :forbidden
126
136
  end
127
137
 
128
- test 'should refute revert Proxmox snapshot' do
129
- Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
130
- put :revert, params: { :host_id => proxmox_host.to_param, :id => proxmox_snapshot.to_param }
131
- assert_response :forbidden
138
+ if defined?(TEST_PROXMOX)
139
+ test 'should refute revert Proxmox snapshot' do
140
+ Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
141
+ put :revert, params: { :host_id => proxmox_host.to_param, :id => proxmox_snapshot.to_param }
142
+ assert_response :forbidden
143
+ end
132
144
  end
133
145
  end
134
146
 
@@ -136,7 +148,7 @@ class Api::V2::SnapshotsControllerTest < ActionController::TestCase
136
148
  setup do
137
149
  # Make sure that test-hosts are created here (by the admin-user)
138
150
  host
139
- proxmox_host
151
+ proxmox_host if defined?(TEST_PROXMOX)
140
152
  @orig_user = User.current
141
153
  User.current = manager_user
142
154
  end
@@ -153,14 +165,16 @@ class Api::V2::SnapshotsControllerTest < ActionController::TestCase
153
165
  assert_not_empty body['results']
154
166
  end
155
167
 
156
- test 'should get index of Proxmox Snapshots' do
157
- Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
158
- get :index, params: { :host_id => proxmox_host.to_param }
159
- assert_response :success
160
- assert_not_nil assigns(:snapshots)
161
- body = ActiveSupport::JSON.decode(@response.body)
162
- assert_not_empty body
163
- assert_not_empty body['results']
168
+ if defined?(TEST_PROXMOX)
169
+ test 'should get index of Proxmox Snapshots' do
170
+ Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
171
+ get :index, params: { :host_id => proxmox_host.to_param }
172
+ assert_response :success
173
+ assert_not_nil assigns(:snapshots)
174
+ body = ActiveSupport::JSON.decode(@response.body)
175
+ assert_not_empty body
176
+ assert_not_empty body['results']
177
+ end
164
178
  end
165
179
 
166
180
  test 'should search VMware snapshot' do
@@ -173,15 +187,17 @@ class Api::V2::SnapshotsControllerTest < ActionController::TestCase
173
187
  assert_equal body['results'].count, 1
174
188
  end
175
189
 
176
- test 'should search Proxmox snapshot' do
177
- Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
178
- get :index, params: { :host_id => proxmox_host.to_param, :search => 'name= snapshot1' }
179
- assert_response :success
180
- assert_not_nil assigns(:snapshots)
181
- body = ActiveSupport::JSON.decode(@response.body)
182
- assert_not_empty body
183
- assert_not_empty body['results']
184
- assert_equal body['results'].count, 1
190
+ if defined?(TEST_PROXMOX)
191
+ test 'should search Proxmox snapshot' do
192
+ Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
193
+ get :index, params: { :host_id => proxmox_host.to_param, :search => 'name= snapshot1' }
194
+ assert_response :success
195
+ assert_not_nil assigns(:snapshots)
196
+ body = ActiveSupport::JSON.decode(@response.body)
197
+ assert_not_empty body
198
+ assert_not_empty body['results']
199
+ assert_equal body['results'].count, 1
200
+ end
185
201
  end
186
202
 
187
203
  test 'should refute search Vmware snapshot' do
@@ -197,13 +213,15 @@ class Api::V2::SnapshotsControllerTest < ActionController::TestCase
197
213
  assert_not_empty body
198
214
  end
199
215
 
200
- test 'should show Proxmox snapshot' do
201
- Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
202
- get :show, params: { :host_id => proxmox_host.to_param, :id => proxmox_snapshot }
203
- assert_not_nil assigns(:snapshot)
204
- assert_response :success
205
- body = ActiveSupport::JSON.decode(@response.body)
206
- assert_not_empty body
216
+ if defined?(TEST_PROXMOX)
217
+ test 'should show Proxmox snapshot' do
218
+ Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
219
+ get :show, params: { :host_id => proxmox_host.to_param, :id => proxmox_snapshot }
220
+ assert_not_nil assigns(:snapshot)
221
+ assert_response :success
222
+ body = ActiveSupport::JSON.decode(@response.body)
223
+ assert_not_empty body
224
+ end
207
225
  end
208
226
 
209
227
  test 'should 404 for unknown Vmware snapshot' do
@@ -217,11 +235,13 @@ class Api::V2::SnapshotsControllerTest < ActionController::TestCase
217
235
  assert_not_nil assigns(:snapshot)
218
236
  end
219
237
 
220
- test 'should create Proxmox snapshot' do
221
- Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
222
- post :create, params: { :host_id => proxmox_host.to_param, :name => 'test' }
223
- assert_response :created
224
- assert_not_nil assigns(:snapshot)
238
+ if defined?(TEST_PROXMOX)
239
+ test 'should create Proxmox snapshot' do
240
+ Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
241
+ post :create, params: { :host_id => proxmox_host.to_param, :name => 'test' }
242
+ assert_response :created
243
+ assert_not_nil assigns(:snapshot)
244
+ end
225
245
  end
226
246
 
227
247
  test 'should update Vmware snapshot' do
@@ -230,18 +250,20 @@ class Api::V2::SnapshotsControllerTest < ActionController::TestCase
230
250
  assert_response :success
231
251
  end
232
252
 
233
- test 'should update Proxmox snapshot' do
234
- Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
235
- description = 'snapshot1 updated'
236
- put :update, params: { :host_id => proxmox_host.to_param, :id => proxmox_snapshot.to_param, :description => description.to_param }
237
- assert_response :success
238
- end
253
+ if defined?(TEST_PROXMOX)
254
+ test 'should update Proxmox snapshot' do
255
+ Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
256
+ description = 'snapshot1 updated'
257
+ put :update, params: { :host_id => proxmox_host.to_param, :id => proxmox_snapshot.to_param, :description => description.to_param }
258
+ assert_response :success
259
+ end
239
260
 
240
- test 'should refute update Proxmox snapshot name' do
241
- Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
242
- name = 'test'
243
- put :update, params: { :host_id => proxmox_host.to_param, :id => proxmox_snapshot.to_param, :name => name.to_param }
244
- assert_response :unprocessable_entity
261
+ test 'should refute update Proxmox snapshot name' do
262
+ Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
263
+ name = 'test'
264
+ put :update, params: { :host_id => proxmox_host.to_param, :id => proxmox_snapshot.to_param, :name => name.to_param }
265
+ assert_response :unprocessable_entity
266
+ end
245
267
  end
246
268
 
247
269
  test 'should destroy Vmware snapshot' do
@@ -249,24 +271,26 @@ class Api::V2::SnapshotsControllerTest < ActionController::TestCase
249
271
  assert_response :success
250
272
  end
251
273
 
252
- test 'should destroy Proxmox snapshot' do
253
- Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
254
- delete :destroy, params: { :host_id => proxmox_host.to_param, :id => proxmox_snapshot.to_param }
255
- assert_response :success
256
- body = ActiveSupport::JSON.decode(@response.body)
257
- assert_not_nil body['name']
258
- assert_nil body['id']
259
- end
260
-
261
274
  test 'should revert Vmware snapshot' do
262
275
  put :revert, params: { :host_id => host.to_param, :id => snapshot_id.to_param }
263
276
  assert_response :success
264
277
  end
265
278
 
266
- test 'should revert Proxmox snapshot' do
267
- Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
268
- put :revert, params: { :host_id => proxmox_host.to_param, :id => proxmox_snapshot.to_param }
269
- assert_response :success
279
+ if defined?(TEST_PROXMOX)
280
+ test 'should destroy Proxmox snapshot' do
281
+ Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
282
+ delete :destroy, params: { :host_id => proxmox_host.to_param, :id => proxmox_snapshot.to_param }
283
+ assert_response :success
284
+ body = ActiveSupport::JSON.decode(@response.body)
285
+ assert_not_nil body['name']
286
+ assert_nil body['id']
287
+ end
288
+
289
+ test 'should revert Proxmox snapshot' do
290
+ Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
291
+ put :revert, params: { :host_id => proxmox_host.to_param, :id => proxmox_snapshot.to_param }
292
+ assert_response :success
293
+ end
270
294
  end
271
295
  end
272
296
  end
@@ -15,13 +15,17 @@ module ForemanSnapshotManagement
15
15
  let(:host) { FactoryBot.create(:host, :managed, :compute_resource => compute_resource, :uuid => uuid) }
16
16
  let(:host2) { FactoryBot.create(:host, :managed, :compute_resource => compute_resource, :uuid => uuid2) }
17
17
  let(:snapshot_id) { 'snapshot-0101' }
18
- let(:proxmox_compute_resource) do
19
- FactoryBot.create(:proxmox_cr)
20
- ComputeResource.find_by(type: 'ForemanFogProxmox::Proxmox')
18
+
19
+ if defined?(TEST_PROXMOX)
20
+ let(:vmid) { '1_100' }
21
+ let(:proxmox_compute_resource) do
22
+ FactoryBot.create(:proxmox_cr)
23
+ ComputeResource.find_by(type: 'ForemanFogProxmox::Proxmox')
24
+ end
25
+ let(:proxmox_host) { FactoryBot.create(:host, :managed, :compute_resource => proxmox_compute_resource, :uuid => vmid) }
26
+ let(:proxmox_snapshot) { 'snapshot1' }
21
27
  end
22
- let(:vmid) { '1_100' }
23
- let(:proxmox_host) { FactoryBot.create(:host, :managed, :compute_resource => proxmox_compute_resource, :uuid => vmid) }
24
- let(:proxmox_snapshot) { 'snapshot1' }
28
+
25
29
  setup { ::Fog.mock! }
26
30
  teardown { ::Fog.unmock! }
27
31
 
@@ -33,12 +37,14 @@ module ForemanSnapshotManagement
33
37
  assert_template 'foreman_snapshot_management/snapshots/_index'
34
38
  end
35
39
 
36
- test 'should get Proxmox index' do
37
- Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
38
- get :index, params: { :host_id => proxmox_host.to_param }, session: set_session_user
39
- assert_response :success
40
- assert_not_nil assigns(:snapshots)
41
- assert_template 'foreman_snapshot_management/snapshots/_index'
40
+ if defined?(TEST_PROXMOX)
41
+ test 'should get Proxmox index' do
42
+ Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
43
+ get :index, params: { :host_id => proxmox_host.to_param }, session: set_session_user
44
+ assert_response :success
45
+ assert_not_nil assigns(:snapshots)
46
+ assert_template 'foreman_snapshot_management/snapshots/_index'
47
+ end
42
48
  end
43
49
  end
44
50
 
@@ -49,11 +55,13 @@ module ForemanSnapshotManagement
49
55
  assert_includes flash[:notice] || flash[:success], 'Successfully created Snapshot.'
50
56
  end
51
57
 
52
- test 'create valid proxmox snapshot' do
53
- Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
54
- post :create, params: { :host_id => proxmox_host.to_param, :snapshot => { :name => 'test' } }, session: set_session_user
55
- assert_redirected_to host_url(proxmox_host, :anchor => 'snapshots')
56
- assert_includes flash[:notice] || flash[:success], 'Successfully created Snapshot.'
58
+ if defined?(TEST_PROXMOX)
59
+ test 'create valid proxmox snapshot' do
60
+ Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
61
+ post :create, params: { :host_id => proxmox_host.to_param, :snapshot => { :name => 'test' } }, session: set_session_user
62
+ assert_redirected_to host_url(proxmox_host, :anchor => 'snapshots')
63
+ assert_includes flash[:notice] || flash[:success], 'Successfully created Snapshot.'
64
+ end
57
65
  end
58
66
 
59
67
  test 'create valid multiple' do
@@ -84,11 +92,13 @@ module ForemanSnapshotManagement
84
92
  assert_includes flash[:notice] || flash[:success], 'Successfully deleted Snapshot.'
85
93
  end
86
94
 
87
- test 'destroy successful' do
88
- Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
89
- delete :destroy, params: { :host_id => proxmox_host.to_param, :id => proxmox_snapshot }, session: set_session_user
90
- assert_redirected_to host_url(proxmox_host, :anchor => 'snapshots')
91
- assert_includes flash[:notice] || flash[:success], 'Successfully deleted Snapshot.'
95
+ if defined?(TEST_PROXMOX)
96
+ test 'destroy successful' do
97
+ Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
98
+ delete :destroy, params: { :host_id => proxmox_host.to_param, :id => proxmox_snapshot }, session: set_session_user
99
+ assert_redirected_to host_url(proxmox_host, :anchor => 'snapshots')
100
+ assert_includes flash[:notice] || flash[:success], 'Successfully deleted Snapshot.'
101
+ end
92
102
  end
93
103
 
94
104
  test 'destroy with error' do
@@ -106,11 +116,13 @@ module ForemanSnapshotManagement
106
116
  assert_includes flash[:notice] || flash[:success], 'VM successfully rolled back.'
107
117
  end
108
118
 
109
- test 'revert successful proxmox snapshot' do
110
- Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
111
- put :revert, params: { :host_id => proxmox_host.to_param, :id => proxmox_snapshot }, session: set_session_user
112
- assert_redirected_to host_url(proxmox_host, :anchor => 'snapshots')
113
- assert_includes flash[:notice] || flash[:success], 'VM successfully rolled back.'
119
+ if defined?(TEST_PROXMOX)
120
+ test 'revert successful proxmox snapshot' do
121
+ Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
122
+ put :revert, params: { :host_id => proxmox_host.to_param, :id => proxmox_snapshot }, session: set_session_user
123
+ assert_redirected_to host_url(proxmox_host, :anchor => 'snapshots')
124
+ assert_includes flash[:notice] || flash[:success], 'VM successfully rolled back.'
125
+ end
114
126
  end
115
127
 
116
128
  test 'revert with error' do
@@ -130,13 +142,15 @@ module ForemanSnapshotManagement
130
142
  assert_equal(data, body)
131
143
  end
132
144
 
133
- test 'update successful proxmox' do
134
- Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
135
- data = { 'name' => 'snapshot1', 'description' => 'updated snapshot1' }
136
- put :update, params: { :host_id => proxmox_host.to_param, :id => proxmox_snapshot, :snapshot => data }, session: set_session_user
137
- assert_response :success
138
- body = ActiveSupport::JSON.decode(@response.body)
139
- assert_equal(data, body)
145
+ if defined?(TEST_PROXMOX)
146
+ test 'update successful proxmox' do
147
+ Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
148
+ data = { 'name' => 'snapshot1', 'description' => 'updated snapshot1' }
149
+ put :update, params: { :host_id => proxmox_host.to_param, :id => proxmox_snapshot, :snapshot => data }, session: set_session_user
150
+ assert_response :success
151
+ body = ActiveSupport::JSON.decode(@response.body)
152
+ assert_equal(data, body)
153
+ end
140
154
  end
141
155
 
142
156
  test 'update with error VMware snapshot' do
@@ -145,11 +159,13 @@ module ForemanSnapshotManagement
145
159
  assert_response :unprocessable_entity
146
160
  end
147
161
 
148
- test 'update with error proxmox snapshot' do
149
- Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
150
- ForemanSnapshotManagement::Snapshot.any_instance.stubs(:save).returns(false)
151
- put :update, params: { :host_id => proxmox_host.to_param, :id => proxmox_snapshot, :snapshot => { :name => 'snapshot1', :description => 'fail' } }, session: set_session_user
152
- assert_response :unprocessable_entity
162
+ if defined?(TEST_PROXMOX)
163
+ test 'update with error proxmox snapshot' do
164
+ Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
165
+ ForemanSnapshotManagement::Snapshot.any_instance.stubs(:save).returns(false)
166
+ put :update, params: { :host_id => proxmox_host.to_param, :id => proxmox_snapshot, :snapshot => { :name => 'snapshot1', :description => 'fail' } }, session: set_session_user
167
+ assert_response :unprocessable_entity
168
+ end
153
169
  end
154
170
  end
155
171
  end
@@ -1,6 +1,6 @@
1
1
  import { API, actionTypeGenerator } from 'foremanReact/redux/API';
2
2
  import { sprintf, translate as __ } from 'foremanReact/common/I18n';
3
- import { addToast } from 'foremanReact/redux/actions/toasts';
3
+ import { addToast } from 'foremanReact/components/ToastsList';
4
4
 
5
5
  import {
6
6
  SNAPSHOT_LIST,
@@ -62,13 +62,13 @@ Array [
62
62
  Object {
63
63
  "payload": Object {
64
64
  "key": "FOREMAN_SNAPSHOT_MANAGEMENT_SNAPSHOT_DELETE_SUCCESS",
65
- "message": Object {
65
+ "toast": Object {
66
66
  "key": "FOREMAN_SNAPSHOT_MANAGEMENT_SNAPSHOT_DELETE_SUCCESS",
67
67
  "message": "Successfully removed Snapshot \\"Savegame\\" from host deep.thought",
68
68
  "type": "success",
69
69
  },
70
70
  },
71
- "type": "TOASTS_ADD",
71
+ "type": "toasts/addToast",
72
72
  },
73
73
  ],
74
74
  Array [
@@ -108,13 +108,13 @@ Array [
108
108
  Object {
109
109
  "payload": Object {
110
110
  "key": "FOREMAN_SNAPSHOT_MANAGEMENT_SNAPSHOT_DELETE_FAILURE",
111
- "message": Object {
111
+ "toast": Object {
112
112
  "key": "FOREMAN_SNAPSHOT_MANAGEMENT_SNAPSHOT_DELETE_FAILURE",
113
113
  "message": "Error occurred while removing Snapshot: Error: some-error",
114
114
  "type": "error",
115
115
  },
116
116
  },
117
- "type": "TOASTS_ADD",
117
+ "type": "toasts/addToast",
118
118
  },
119
119
  ],
120
120
  Array [
@@ -151,13 +151,13 @@ Array [
151
151
  Object {
152
152
  "payload": Object {
153
153
  "key": "FOREMAN_SNAPSHOT_MANAGEMENT_SNAPSHOT_ROLLBACK_FAILURE",
154
- "message": Object {
154
+ "toast": Object {
155
155
  "key": "FOREMAN_SNAPSHOT_MANAGEMENT_SNAPSHOT_ROLLBACK_FAILURE",
156
156
  "message": "Error occurred while rolling back VM: Error: some-error",
157
157
  "type": "error",
158
158
  },
159
159
  },
160
- "type": "TOASTS_ADD",
160
+ "type": "toasts/addToast",
161
161
  },
162
162
  ],
163
163
  Array [
@@ -194,13 +194,13 @@ Array [
194
194
  Object {
195
195
  "payload": Object {
196
196
  "key": "FOREMAN_SNAPSHOT_MANAGEMENT_SNAPSHOT_ROLLBACK_SUCCESS",
197
- "message": Object {
197
+ "toast": Object {
198
198
  "key": "FOREMAN_SNAPSHOT_MANAGEMENT_SNAPSHOT_ROLLBACK_SUCCESS",
199
199
  "message": "Successfully rolled back Snapshot \\"Savegame\\" on host deep.thought",
200
200
  "type": "success",
201
201
  },
202
202
  },
203
- "type": "TOASTS_ADD",
203
+ "type": "toasts/addToast",
204
204
  },
205
205
  ],
206
206
  Array [
@@ -241,13 +241,13 @@ Array [
241
241
  Object {
242
242
  "payload": Object {
243
243
  "key": "FOREMAN_SNAPSHOT_MANAGEMENT_SNAPSHOT_UPDATE_FAILURE",
244
- "message": Object {
244
+ "toast": Object {
245
245
  "key": "FOREMAN_SNAPSHOT_MANAGEMENT_SNAPSHOT_UPDATE_FAILURE",
246
246
  "message": "Error occurred while updating Snapshot: Error: some-error",
247
247
  "type": "error",
248
248
  },
249
249
  },
250
- "type": "TOASTS_ADD",
250
+ "type": "toasts/addToast",
251
251
  },
252
252
  ],
253
253
  Array [
@@ -288,13 +288,13 @@ Array [
288
288
  Object {
289
289
  "payload": Object {
290
290
  "key": "FOREMAN_SNAPSHOT_MANAGEMENT_SNAPSHOT_UPDATE_SUCCESS",
291
- "message": Object {
291
+ "toast": Object {
292
292
  "key": "FOREMAN_SNAPSHOT_MANAGEMENT_SNAPSHOT_UPDATE_SUCCESS",
293
293
  "message": "Successfully updated Snapshot \\"Savegame\\"",
294
294
  "type": "success",
295
295
  },
296
296
  },
297
- "type": "TOASTS_ADD",
297
+ "type": "toasts/addToast",
298
298
  },
299
299
  ],
300
300
  Array [
@@ -18,6 +18,7 @@ const SnapshotForm = ({
18
18
  capabilities,
19
19
  ...props
20
20
  }) => {
21
+ const { setModalClosed } = props;
21
22
  let nameValidation = Yup.string().max(80, 'Too Long!');
22
23
  if (capabilities.limitSnapshotNameFormat)
23
24
  nameValidation = nameValidation
@@ -36,7 +37,7 @@ const SnapshotForm = ({
36
37
  includeRam: Yup.bool(),
37
38
  });
38
39
 
39
- const handleSubmit = async (values, actions) => {
40
+ const handleSubmit = (values, actions) => {
40
41
  const submitValues = {
41
42
  include_ram: values.includeRam || false,
42
43
  snapshot: {
@@ -45,22 +46,22 @@ const SnapshotForm = ({
45
46
  },
46
47
  };
47
48
 
48
- await submitForm({
49
+ submitForm({
49
50
  item: 'Snapshot',
50
51
  url: SNAPSHOT_CREATE_URL.replace(':hostId', hostId),
51
52
  values: submitValues,
52
53
  message: __('Snapshot successfully created!'),
54
+ successCallback: setModalClosed,
55
+ actions,
53
56
  });
54
- actions.setSubmitting(false);
55
- props.setModalClosed();
56
57
  };
57
58
 
58
59
  return (
59
60
  <ForemanForm
60
- onSubmit={(values, actions) => handleSubmit(values, actions)}
61
+ onSubmit={handleSubmit}
61
62
  initialValues={initialValues}
62
63
  validationSchema={validationSchema}
63
- onCancel={() => props.setModalClosed()}
64
+ onCancel={setModalClosed}
64
65
  >
65
66
  <TextField
66
67
  name="name"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman_snapshot_management
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - ATIX AG
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-07-15 00:00:00.000000000 Z
11
+ date: 2022-10-07 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Foreman-plugin to manage snapshots in a virtual-hardware environments.
14
14
  email:
@@ -111,12 +111,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
111
111
  - !ruby/object:Gem::Version
112
112
  version: '0'
113
113
  requirements: []
114
- rubygems_version: 3.0.8
114
+ rubyforge_project:
115
+ rubygems_version: 2.7.6
115
116
  signing_key:
116
117
  specification_version: 4
117
118
  summary: Snapshot Management for machines on virtualization-platforms
118
119
  test_files:
119
- - test/controllers/api/v2/snapshots_test.rb
120
- - test/controllers/foreman_snapshot_management/snapshots_controller_test.rb
121
- - test/test_plugin_helper.rb
122
120
  - test/factories/proxmox_factory.rb
121
+ - test/test_plugin_helper.rb
122
+ - test/controllers/foreman_snapshot_management/snapshots_controller_test.rb
123
+ - test/controllers/api/v2/snapshots_test.rb