fog-azure-rm 0.0.9 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (112) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +2 -0
  3. data/CHANGELOG.md +9 -0
  4. data/lib/fog/azurerm/docs/compute.md +1 -1
  5. data/lib/fog/azurerm/docs/sql.md +39 -0
  6. data/lib/fog/azurerm/docs/storage.md +89 -2
  7. data/lib/fog/azurerm/models/application_gateway/gateways.rb +4 -7
  8. data/lib/fog/azurerm/models/compute/availability_sets.rb +4 -6
  9. data/lib/fog/azurerm/models/compute/servers.rb +5 -8
  10. data/lib/fog/azurerm/models/compute/virtual_machine_extensions.rb +0 -3
  11. data/lib/fog/azurerm/models/dns/record_sets.rb +5 -9
  12. data/lib/fog/azurerm/models/dns/zones.rb +4 -7
  13. data/lib/fog/azurerm/models/network/express_route_circuit_authorizations.rb +0 -3
  14. data/lib/fog/azurerm/models/network/express_route_circuit_peerings.rb +5 -9
  15. data/lib/fog/azurerm/models/network/express_route_circuits.rb +4 -7
  16. data/lib/fog/azurerm/models/network/express_route_service_providers.rb +2 -5
  17. data/lib/fog/azurerm/models/network/load_balancers.rb +4 -7
  18. data/lib/fog/azurerm/models/network/local_network_gateways.rb +0 -3
  19. data/lib/fog/azurerm/models/network/network_interfaces.rb +4 -7
  20. data/lib/fog/azurerm/models/network/network_security_groups.rb +4 -7
  21. data/lib/fog/azurerm/models/network/network_security_rules.rb +2 -6
  22. data/lib/fog/azurerm/models/network/public_ips.rb +4 -7
  23. data/lib/fog/azurerm/models/network/subnets.rb +5 -9
  24. data/lib/fog/azurerm/models/network/virtual_network_gateway_connections.rb +0 -3
  25. data/lib/fog/azurerm/models/network/virtual_network_gateways.rb +4 -7
  26. data/lib/fog/azurerm/models/network/virtual_networks.rb +4 -7
  27. data/lib/fog/azurerm/models/resources/azure_resources.rb +2 -5
  28. data/lib/fog/azurerm/models/resources/deployments.rb +4 -7
  29. data/lib/fog/azurerm/models/resources/resource_groups.rb +4 -7
  30. data/lib/fog/azurerm/models/sql/firewall_rule.rb +52 -0
  31. data/lib/fog/azurerm/models/sql/firewall_rules.rb +28 -0
  32. data/lib/fog/azurerm/models/storage/data_disk.rb +1 -0
  33. data/lib/fog/azurerm/models/storage/directories.rb +1 -4
  34. data/lib/fog/azurerm/models/storage/files.rb +1 -4
  35. data/lib/fog/azurerm/models/storage/recovery_vault.rb +50 -0
  36. data/lib/fog/azurerm/models/storage/recovery_vaults.rb +27 -0
  37. data/lib/fog/azurerm/models/storage/storage_account.rb +23 -4
  38. data/lib/fog/azurerm/models/storage/storage_accounts.rb +5 -7
  39. data/lib/fog/azurerm/requests/sql/create_or_update_database.rb +4 -4
  40. data/lib/fog/azurerm/requests/sql/create_or_update_firewall_rule.rb +56 -0
  41. data/lib/fog/azurerm/requests/sql/create_or_update_sql_server.rb +4 -5
  42. data/lib/fog/azurerm/requests/sql/delete_database.rb +4 -4
  43. data/lib/fog/azurerm/requests/sql/delete_firewall_rule.rb +36 -0
  44. data/lib/fog/azurerm/requests/sql/delete_sql_server.rb +2 -2
  45. data/lib/fog/azurerm/requests/sql/get_database.rb +2 -2
  46. data/lib/fog/azurerm/requests/sql/get_firewall_rule.rb +43 -0
  47. data/lib/fog/azurerm/requests/sql/get_sql_server.rb +2 -2
  48. data/lib/fog/azurerm/requests/sql/list_databases.rb +2 -2
  49. data/lib/fog/azurerm/requests/sql/list_firewall_rules.rb +55 -0
  50. data/lib/fog/azurerm/requests/sql/list_sql_servers.rb +2 -2
  51. data/lib/fog/azurerm/requests/storage/create_disk.rb +36 -0
  52. data/lib/fog/azurerm/requests/storage/create_or_update_recovery_vault.rb +54 -0
  53. data/lib/fog/azurerm/requests/storage/create_storage_account.rb +13 -2
  54. data/lib/fog/azurerm/requests/storage/delete_disk.rb +5 -9
  55. data/lib/fog/azurerm/requests/storage/delete_recovery_vault.rb +35 -0
  56. data/lib/fog/azurerm/requests/storage/disable_backup_protection.rb +60 -0
  57. data/lib/fog/azurerm/requests/storage/enable_backup_protection.rb +61 -0
  58. data/lib/fog/azurerm/requests/storage/get_all_backup_jobs.rb +56 -0
  59. data/lib/fog/azurerm/requests/storage/get_backup_container.rb +53 -0
  60. data/lib/fog/azurerm/requests/storage/get_backup_item.rb +58 -0
  61. data/lib/fog/azurerm/requests/storage/get_backup_job_for_vm.rb +53 -0
  62. data/lib/fog/azurerm/requests/storage/get_backup_protection_policy.rb +64 -0
  63. data/lib/fog/azurerm/requests/storage/get_recovery_vault.rb +49 -0
  64. data/lib/fog/azurerm/requests/storage/list_recovery_vaults.rb +48 -0
  65. data/lib/fog/azurerm/requests/storage/set_recovery_vault_context.rb +36 -0
  66. data/lib/fog/azurerm/requests/storage/start_backup.rb +54 -0
  67. data/lib/fog/azurerm/requests/storage/update_storage_account.rb +59 -0
  68. data/lib/fog/azurerm/sql.rb +9 -0
  69. data/lib/fog/azurerm/storage.rb +24 -0
  70. data/lib/fog/azurerm/version.rb +1 -1
  71. data/rake-script.sh +8 -0
  72. data/rakefile +11 -3
  73. data/test/api_stub.rb +4 -0
  74. data/test/api_stub/models/sql/sql_firewall_rule.rb +22 -0
  75. data/test/api_stub/models/storage/recovery_vault.rb +23 -0
  76. data/test/api_stub/requests/sql/firewall_rule.rb +46 -0
  77. data/test/api_stub/requests/storage/recovery_vault.rb +189 -0
  78. data/test/api_stub/requests/storage/storageaccount.rb +2 -1
  79. data/test/integration/container.rb +4 -3
  80. data/test/integration/data_disk.rb +77 -0
  81. data/test/integration/express_route_circuit.rb +9 -9
  82. data/test/integration/server.rb +9 -2
  83. data/test/integration/sql_server.rb +35 -0
  84. data/test/integration/storage_account.rb +9 -1
  85. data/test/models/sql/test_firewall_rule.rb +54 -0
  86. data/test/models/sql/test_firewall_rules.rb +41 -0
  87. data/test/models/storage/test_recovery_vault.rb +61 -0
  88. data/test/models/storage/test_recovery_vaults.rb +47 -0
  89. data/test/models/storage/test_storage_account.rb +8 -1
  90. data/test/requests/sql/test_create_or_update_firewall_rule.rb +27 -0
  91. data/test/requests/sql/test_delete_firewall_rule.rb +34 -0
  92. data/test/requests/sql/test_get_firewall_rule.rb +35 -0
  93. data/test/requests/sql/test_list_firewall_rules.rb +35 -0
  94. data/test/requests/storage/test_create_disk.rb +17 -0
  95. data/test/requests/storage/test_create_recovery_vault.rb +35 -0
  96. data/test/requests/storage/test_delete_disk.rb +23 -0
  97. data/test/requests/storage/test_delete_recovery_vault.rb +34 -0
  98. data/test/requests/storage/test_disable_backup_protection.rb +52 -0
  99. data/test/requests/storage/test_enable_backup_protection.rb +66 -0
  100. data/test/requests/storage/test_get_all_backup_jobs.rb +35 -0
  101. data/test/requests/storage/test_get_backup_container.rb +35 -0
  102. data/test/requests/storage/test_get_backup_item.rb +35 -0
  103. data/test/requests/storage/test_get_backup_job_for_vm.rb +26 -0
  104. data/test/requests/storage/test_get_backup_protection_policy.rb +35 -0
  105. data/test/requests/storage/test_get_recovery_vault.rb +35 -0
  106. data/test/requests/storage/test_list_recovery_vault.rb +35 -0
  107. data/test/requests/storage/test_set_recovery_vault_context.rb +34 -0
  108. data/test/requests/storage/test_start_backup.rb +55 -0
  109. data/test/requests/storage/test_update_storage_account.rb +34 -0
  110. data/test/smoke_tests/compute/test_resource_group_smoke.rb +34 -24
  111. data/test/test_helper.rb +26 -0
  112. metadata +55 -2
