fog-azure-rm-temp 0.0.3 → 0.0.4
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 +4 -4
- data/CHANGELOG.md +0 -5
- data/fog-azure-rm.gemspec +1 -1
- data/lib/fog/azurerm/compute.rb +2 -0
- data/lib/fog/azurerm/docs/storage.md +66 -0
- data/lib/fog/azurerm/models/compute/creation_data.rb +4 -2
- data/lib/fog/azurerm/models/compute/data_disk.rb +26 -0
- data/lib/fog/azurerm/models/compute/managed_disk.rb +5 -4
- data/lib/fog/azurerm/models/compute/server.rb +24 -3
- data/lib/fog/azurerm/models/storage/recovery_vault.rb +50 -0
- data/lib/fog/azurerm/models/storage/recovery_vaults.rb +27 -0
- data/lib/fog/azurerm/requests/compute/attach_data_disk_to_vm.rb +49 -13
- data/lib/fog/azurerm/requests/compute/detach_data_disk_from_vm.rb +1 -2
- data/lib/fog/azurerm/requests/storage/create_or_update_recovery_vault.rb +54 -0
- data/lib/fog/azurerm/requests/storage/delete_recovery_vault.rb +35 -0
- data/lib/fog/azurerm/requests/storage/disable_backup_protection.rb +60 -0
- data/lib/fog/azurerm/requests/storage/enable_backup_protection.rb +61 -0
- data/lib/fog/azurerm/requests/storage/get_all_backup_jobs.rb +56 -0
- data/lib/fog/azurerm/requests/storage/get_backup_container.rb +53 -0
- data/lib/fog/azurerm/requests/storage/get_backup_item.rb +58 -0
- data/lib/fog/azurerm/requests/storage/get_backup_job_for_vm.rb +53 -0
- data/lib/fog/azurerm/requests/storage/get_backup_protection_policy.rb +64 -0
- data/lib/fog/azurerm/requests/storage/get_recovery_vault.rb +49 -0
- data/lib/fog/azurerm/requests/storage/list_recovery_vaults.rb +48 -0
- data/lib/fog/azurerm/requests/storage/set_recovery_vault_context.rb +36 -0
- data/lib/fog/azurerm/requests/storage/start_backup.rb +54 -0
- data/lib/fog/azurerm/storage.rb +18 -1
- data/lib/fog/azurerm/version.rb +1 -1
- data/test/api_stub.rb +2 -0
- data/test/api_stub/models/compute/server.rb +62 -0
- data/test/api_stub/models/storage/recovery_vault.rb +23 -0
- data/test/api_stub/requests/compute/virtual_machine.rb +77 -0
- data/test/api_stub/requests/storage/recovery_vault.rb +189 -0
- data/test/models/{storage → compute}/test_data_disk.rb +2 -2
- data/test/models/compute/test_server.rb +27 -1
- data/test/models/storage/test_recovery_vault.rb +61 -0
- data/test/models/storage/test_recovery_vaults.rb +47 -0
- data/test/requests/compute/test_attach_data_disk_to_vm.rb +21 -6
- data/test/requests/storage/test_create_recovery_vault.rb +35 -0
- data/test/requests/storage/test_delete_recovery_vault.rb +34 -0
- data/test/requests/storage/test_disable_backup_protection.rb +52 -0
- data/test/requests/storage/test_enable_backup_protection.rb +66 -0
- data/test/requests/storage/test_get_all_backup_jobs.rb +35 -0
- data/test/requests/storage/test_get_backup_container.rb +35 -0
- data/test/requests/storage/test_get_backup_item.rb +35 -0
- data/test/requests/storage/test_get_backup_job_for_vm.rb +26 -0
- data/test/requests/storage/test_get_backup_protection_policy.rb +35 -0
- data/test/requests/storage/test_get_recovery_vault.rb +35 -0
- data/test/requests/storage/test_list_recovery_vault.rb +35 -0
- data/test/requests/storage/test_set_recovery_vault_context.rb +34 -0
- data/test/requests/storage/test_start_backup.rb +55 -0
- data/test/test_helper.rb +14 -0
- metadata +38 -13
- data/.arclint +0 -8
- data/lib/fog/azurerm/models/storage/data_disk.rb +0 -27
@@ -3,8 +3,8 @@ require File.expand_path '../../test_helper', __dir__
|
|
3
3
|
# Test class for Data Disk Model
|
4
4
|
class TestDataDisk < Minitest::Test
|
5
5
|
def setup
|
6
|
-
@service = Fog::
|
7
|
-
@data_disk = Fog::
|
6
|
+
@service = Fog::Compute::AzureRM.new(credentials)
|
7
|
+
@data_disk = Fog::Compute::AzureRM::DataDisk.new
|
8
8
|
end
|
9
9
|
|
10
10
|
def test_model_attributes
|
@@ -20,7 +20,9 @@ class TestServer < Minitest::Test
|
|
20
20
|
:redeploy,
|
21
21
|
:list_available_sizes,
|
22
22
|
:attach_data_disk,
|
23
|
-
:detach_data_disk
|
23
|
+
:detach_data_disk,
|
24
|
+
:attach_managed_disk,
|
25
|
+
:detach_managed_disk
|
24
26
|
]
|
25
27
|
methods.each do |method|
|
26
28
|
assert_respond_to @server, method
|
@@ -198,4 +200,28 @@ class TestServer < Minitest::Test
|
|
198
200
|
assert_instance_of Fog::AzureRM::AsyncResponse, @server.detach_data_disk('disk1', true)
|
199
201
|
end
|
200
202
|
end
|
203
|
+
|
204
|
+
def test_attach_managed_disk_response
|
205
|
+
response = ApiStub::Models::Compute::Server.attach_managed_disk_response(@compute_client)
|
206
|
+
@service.stub :attach_data_disk_to_vm, response do
|
207
|
+
assert_instance_of Fog::Compute::AzureRM::Server, @server.attach_managed_disk('disk_name', 'resoure_group')
|
208
|
+
end
|
209
|
+
|
210
|
+
async_response = Concurrent::Promise.execute { 10 }
|
211
|
+
@service.stub :attach_data_disk_to_vm, async_response do
|
212
|
+
assert_instance_of Fog::AzureRM::AsyncResponse, @server.attach_managed_disk('managed_disk_name', 'resoure_group', true)
|
213
|
+
end
|
214
|
+
end
|
215
|
+
|
216
|
+
def test_detach_managed_disk_response
|
217
|
+
response = ApiStub::Models::Compute::Server.create_linux_virtual_machine_response(@compute_client)
|
218
|
+
@service.stub :detach_data_disk_from_vm, response do
|
219
|
+
assert_instance_of Fog::Compute::AzureRM::Server, @server.detach_managed_disk('managed_disk_name')
|
220
|
+
end
|
221
|
+
|
222
|
+
async_response = Concurrent::Promise.execute { 10 }
|
223
|
+
@service.stub :detach_data_disk_from_vm, async_response do
|
224
|
+
assert_instance_of Fog::AzureRM::AsyncResponse, @server.detach_managed_disk('managed_disk_name', true)
|
225
|
+
end
|
226
|
+
end
|
201
227
|
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
require File.expand_path '../../test_helper', __dir__
|
2
|
+
|
3
|
+
# Test class for Recovery Vault model
|
4
|
+
class TestRecoveryVault < Minitest::Test
|
5
|
+
def setup
|
6
|
+
@service = Fog::Storage::AzureRM.new(credentials)
|
7
|
+
@recovery_vault = recovery_vault(@service)
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_model_methods
|
11
|
+
methods = [
|
12
|
+
:save,
|
13
|
+
:enable_backup_protection,
|
14
|
+
:disable_backup_protection,
|
15
|
+
:start_backup,
|
16
|
+
:destroy
|
17
|
+
]
|
18
|
+
methods.each do |method|
|
19
|
+
assert_respond_to @recovery_vault, method
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_model_attributes
|
24
|
+
attributes = [
|
25
|
+
:id,
|
26
|
+
:name,
|
27
|
+
:resource_group,
|
28
|
+
:location,
|
29
|
+
:type,
|
30
|
+
:sku_name
|
31
|
+
]
|
32
|
+
attributes.each do |attribute|
|
33
|
+
assert_respond_to @recovery_vault, attribute
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_save_method_response
|
38
|
+
create_response = ApiStub::Models::Storage::RecoveryVault.create_method_response
|
39
|
+
@service.stub :create_or_update_recovery_vault, create_response do
|
40
|
+
assert_instance_of Fog::Storage::AzureRM::RecoveryVault, @recovery_vault.save
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def test_enable_backup_protection_method_response
|
45
|
+
@service.stub :enable_backup_protection, true do
|
46
|
+
assert @recovery_vault.enable_backup_protection('test-vm', 'test-vm-rg')
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
def test_disable_backup_protection_method_response
|
51
|
+
@service.stub :disable_backup_protection, true do
|
52
|
+
assert @recovery_vault.disable_backup_protection('test-vm', 'test-vm-rg')
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
def test_destroy_method_response
|
57
|
+
@service.stub :delete_recovery_vault, true do
|
58
|
+
assert @recovery_vault.destroy
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
require File.expand_path '../../test_helper', __dir__
|
2
|
+
|
3
|
+
# Test Class for RecoveryVault Collections
|
4
|
+
class TestRecoveryVaults < Minitest::Test
|
5
|
+
def setup
|
6
|
+
@service = Fog::Storage::AzureRM.new(credentials)
|
7
|
+
@recovery_vaults = Fog::Storage::AzureRM::RecoveryVaults.new(resource_group: 'fog-test-rg', service: @service)
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_collection_methods
|
11
|
+
methods = [
|
12
|
+
:all,
|
13
|
+
:get
|
14
|
+
]
|
15
|
+
methods.each do |method|
|
16
|
+
assert_respond_to @recovery_vaults, method
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_collection_attributes
|
21
|
+
attributes = [
|
22
|
+
:resource_group,
|
23
|
+
:name
|
24
|
+
]
|
25
|
+
attributes.each do |attribute|
|
26
|
+
assert_respond_to @recovery_vaults, attribute
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_all_method_response
|
31
|
+
response = [ApiStub::Models::Storage::RecoveryVault.create_method_response]
|
32
|
+
@service.stub :list_recovery_vaults, response do
|
33
|
+
assert_instance_of Fog::Storage::AzureRM::RecoveryVaults, @recovery_vaults.all
|
34
|
+
assert @recovery_vaults.all.size >= 1
|
35
|
+
@recovery_vaults.all.each do |recovery_vault|
|
36
|
+
assert_instance_of Fog::Storage::AzureRM::RecoveryVault, recovery_vault
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def test_get_method_response
|
42
|
+
response = ApiStub::Models::Storage::RecoveryVault.create_method_response
|
43
|
+
@service.stub :get_recovery_vault, response do
|
44
|
+
assert_instance_of Fog::Storage::AzureRM::RecoveryVault, @recovery_vaults.get('fog-test-rg', 'fog-test-vault')
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -11,6 +11,10 @@ class TestAttachDataDiskToVM < Minitest::Test
|
|
11
11
|
@get_vm_response = ApiStub::Requests::Compute::VirtualMachine.create_virtual_machine_response(@compute_client)
|
12
12
|
@update_vm_response = ApiStub::Requests::Compute::VirtualMachine.update_virtual_machine_response(@compute_client)
|
13
13
|
@storage_access_keys_response = ApiStub::Requests::Storage::StorageAccount.list_keys_response
|
14
|
+
@disks = @compute_client.disks
|
15
|
+
@get_managed_disk_response = ApiStub::Requests::Compute::VirtualMachine.get_managed_disk_response(@compute_client)
|
16
|
+
@get_vm_managed_disk_response = ApiStub::Requests::Compute::VirtualMachine.get_vm_with_managed_disk_response(@compute_client)
|
17
|
+
@input_params = {vm_name: "fog-test-vm", vm_resource_group: "fog-test-rg", disk_name: "disk1", disk_size_gb: 1, storage_account_name: "mystorage1"}
|
14
18
|
end
|
15
19
|
|
16
20
|
def test_attach_data_disk_to_vm_success
|
@@ -20,7 +24,7 @@ class TestAttachDataDiskToVM < Minitest::Test
|
|
20
24
|
@virtual_machines.stub :get, @get_vm_response do
|
21
25
|
@storage_accounts.stub :list_keys, @storage_access_keys_response do
|
22
26
|
@virtual_machines.stub :create_or_update, @update_vm_response do
|
23
|
-
assert_equal @service.attach_data_disk_to_vm(
|
27
|
+
assert_equal @service.attach_data_disk_to_vm(@input_params, false), @update_vm_response
|
24
28
|
blob_service.verify
|
25
29
|
end
|
26
30
|
end
|
@@ -29,13 +33,24 @@ class TestAttachDataDiskToVM < Minitest::Test
|
|
29
33
|
end
|
30
34
|
end
|
31
35
|
|
36
|
+
def test_attach_managed_disk_to_vm_success
|
37
|
+
@virtual_machines.stub :get, @get_vm_response do
|
38
|
+
@disks.stub :get, @get_managed_disk_response do
|
39
|
+
@virtual_machines.stub :create_or_update, @get_vm_managed_disk_response do
|
40
|
+
input_params = {vm_name: "ManagedVM", vm_resource_group: "ManagedRG", disk_name: "ManagedDataDisk1", disk_size_gb: 100, disk_resource_group: "ManagedRG"}
|
41
|
+
assert_equal @service.attach_data_disk_to_vm(input_params, false), @get_vm_managed_disk_response
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
32
47
|
def test_attach_data_disk_to_vm_failure
|
33
48
|
get_vm_response = ApiStub::Requests::Compute::VirtualMachine.virtual_machine_15_data_disks_response(@compute_client)
|
34
49
|
@virtual_machines.stub :get, get_vm_response do
|
35
50
|
@storage_accounts.stub :list_keys, @storage_access_keys_response do
|
36
51
|
@virtual_machines.stub :create_or_update, @update_vm_response do
|
37
52
|
assert_raises RuntimeError do
|
38
|
-
@service.attach_data_disk_to_vm(
|
53
|
+
@service.attach_data_disk_to_vm(@input_params, false)
|
39
54
|
end
|
40
55
|
end
|
41
56
|
end
|
@@ -48,7 +63,7 @@ class TestAttachDataDiskToVM < Minitest::Test
|
|
48
63
|
@storage_accounts.stub :list_keys, @storage_access_keys_response do
|
49
64
|
@virtual_machines.stub :create_or_update, update_vm_response do
|
50
65
|
assert_raises RuntimeError do
|
51
|
-
@service.attach_data_disk_to_vm(
|
66
|
+
@service.attach_data_disk_to_vm(@input_params, false)
|
52
67
|
end
|
53
68
|
end
|
54
69
|
end
|
@@ -61,7 +76,7 @@ class TestAttachDataDiskToVM < Minitest::Test
|
|
61
76
|
@storage_accounts.stub :list_keys, @storage_access_keys_response do
|
62
77
|
@virtual_machines.stub :create_or_update, update_vm_response do
|
63
78
|
assert_raises RuntimeError do
|
64
|
-
@service.attach_data_disk_to_vm(
|
79
|
+
@service.attach_data_disk_to_vm(@input_params, false)
|
65
80
|
end
|
66
81
|
end
|
67
82
|
end
|
@@ -72,7 +87,7 @@ class TestAttachDataDiskToVM < Minitest::Test
|
|
72
87
|
get_vm_response = proc { fail MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
|
73
88
|
@virtual_machines.stub :get, get_vm_response do
|
74
89
|
assert_raises RuntimeError do
|
75
|
-
@service.attach_data_disk_to_vm(
|
90
|
+
@service.attach_data_disk_to_vm(@input_params, false)
|
76
91
|
end
|
77
92
|
end
|
78
93
|
end
|
@@ -82,7 +97,7 @@ class TestAttachDataDiskToVM < Minitest::Test
|
|
82
97
|
@virtual_machines.stub :get, @get_vm_response do
|
83
98
|
@storage_accounts.stub :list_keys, storage_access_keys_response do
|
84
99
|
assert_raises RuntimeError do
|
85
|
-
@service.attach_data_disk_to_vm(
|
100
|
+
@service.attach_data_disk_to_vm(@input_params, false)
|
86
101
|
end
|
87
102
|
end
|
88
103
|
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require File.expand_path '../../test_helper', __dir__
|
2
|
+
|
3
|
+
# Test class for Create Recovery Vault request
|
4
|
+
class TestCreateRecoveryVault < Minitest::Test
|
5
|
+
def setup
|
6
|
+
@service = Fog::Storage::AzureRM.new(credentials)
|
7
|
+
@token_provider = Fog::Credentials::AzureRM.instance_variable_get(:@token_provider)
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_create_recovery_vault_success
|
11
|
+
response = ApiStub::Requests::Storage::RecoveryVault.create_recovery_vault_response
|
12
|
+
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
|
13
|
+
RestClient.stub :put, response do
|
14
|
+
assert_equal @service.create_or_update_recovery_vault('fog-test-rg', 'westus', 'fog-test-vault'), JSON.parse(response)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_create_recovery_vault_argument_error
|
20
|
+
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
|
21
|
+
assert_raises ArgumentError do
|
22
|
+
@service.create_or_update_recovery_vault('fog-test-rg', 'fog-test-vault')
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def test_create_recovery_vault_exception
|
28
|
+
response = -> { fail Exception.new('mocked exception') }
|
29
|
+
@token_provider.stub :get_authentication_header, response do
|
30
|
+
assert_raises Exception do
|
31
|
+
@service.create_or_update_recovery_vault('fog-test-rg', 'westus', 'fog-test-vault')
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require File.expand_path '../../test_helper', __dir__
|
2
|
+
|
3
|
+
# Test class for Delete Recovery Vault request
|
4
|
+
class TestDeleteRecoveryVault < Minitest::Test
|
5
|
+
def setup
|
6
|
+
@service = Fog::Storage::AzureRM.new(credentials)
|
7
|
+
@token_provider = Fog::Credentials::AzureRM.instance_variable_get(:@token_provider)
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_delete_recovery_vault_success
|
11
|
+
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
|
12
|
+
RestClient.stub :delete, true do
|
13
|
+
assert @service.delete_recovery_vault('fog-test-rg', 'fog-test-vault'), true
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_delete_recovery_vault_argument_error
|
19
|
+
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
|
20
|
+
assert_raises ArgumentError do
|
21
|
+
@service.delete_recovery_vault('fog-test-rg')
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_delete_recovery_vault_exception
|
27
|
+
response = -> { fail Exception.new('mocked exception') }
|
28
|
+
@token_provider.stub :get_authentication_header, response do
|
29
|
+
assert_raises Exception do
|
30
|
+
assert @service.delete_recovery_vault('fog-test-rg')
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
require File.expand_path '../../test_helper', __dir__
|
2
|
+
|
3
|
+
# Test class for Disable Backup Protection request
|
4
|
+
class TestDisableBackupProtection < Minitest::Test
|
5
|
+
def setup
|
6
|
+
@service = Fog::Storage::AzureRM.new(credentials)
|
7
|
+
@token_provider = Fog::Credentials::AzureRM.instance_variable_get(:@token_provider)
|
8
|
+
|
9
|
+
@compute_service = Fog::Compute::AzureRM.new(credentials)
|
10
|
+
@compute_client = @compute_service.instance_variable_get(:@compute_mgmt_client)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_disable_backup_protection_success
|
14
|
+
response = ApiStub::Requests::Compute::VirtualMachine.virtual_machine_response(@compute_client)
|
15
|
+
@service.stub :set_recovery_vault_context, true do
|
16
|
+
@service.stub :get_virtual_machine_id, response.id do
|
17
|
+
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
|
18
|
+
RestClient.stub :put, true do
|
19
|
+
assert_equal @service.disable_backup_protection('fog-test-vault', 'fog-test-rg', 'fog-test-vm', 'fog-test-vm-rg'), true
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_disable_backup_protection_argument_error
|
27
|
+
response = ApiStub::Requests::Compute::VirtualMachine.virtual_machine_response(@compute_client)
|
28
|
+
@service.stub :set_recovery_vault_context, true do
|
29
|
+
@service.stub :get_virtual_machine_id, response.id do
|
30
|
+
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
|
31
|
+
assert_raises ArgumentError do
|
32
|
+
@service.disable_backup_protection('fog-test-vault', 'fog-test-rg')
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_disable_backup_protection_exception
|
40
|
+
response = ApiStub::Requests::Compute::VirtualMachine.virtual_machine_response(@compute_client)
|
41
|
+
rest_client_response = -> { fail RestClient::Exception.new("'body': {'error': {'code': 'ResourceNotFound', 'message': 'mocked exception message'}}") }
|
42
|
+
@service.stub :set_recovery_vault_context, true do
|
43
|
+
@service.stub :get_virtual_machine_id, response.id do
|
44
|
+
@token_provider.stub :get_authentication_header, rest_client_response do
|
45
|
+
assert_raises Exception do
|
46
|
+
@service.disable_backup_protection('fog-test-vault', 'fog-test-rg', 'fog-test-vm', 'fog-test-vm-rg')
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
require File.expand_path '../../test_helper', __dir__
|
2
|
+
|
3
|
+
# Test class for Enable Backup Protection request
|
4
|
+
class TestEnableBackupProtection < Minitest::Test
|
5
|
+
def setup
|
6
|
+
@service = Fog::Storage::AzureRM.new(credentials)
|
7
|
+
@token_provider = Fog::Credentials::AzureRM.instance_variable_get(:@token_provider)
|
8
|
+
|
9
|
+
@compute_service = Fog::Compute::AzureRM.new(credentials)
|
10
|
+
@compute_client = @compute_service.instance_variable_get(:@compute_mgmt_client)
|
11
|
+
|
12
|
+
@response = ApiStub::Requests::Compute::VirtualMachine.virtual_machine_response(@compute_client)
|
13
|
+
@policy_response = ApiStub::Requests::Storage::RecoveryVault.get_backup_protection_policy_response
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_enable_backup_protection_success
|
17
|
+
@service.stub :set_recovery_vault_context, true do
|
18
|
+
@service.stub :get_backup_protection_policy, JSON.parse(@policy_response)['value'] do
|
19
|
+
@service.stub :get_virtual_machine_id, @response.id do
|
20
|
+
@service.stub :get_backup_job_for_vm, nil do
|
21
|
+
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
|
22
|
+
RestClient.stub :put, true do
|
23
|
+
assert_equal @service.enable_backup_protection('fog-test-vault', 'fog-test-rg', 'fog-test-vm', 'fog-test-vm-rg'), true
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_enable_backup_protection_argument_error
|
33
|
+
@service.stub :set_recovery_vault_context, true do
|
34
|
+
@service.stub :get_backup_protection_policy, JSON.parse(@policy_response)['value'] do
|
35
|
+
@service.stub :get_virtual_machine_id, @response.id do
|
36
|
+
@service.stub :get_backup_job_for_vm, nil do
|
37
|
+
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
|
38
|
+
assert_raises ArgumentError do
|
39
|
+
@service.enable_backup_protection('fog-test-vault', 'fog-test-rg')
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
def test_enable_backup_protection_exception
|
49
|
+
response = ApiStub::Requests::Compute::VirtualMachine.virtual_machine_response(@compute_client)
|
50
|
+
policy_response = ApiStub::Requests::Storage::RecoveryVault.get_backup_protection_policy_response
|
51
|
+
rest_client_response = -> { fail RestClient::Exception.new("'body': {'error': {'code': 'ResourceNotFound', 'message': 'mocked exception message'}}") }
|
52
|
+
@service.stub :set_recovery_vault_context, true do
|
53
|
+
@service.stub :get_backup_protection_policy, JSON.parse(policy_response)['value'] do
|
54
|
+
@service.stub :get_virtual_machine_id, response.id do
|
55
|
+
@service.stub :get_backup_job_for_vm, nil do
|
56
|
+
@token_provider.stub :get_authentication_header, rest_client_response do
|
57
|
+
assert_raises Exception do
|
58
|
+
@service.enable_backup_protection('fog-test-vault', 'fog-test-rg', 'fog-test-vm', 'fog-test-vm-rg')
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require File.expand_path '../../test_helper', __dir__
|
2
|
+
|
3
|
+
# Test class for Get All Backup Jobs request
|
4
|
+
class TestGetAllBackupJobs < Minitest::Test
|
5
|
+
def setup
|
6
|
+
@service = Fog::Storage::AzureRM.new(credentials)
|
7
|
+
@token_provider = Fog::Credentials::AzureRM.instance_variable_get(:@token_provider)
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_get_all_backup_jobs_success
|
11
|
+
response = ApiStub::Requests::Storage::RecoveryVault.get_all_backup_jobs_response
|
12
|
+
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
|
13
|
+
RestClient.stub :get, response do
|
14
|
+
assert_equal @service.get_all_backup_jobs('fog-test-vault', 'fog-test-rg'), JSON.parse(response)['value']
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_get_all_backup_jobs_argument_error
|
20
|
+
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
|
21
|
+
assert_raises ArgumentError do
|
22
|
+
@service.get_all_backup_jobs('fog-test-vault')
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def test_get_all_backup_jobs_exception
|
28
|
+
response = -> { fail Exception.new('mocked exception') }
|
29
|
+
@token_provider.stub :get_authentication_header, response do
|
30
|
+
assert_raises Exception do
|
31
|
+
@service.get_all_backup_jobs('fog-test-vault', 'fog-test-rg')
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|