foreman_snapshot_management 2.0.1 → 2.0.3

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.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/app/controllers/api/v2/snapshots_controller.rb +4 -1
  4. data/app/controllers/concerns/foreman/controller/parameters/snapshot.rb +1 -1
  5. data/app/controllers/foreman_snapshot_management/snapshots_controller.rb +16 -2
  6. data/app/models/foreman_snapshot_management/proxmox_extensions.rb +3 -3
  7. data/app/models/foreman_snapshot_management/snapshot.rb +4 -4
  8. data/app/models/foreman_snapshot_management/vmware_extensions.rb +13 -3
  9. data/app/views/foreman_snapshot_management/snapshots/_index.html.erb +2 -1
  10. data/app/views/foreman_snapshot_management/snapshots/select_multiple_host.html.erb +5 -3
  11. data/lib/foreman_snapshot_management/version.rb +1 -1
  12. data/locale/Makefile +7 -3
  13. data/locale/cs_CZ/LC_MESSAGES/foreman_snapshot_management.mo +0 -0
  14. data/locale/cs_CZ/foreman_snapshot_management.po +195 -0
  15. data/locale/de/LC_MESSAGES/foreman_snapshot_management.mo +0 -0
  16. data/locale/de/foreman_snapshot_management.po +10 -10
  17. data/locale/el/LC_MESSAGES/foreman_snapshot_management.mo +0 -0
  18. data/locale/el/foreman_snapshot_management.po +190 -0
  19. data/locale/en/LC_MESSAGES/foreman_snapshot_management.mo +0 -0
  20. data/locale/en/foreman_snapshot_management.po +22 -13
  21. data/locale/foreman_snapshot_management.pot +56 -35
  22. data/locale/fr/LC_MESSAGES/foreman_snapshot_management.mo +0 -0
  23. data/locale/fr/foreman_snapshot_management.po +196 -0
  24. data/locale/ja/LC_MESSAGES/foreman_snapshot_management.mo +0 -0
  25. data/locale/ja/foreman_snapshot_management.po +189 -0
  26. data/locale/ka/LC_MESSAGES/foreman_snapshot_management.mo +0 -0
  27. data/locale/ka/foreman_snapshot_management.po +190 -0
  28. data/locale/zh_CN/LC_MESSAGES/foreman_snapshot_management.mo +0 -0
  29. data/locale/zh_CN/foreman_snapshot_management.po +191 -0
  30. data/package.json +3 -2
  31. data/test/controllers/api/v2/snapshots_test.rb +113 -89
  32. data/test/controllers/foreman_snapshot_management/snapshots_controller_test.rb +72 -41
  33. data/webpack/components/SnapshotManagement/SnapshotManagement.js +2 -0
  34. data/webpack/components/SnapshotManagement/SnapshotManagementActions.js +1 -1
  35. data/webpack/components/SnapshotManagement/__tests__/__snapshots__/SnapshotManagementActions.test.js.snap +12 -12
  36. data/webpack/components/SnapshotManagement/components/SnapshotForm/SnapshotForm.js +60 -17
  37. data/webpack/components/SnapshotManagement/components/SnapshotForm/__tests__/__snapshots__/SnapshotForm.test.js.snap +262 -24
  38. data/webpack/components/SnapshotManagementCard/SnapshotManagementCard.js +61 -0
  39. data/webpack/components/SnapshotManagementCard/__tests__/SnapshotManagementCard.test.js +53 -0
  40. data/webpack/components/SnapshotManagementCard/__tests__/__snapshots__/SnapshotManagementCard.test.js.snap +132 -0
  41. data/webpack/components/SnapshotManagementCard/index.js +1 -0
  42. data/webpack/global_index.js +13 -0
  43. metadata +21 -5
@@ -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
@@ -11,17 +11,21 @@ module ForemanSnapshotManagement
11
11
  ComputeResource.find_by(id: cr.id)
12
12
  end
13
13
  let(:uuid) { '5032c8a5-9c5e-ba7a-3804-832a03e16381' }
14
- let(:uuid2) { 'a7169e20-74d3-4367-afc2-d355716e7555' }
14
+ let(:uuid2) { '502916a3-b42e-17c7-43ce-b3206e9524dc' }
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,15 +55,32 @@ 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
65
+ end
66
+
67
+ test 'create valid multiple with memory' do
68
+ post :create_multiple_host, params: { :host_ids => [host.id, host2.id], :snapshot => { :name => 'test', :snapshot_mode => 'memory' } }, session: set_session_user
69
+ puts @response
70
+ assert_redirected_to hosts_url
71
+ assert_includes flash[:notice] || flash[:success], 'Created Snapshots for 2 hosts'
57
72
  end