@@ -34,7 +34,8 @@ module ApiStub
34
34
  name: 'fog_test_storage_account',
35
35
  sku_name: 'Standard',
36
36
  location: 'West US',
37
- replication: 'LRS'
37
+ replication: 'LRS',
38
+ encryption: true
38
39
  }
39
40
  end
40
41
 
@@ -50,15 +50,16 @@ storage_data = Fog::Storage.new(
50
50
  ###################### Create Container ######################
51
51
  ########################################################################################################################
52
52
 
53
- storage_data.containers.create(
54
- name: 'fogcontainer'
53
+ storage_data.directories.create(
54
+ name: 'fogcontainer',
55
+ key: access_key
55
56
  )
56
57
 
57
58
  ########################################################################################################################
58
59
  ###################### Get Container Properties ######################
59
60
  ########################################################################################################################
60
61
 
61
- container = storage_data.containers.get('fogcontainer')
62
+ container = storage_data.directories.get('fogcontainer')
62
63
  container.get_properties
63
64
 
64
65
  ########################################################################################################################
@@ -0,0 +1,77 @@
1
+ require 'fog/azurerm'
2
+ require 'yaml'
3
+
4
+ ########################################################################################################################
5
+ ###################### Services object required by all actions ######################
6
+ ###################### Keep it Uncommented! ######################
7
+ ########################################################################################################################
8
+
9
+ azure_credentials = YAML.load_file('credentials/azure.yml')
10
+
11
+ rs = Fog::Resources::AzureRM.new(
12
+ tenant_id: azure_credentials['tenant_id'],
13
+ client_id: azure_credentials['client_id'],
14
+ client_secret: azure_credentials['client_secret'],
15
+ subscription_id: azure_credentials['subscription_id']
16
+ )
17
+
18
+ storage = Fog::Storage::AzureRM.new(
19
+ tenant_id: azure_credentials['tenant_id'],
20
+ client_id: azure_credentials['client_id'],
21
+ client_secret: azure_credentials['client_secret'],
22
+ subscription_id: azure_credentials['subscription_id']
23
+ )
24
+
25
+ ########################################################################################################################
26
+ ###################### Prerequisites ######################
27
+ ########################################################################################################################
28
+
29
+ rs.resource_groups.create(
30
+ name: 'TestRG-DD',
31
+ location: 'eastus'
32
+ )
33
+
34
+ storage_account = storage.storage_accounts.create(
35
+ name: 'fogstorageac',
36
+ location: 'eastus',
37
+ resource_group: 'TestRG-DD',
38
+ account_type: 'Standard',
39
+ replication: 'LRS'
40
+ )
41
+
42
+ access_key = storage_account.get_access_keys[0].value
43
+ Fog::Logger.debug access_key.inspect
44
+ storage_data = Fog::Storage.new(
45
+ provider: 'AzureRM',
46
+ azure_storage_account_name: storage_account.name,
47
+ azure_storage_access_key: access_key
48
+ )
49
+ storage_data.directories.create(
50
+ name: 'vhds',
51
+ key: access_key
52
+ )
53
+
54
+ ########################################################################################################################
55
+ ###################### Create Disk ######################
56
+ ########################################################################################################################
57
+
58
+ storage_data.create_disk('datadisk1', options = {})
59
+
60
+ ########################################################################################################################
61
+ ###################### Delete Data Disk ######################
62
+ ########################################################################################################################
63
+
64
+ storage_data.delete_disk('datadisk1')
65
+
66
+ ########################################################################################################################
67
+ ###################### CleanUp ######################
68
+ ########################################################################################################################
69
+
70
+ container = storage_data.directories.get('vhds')
71
+ container.destroy
72
+
73
+ storage = storage.storage_accounts.get('TestRG-DD', 'fogstorageac')
74
+ storage.destroy
75
+
76
+ resource_group = rs.resource_groups.get('TestRG-DD')
77
+ resource_group.destroy
@@ -30,7 +30,7 @@ resources.resource_groups.create(
30
30
  name: 'TestRG-ER',
31
31
  location: 'eastus'
32
32
  )
33
- puts 'Resource Group created!'
33
+ Fog::Logger.debug 'Resource Group created!'
34
34
  ########################################################################################################################
35
35
  ################ Create Express Route Circuit #################
36
36
  ########################################################################################################################
@@ -60,7 +60,7 @@ network.express_route_circuits.create(
60
60
  }
61
61
  ]
62
62
  )