58
73
 
59
- test 'create valid multiple' do
74
+ test 'create valid multiple with quiesce' do
75
+ post :create_multiple_host, params: { :host_ids => [host.id], :snapshot => { :name => 'test', :snapshot_mode => 'quiesce' } }, session: set_session_user
76
+ puts @response
77
+ assert_redirected_to hosts_url
78
+ assert_includes flash[:notice] || flash[:success], 'Created Snapshot for 1 host'
79
+ end
80
+
81
+ test 'create valid multiple without specific mode' do
60
82
  post :create_multiple_host, params: { :host_ids => [host.id, host2.id], :snapshot => { :name => 'test' } }, session: set_session_user
83
+ puts @response
61
84
  assert_redirected_to hosts_url
62
85
  assert_includes flash[:notice] || flash[:success], 'Created Snapshots for 2 hosts'
63
86
  end
@@ -84,11 +107,13 @@ module ForemanSnapshotManagement
84
107
  assert_includes flash[:notice] || flash[:success], 'Successfully deleted Snapshot.'
85
108
  end
86
109
 
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.'
110
+ if defined?(TEST_PROXMOX)
111
+ test 'destroy successful' do
112
+ Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
113
+ delete :destroy, params: { :host_id => proxmox_host.to_param, :id => proxmox_snapshot }, session: set_session_user
114
+ assert_redirected_to host_url(proxmox_host, :anchor => 'snapshots')
115
+ assert_includes flash[:notice] || flash[:success], 'Successfully deleted Snapshot.'
116
+ end
92
117
  end
93
118
 
94
119
  test 'destroy with error' do
@@ -106,11 +131,13 @@ module ForemanSnapshotManagement
106
131
  assert_includes flash[:notice] || flash[:success], 'VM successfully rolled back.'
107
132
  end
108
133
 
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.'
134
+ if defined?(TEST_PROXMOX)
135
+ test 'revert successful proxmox snapshot' do
136
+ Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
137
+ put :revert, params: { :host_id => proxmox_host.to_param, :id => proxmox_snapshot }, session: set_session_user
138
+ assert_redirected_to host_url(proxmox_host, :anchor => 'snapshots')
139
+ assert_includes flash[:notice] || flash[:success], 'VM successfully rolled back.'
140
+ end
114
141
  end
115
142
 
116
143
  test 'revert with error' do
@@ -130,13 +157,15 @@ module ForemanSnapshotManagement
130
157
  assert_equal(data, body)
131
158
  end
132
159
 
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)
160
+ if defined?(TEST_PROXMOX)
161
+ test 'update successful proxmox' do
162
+ Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
163
+ data = { 'name' => 'snapshot1', 'description' => 'updated snapshot1' }
164
+ put :update, params: { :host_id => proxmox_host.to_param, :id => proxmox_snapshot, :snapshot => data }, session: set_session_user
165
+ assert_response :success
166
+ body = ActiveSupport::JSON.decode(@response.body)
167
+ assert_equal(data, body)
168
+ end
140
169
  end
141
170
 
142
171
  test 'update with error VMware snapshot' do
@@ -145,11 +174,13 @@ module ForemanSnapshotManagement
145
174
  assert_response :unprocessable_entity
146
175
  end
147
176
 
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
177
+ if defined?(TEST_PROXMOX)
178
+ test 'update with error proxmox snapshot' do
179
+ Host::Managed.any_instance.stubs(:vm_exists?).returns(false)
180
+ ForemanSnapshotManagement::Snapshot.any_instance.stubs(:save).returns(false)
181
+ put :update, params: { :host_id => proxmox_host.to_param, :id => proxmox_snapshot, :snapshot => { :name => 'snapshot1', :description => 'fail' } }, session: set_session_user
182
+ assert_response :unprocessable_entity
183
+ end
153
184
  end
154
185
  end
155
186
  end
@@ -67,6 +67,7 @@ SnapshotManagement.propTypes = {
67
67
  capabilities: PropTypes.shape({
68
68
  editSnapshotName: PropTypes.bool,
69
69
  limitSnapshotNameFormat: PropTypes.bool,
70
+ quiesceOption: PropTypes.bool,
70
71
  }),
71
72
  };
72
73
 
@@ -78,6 +79,7 @@ SnapshotManagement.defaultProps = {
78
79
  capabilities: {
79
80
  editSnapshotName: true,
80
81
  limitSnapshotNameFormat: false,
82
+ quiesceOption: false,
81
83
  },
82
84
  };
83
85
 
@@ -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 [