63
- puts 'Express Route Circuit created!'
63
+ Fog::Logger.debug 'Express Route Circuit created!'
64
64
 
65
65
  ########################################################################################################################
66
66
  ###################### List Express Route Circuit ####################
@@ -68,7 +68,7 @@ puts 'Express Route Circuit created!'
68
68
 
69
69
  circuits = network.express_route_circuits(resource_group: 'TestRG-ER')
70
70
  circuits.each do |circuit|
71
- puts circuit.name
71
+ Fog::Logger.debug circuit.name
72
72
  end
73
73
 
74
74
  ########################################################################################################################
@@ -81,20 +81,20 @@ network.express_route_circuit_authorizations.create(
81
81
  authorization_name: 'Test-Auth',
82
82
  name: 'Unique-Auth-Name'
83
83
  )
84
- puts 'Express Route Circuit Authorization created!'
84
+ Fog::Logger.debug 'Express Route Circuit Authorization created!'
85
85
 
86
86
  ########################################################################################################################
87
87
  ###################### Get a Express Route Circuit Authorization ####################
88
88
  ########################################################################################################################
89
89
  authorization = network.express_route_circuit_authorizations.get('TestRG-ER', 'testERCircuit', 'Test-Auth')
90
- puts authorization.name.to_s
90
+ Fog::Logger.debug authorization.name.to_s
91
91
 
92
92
  ########################################################################################################################
93
93
  ###################### List Express Route Circuit Authorizations ####################
94
94
  ########################################################################################################################
95
95
  authorizations = network.express_route_circuit_authorizations(resource_group: 'TestRG-ER', circuit_name: 'testERCircuit')
96
96
  authorizations.each do |auth|
97
- puts auth.name.to_s
97
+ Fog::Logger.debug auth.name.to_s
98
98
  end
99
99
 
100
100
  ########################################################################################################################
@@ -102,18 +102,18 @@ end
102
102
  ########################################################################################################################
103
103
  authorization = network.express_route_circuit_authorizations.get('TestRG-ER', 'testERCircuit', 'Test-Auth')
104
104
  authorization.destroy
105
- puts 'Express Route Circuit Authorization deleted!'
105
+ Fog::Logger.debug 'Express Route Circuit Authorization deleted!'
106
106
 
107
107
  ########################################################################################################################
108
108
  ###################### Destroy Express Route Circuit ######################
109
109
  ########################################################################################################################
110
110
  circuit = network.express_route_circuits.get('TestRG-ER', 'testERCircuit')
111
111
  circuit.destroy
112
- puts 'Express Route Circuit deleted!'
112
+ Fog::Logger.debug 'Express Route Circuit deleted!'
113
113
 
114
114
  ########################################################################################################################
115
115
  ###################### CleanUp ######################
116
116
  ########################################################################################################################
117
117
  resource_group = resources.resource_groups.get('TestRG-ER')
118
118
  resource_group.destroy
119
- puts 'Resource Group deleted!'
119
+ Fog::Logger.debug 'Resource Group deleted!'
@@ -45,7 +45,7 @@ rs.resource_groups.create(
45
45
  location: 'eastus'
46
46
  )
47
47
 
48
- storage.storage_accounts.create(
48
+ storage_account = storage.storage_accounts.create(
49
49
  name: 'fogstorageac',
50
50
  location: 'eastus',
51
51
  resource_group: 'TestRG-VM',
@@ -116,7 +116,14 @@ virtual_machine.detach_data_disk('datadisk1')
116
116
  ###################### Delete Data Disk ######################
117
117
  ########################################################################################################################
118
118
 
119
- storage.delete_disk('TestRG-VM', 'fogstorageac', 'datadisk1')
119
+ access_key = storage_account.get_access_keys[0].value
120
+ Fog::Logger.debug access_key.inspect
121
+ storage_data = Fog::Storage.new(
122
+ provider: 'AzureRM',
123
+ azure_storage_account_name: storage_account.name,
124
+ azure_storage_access_key: access_key
125
+ )
126
+ storage_data.delete_disk('datadisk1')
120
127
 
121
128
  ########################################################################################################################
122
129
  ###################### List VM in a resource group ######################
@@ -80,6 +80,41 @@ end
80
80
  database = azure_sql_service.sql_databases.get('TestRG-SQL', server_name, database_name)
81
81
  database.destroy
82
82
 
83
+ ########################################################################################################################
84
+ ###################### Create Sql Firewall Rule ######################
85
+ ########################################################################################################################
86
+
87
+ azure_sql_service.firewall_rules.create(
88
+ resource_group: 'TestRG-SQL',
89
+ server_name: server_name,
90
+ name: 'test-rule-name',
91
+ start_ip: '10.10.10.10',
92
+ end_ip: '10.10.10.11'
93
+ )
94
+
95
+ ########################################################################################################################
96
+ ###################### Get Sql Firewall Rule ######################
97
+ ########################################################################################################################
98
+
99
+ firewall_rule = azure_sql_service.firewall_rules.get('TestRG-SQL', server_name, 'test-rule-name')
100
+ Fog::Logger.debug "GET Firewall Rule: #{firewall_rule.name}"
101
+
102
+ ########################################################################################################################
103
+ ###################### List Sql Firewall Rules ######################
104
+ ########################################################################################################################
105
+
106
+ firewall_rules = azure_sql_service.firewall_rules(resource_group: 'TestRG-SQL', server_name: server_name, name: 'test-rule-name')
107
+ firewall_rules.each do |a_firewall_rule|
108
+ Fog::Logger.debug "List Firewall Rule: #{a_firewall_rule.name}"
109
+ end
110
+
111
+ ########################################################################################################################
112
+ ###################### Get and Destroy Sql Firewall Rule ######################
113
+ ########################################################################################################################
114
+
115
+ firewall_rule = azure_sql_service.firewall_rules.get('TestRG-SQL', server_name, 'test-rule-name')
116
+ firewall_rule.destroy
117
+
83
118
  ########################################################################################################################
84
119
  ###################### Get Sql Server ######################
85
120
  ########################################################################################################################
@@ -56,7 +56,8 @@ storage.storage_accounts.create(
56
56
  location: 'eastus',
57
57
  resource_group: 'TestRG-SA',
58
58
  sku_name: 'Standard',
59
- replication: 'GRS'
59
+ replication: 'GRS',
60
+ encryption: true
60
61
  )
61
62
 
62
63
  ########################################################################################################################
@@ -71,6 +72,13 @@ storage.storage_accounts.create(
71
72
  replication: 'LRS'
72
73
  )
73
74
 
75
+ ########################################################################################################################
76
+ ###################### Get and Update Storage Account ######################
77
+ ########################################################################################################################
78
+
79
+ premium_storage_account = storage.storage_accounts.get('TestRG-SA', 'fogpremiumsa')
80
+ premium_storage_account.update(encryption: true)
81
+
74
82
  ########################################################################################################################
75
83
  ###################### Get and Delete Storage Account ######################
76
84
  ########################################################################################################################
@@ -0,0 +1,54 @@
1
+ require File.expand_path '../../test_helper', __dir__
2
+
3
+ # Test class for Sql Server Firewall Rule Model
4
+ class TestFirewallRule < Minitest::Test
5
+ def setup
6
+ @service = Fog::Sql::AzureRM.new(credentials)
7
+ @firewall_rule = sql_server_firewall_rule(@service)
8
+ end
9
+
10
+ def test_model_methods
11
+ methods = [
12
+ :save,
13
+ :destroy
14
+ ]
15
+ methods.each do |method|
16
+ assert_respond_to @firewall_rule, method
17
+ end
18
+ end
19
+
20
+ def test_model_attributes
21
+ attributes = [
22
+ :name,
23
+ :id,
24
+ :type,
25
+ :resource_group,
26
+ :location,
27
+ :start_ip,
28
+ :end_ip,
29
+ :server_name
30
+ ]
31
+ attributes.each do |attribute|
32
+ assert_respond_to @firewall_rule, attribute
33
+ end
34
+ end
35
+
36
+ def test_save_method_response
37
+ create_response = ApiStub::Models::Sql::SqlFirewallRule.create_firewall_rule
38
+ @service.stub :create_or_update_firewall_rule, create_response do
39
+ assert_instance_of Fog::Sql::AzureRM::FirewallRule, @firewall_rule.save
40
+ end
41
+ end
42
+
43
+ def test_destroy_method_true_response
44
+ @service.stub :delete_firewall_rule, true do
45
+ assert @firewall_rule.destroy
46
+ end
47
+ end
48
+
49
+ def test_destroy_method_false_response
50
+ @service.stub :delete_firewall_rule, false do
51
+ assert !@firewall_rule.destroy
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,41 @@
1
+ require File.expand_path '../../test_helper', __dir__
2
+
3
+ # Test class for Sql Server Firewall Rule Collection
4
+ class TestFirewallRules < Minitest::Test
5
+ def setup
6
+ @service = Fog::Sql::AzureRM.new(credentials)
7
+ @firewall_rules = Fog::Sql::AzureRM::FirewallRules.new(resource_group: 'fog-test-rg', server_name: 'server-name', name: 'rule-name', start_ip: '10.10.10.10', end_ip: '10.10.10.11', service: @service)
8
+ @create_firewall_rule_response = ApiStub::Models::Sql::SqlFirewallRule.create_firewall_rule
9
+ end
10
+
11
+ def test_collection_methods
12
+ methods = [
13
+ :all,
14
+ :get
15
+ ]
16
+ methods.each do |method|
17
+ assert_respond_to @firewall_rules, method
18
+ end
19
+ end
20
+
21
+ def test_collection_attributes
22
+ assert_respond_to @firewall_rules, :resource_group
23
+ end
24
+
25
+ def test_all_method_response
26
+ list_firewall_rule_response = [@create_firewall_rule_response]
27
+ @service.stub :list_firewall_rules, list_firewall_rule_response do
28
+ assert_instance_of Fog::Sql::AzureRM::FirewallRules, @firewall_rules.all
29
+ assert @firewall_rules.all.size >= 1
30
+ @firewall_rules.all.each do |s|
31
+ assert_instance_of Fog::Sql::AzureRM::FirewallRule, s
32
+ end
33
+ end
34
+ end
35
+
36
+ def test_get_method_response
37
+ @service.stub :get_firewall_rule, @create_firewall_rule_response do
38
+ assert_instance_of Fog::Sql::AzureRM::FirewallRule, @firewall_rules.get('fog-test-rg', 'fog-test-server-name', 'fog-test-rule-name')
39
+ end
40
+ end
41
+ 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