far-gem 0.5.1 → 0.5.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.travis.yml +11 -9
- data/CHANGELOG.md +31 -0
- data/README.md +2 -0
- data/fog-azure-rm.gemspec +4 -3
- data/lib/fog/azurerm.rb +1 -0
- data/lib/fog/azurerm/custom_fog_errors.rb +18 -0
- data/lib/fog/azurerm/docs/compute.md +10 -4
- data/lib/fog/azurerm/docs/network.md +2 -1
- data/lib/fog/azurerm/models/compute/managed_disk.rb +9 -2
- data/lib/fog/azurerm/models/compute/server.rb +8 -1
- data/lib/fog/azurerm/models/network/network_interface.rb +3 -1
- data/lib/fog/azurerm/models/resources/azure_resources.rb +8 -0
- data/lib/fog/azurerm/models/storage/file.rb +2 -0
- data/lib/fog/azurerm/requests/compute/create_virtual_machine.rb +35 -7
- data/lib/fog/azurerm/requests/compute/delete_managed_disk.rb +12 -4
- data/lib/fog/azurerm/requests/network/create_or_update_network_interface.rb +4 -3
- data/lib/fog/azurerm/requests/network/list_network_security_groups.rb +139 -143
- data/lib/fog/azurerm/requests/resources/list_resources_in_resource_group.rb +42 -0
- data/lib/fog/azurerm/requests/storage/get_blob_properties.rb +26 -26
- data/lib/fog/azurerm/resources.rb +1 -0
- data/lib/fog/azurerm/storage.rb +1 -0
- data/lib/fog/azurerm/utilities/general.rb +9 -5
- data/lib/fog/azurerm/version.rb +1 -1
- data/test/api_stub/models/compute/server.rb +1 -0
- data/test/api_stub/models/resources/resource.rb +17 -0
- data/test/api_stub/requests/compute/virtual_machine.rb +8 -0
- data/test/api_stub/requests/network/network_security_group.rb +2 -2
- data/test/api_stub/requests/resources/resource.rb +17 -0
- data/test/api_stub/requests/storage/file.rb +9 -0
- data/test/integration/network_interface.rb +2 -1
- data/test/integration/resource_group.rb +10 -1
- data/test/models/compute/test_managed_disk.rb +9 -2
- data/test/models/compute/test_server.rb +1 -0
- data/test/models/network/test_network_interface.rb +2 -1
- data/test/models/resources/test_resources.rb +14 -1
- data/test/requests/application_gateway/test_check_ag_exists.rb +1 -1
- data/test/requests/application_gateway/test_create_or_update_application_gateway.rb +1 -1
- data/test/requests/application_gateway/test_delete_application_gateway.rb +1 -1
- data/test/requests/application_gateway/test_get_application_gateway.rb +1 -1
- data/test/requests/application_gateway/test_list_application_gateways.rb +1 -1
- data/test/requests/application_gateway/test_start_application_gateway.rb +1 -1
- data/test/requests/application_gateway/test_stop_application_gateway.rb +1 -1
- data/test/requests/compute/test_attach_data_disk_to_vm.rb +4 -4
- data/test/requests/compute/test_check_availability_set_exists.rb +1 -1
- data/test/requests/compute/test_check_managed_disk_exists.rb +1 -1
- data/test/requests/compute/test_check_vm_exists.rb +1 -1
- data/test/requests/compute/test_check_vm_extension_exists.rb +1 -1
- data/test/requests/compute/test_create_availability_set.rb +2 -2
- data/test/requests/compute/test_create_image.rb +1 -1
- data/test/requests/compute/test_create_or_update_managed_disk.rb +1 -1
- data/test/requests/compute/test_create_virtual_machine.rb +41 -17
- data/test/requests/compute/test_create_vm_extension.rb +1 -1
- data/test/requests/compute/test_deallocate_virtual_machine.rb +2 -2
- data/test/requests/compute/test_delete_availability_set.rb +1 -1
- data/test/requests/compute/test_delete_image.rb +1 -1
- data/test/requests/compute/test_delete_managed_disk.rb +2 -2
- data/test/requests/compute/test_delete_virtual_machine.rb +2 -2
- data/test/requests/compute/test_detach_data_disk_from_vm.rb +1 -1
- data/test/requests/compute/test_generalize_virtual_machine.rb +2 -2
- data/test/requests/compute/test_get_availability_set.rb +1 -1
- data/test/requests/compute/test_get_image.rb +1 -1
- data/test/requests/compute/test_get_managed_disk.rb +1 -1
- data/test/requests/compute/test_get_virtual_machine.rb +1 -1
- data/test/requests/compute/test_get_vm_extension.rb +1 -1
- data/test/requests/compute/test_get_vm_status.rb +1 -1
- data/test/requests/compute/test_grant_access_to_managed_disk.rb +1 -1
- data/test/requests/compute/test_list_availability_sets.rb +1 -1
- data/test/requests/compute/test_list_available_sizes_for_virtual_machine.rb +2 -2
- data/test/requests/compute/test_list_managed_disks_by_rg.rb +1 -1
- data/test/requests/compute/test_list_managed_disks_in_subscription.rb +1 -1
- data/test/requests/compute/test_list_virtual_machines.rb +1 -1
- data/test/requests/compute/test_power_off_virtual_machine.rb +2 -2
- data/test/requests/compute/test_redeploy_virtual_machine.rb +2 -2
- data/test/requests/compute/test_restart_virtual_machine.rb +2 -2
- data/test/requests/compute/test_revoke_access_to_managed_disk.rb +1 -1
- data/test/requests/compute/test_start_virtual_machine.rb +2 -2
- data/test/requests/compute/test_update_vm_extension.rb +1 -1
- data/test/requests/dns/test_check_record_set_exists.rb +1 -1
- data/test/requests/dns/test_check_zone_exists.rb +1 -1
- data/test/requests/dns/test_create_record_set.rb +1 -1
- data/test/requests/dns/test_create_zone.rb +1 -1
- data/test/requests/dns/test_delete_record_set.rb +1 -1
- data/test/requests/dns/test_delete_zone.rb +1 -1
- data/test/requests/dns/test_get_record_set.rb +1 -1
- data/test/requests/dns/test_get_records_from_record_set.rb +1 -1
- data/test/requests/dns/test_get_zone.rb +1 -1
- data/test/requests/dns/test_list_record_sets.rb +1 -1
- data/test/requests/dns/test_list_zones.rb +1 -1
- data/test/requests/key_vault/test_check_vault_exists.rb +1 -1
- data/test/requests/key_vault/test_create_or_update_vault.rb +1 -1
- data/test/requests/key_vault/test_delete_vault.rb +1 -1
- data/test/requests/key_vault/test_get_vault.rb +1 -1
- data/test/requests/key_vault/test_list_vaults.rb +1 -1
- data/test/requests/network/test_add_address_prefixes_in_virtual_network.rb +1 -1
- data/test/requests/network/test_add_dns_servers_in_virtual_network.rb +1 -1
- data/test/requests/network/test_add_subnets_in_virtual_network.rb +1 -1
- data/test/requests/network/test_attach_network_security_group_to_subnet.rb +1 -1
- data/test/requests/network/test_attach_resource_to_nic.rb +1 -1
- data/test/requests/network/test_attach_route_table_to_subnet.rb +1 -1
- data/test/requests/network/test_check_express_route_cir_auth_exists.rb +1 -1
- data/test/requests/network/test_check_express_route_circuit_exists.rb +1 -1
- data/test/requests/network/test_check_load_balancer_exists.rb +1 -1
- data/test/requests/network/test_check_local_net_gateway_exists.rb +1 -1
- data/test/requests/network/test_check_net_sec_group_exists.rb +1 -1
- data/test/requests/network/test_check_net_sec_rule_exists.rb +1 -1
- data/test/requests/network/test_check_network_interface_exists.rb +1 -1
- data/test/requests/network/test_check_public_ip_exists.rb +1 -1
- data/test/requests/network/test_check_subnet_exists.rb +1 -1
- data/test/requests/network/test_check_virtual_network_exists.rb +1 -1
- data/test/requests/network/test_check_vnet_gateway_connection_exists.rb +1 -1
- data/test/requests/network/test_check_vnet_gateway_exists.rb +1 -1
- data/test/requests/network/test_create_express_route_circuit.rb +1 -1
- data/test/requests/network/test_create_express_route_circuit_authorization.rb +1 -1
- data/test/requests/network/test_create_express_route_circuit_peering.rb +1 -1
- data/test/requests/network/test_create_load_balancer.rb +1 -1
- data/test/requests/network/test_create_local_network_gateway.rb +1 -1
- data/test/requests/network/test_create_network_interface.rb +1 -1
- data/test/requests/network/test_create_or_update_network_security_group.rb +1 -1
- data/test/requests/network/test_create_or_update_network_security_rule.rb +1 -1
- data/test/requests/network/test_create_or_update_virtual_network.rb +1 -1
- data/test/requests/network/test_create_public_ip.rb +1 -1
- data/test/requests/network/test_create_subnet.rb +1 -1
- data/test/requests/network/test_create_virtual_network_gateway.rb +1 -1
- data/test/requests/network/test_create_virtual_network_gateway_connection.rb +1 -1
- data/test/requests/network/test_delete_express_route_circuit.rb +1 -1
- data/test/requests/network/test_delete_express_route_circuit_authorization.rb +1 -1
- data/test/requests/network/test_delete_express_route_circuit_peering.rb +1 -1
- data/test/requests/network/test_delete_load_balancer.rb +1 -1
- data/test/requests/network/test_delete_local_network_gateway.rb +1 -1
- data/test/requests/network/test_delete_network_interface.rb +1 -1
- data/test/requests/network/test_delete_network_security_group.rb +1 -1
- data/test/requests/network/test_delete_network_security_rule.rb +1 -1
- data/test/requests/network/test_delete_public_ip.rb +1 -1
- data/test/requests/network/test_delete_subnet.rb +1 -1
- data/test/requests/network/test_delete_virtual_network.rb +1 -1
- data/test/requests/network/test_delete_virtual_network_gateway.rb +1 -1
- data/test/requests/network/test_delete_virtual_network_gateway_connection.rb +1 -1
- data/test/requests/network/test_detach_network_security_group_from_subnet.rb +1 -1
- data/test/requests/network/test_detach_resource_from_nic.rb +1 -1
- data/test/requests/network/test_detach_route_table_from_subnet.rb +1 -1
- data/test/requests/network/test_get_connection_shared_key.rb +1 -1
- data/test/requests/network/test_get_express_route_circuit.rb +1 -1
- data/test/requests/network/test_get_express_route_circuit_authorization.rb +1 -1
- data/test/requests/network/test_get_express_route_circuit_peering.rb +1 -1
- data/test/requests/network/test_get_load_balancer.rb +1 -1
- data/test/requests/network/test_get_local_network_gateway.rb +1 -1
- data/test/requests/network/test_get_network_interface.rb +1 -1
- data/test/requests/network/test_get_network_security_group.rb +1 -1
- data/test/requests/network/test_get_network_security_rule.rb +1 -1
- data/test/requests/network/test_get_public_ip.rb +1 -1
- data/test/requests/network/test_get_subnet.rb +1 -1
- data/test/requests/network/test_get_virtual_network.rb +1 -1
- data/test/requests/network/test_get_virtual_network_gateway.rb +1 -1
- data/test/requests/network/test_get_virtual_network_gateway_connection.rb +1 -1
- data/test/requests/network/test_list_express_route_circuit_authorizations.rb +1 -1
- data/test/requests/network/test_list_express_route_circuit_peerings.rb +1 -1
- data/test/requests/network/test_list_express_route_circuits.rb +1 -1
- data/test/requests/network/test_list_express_route_service_providers.rb +1 -1
- data/test/requests/network/test_list_load_balancers.rb +1 -1
- data/test/requests/network/test_list_local_network_gateways.rb +1 -1
- data/test/requests/network/test_list_network_interfaces.rb +1 -1
- data/test/requests/network/test_list_network_security_groups.rb +4 -4
- data/test/requests/network/test_list_network_security_rules.rb +1 -1
- data/test/requests/network/test_list_public_ips.rb +1 -1
- data/test/requests/network/test_list_subnets.rb +1 -1
- data/test/requests/network/test_list_virtual_network_gateway_connections.rb +1 -1
- data/test/requests/network/test_list_virtual_network_gateways.rb +1 -1
- data/test/requests/network/test_list_virtual_networks.rb +1 -1
- data/test/requests/network/test_list_virtual_networks_in_subscription.rb +1 -1
- data/test/requests/network/test_remove_address_prefixes_from_virtual_network.rb +1 -1
- data/test/requests/network/test_remove_dns_servers_from_virtual_network.rb +1 -1
- data/test/requests/network/test_remove_subnets_from_virtual_network.rb +1 -1
- data/test/requests/network/test_reset_connection_shared_key.rb +1 -1
- data/test/requests/network/test_set_connection_shared_key.rb +1 -1
- data/test/requests/network/test_update_public_ip.rb +1 -1
- data/test/requests/resources/test_check_deployment_exists.rb +1 -1
- data/test/requests/resources/test_check_resource_group_exists.rb +1 -1
- data/test/requests/resources/test_create_deployment.rb +1 -1
- data/test/requests/resources/test_create_resource_group.rb +1 -1
- data/test/requests/resources/test_delete_deployment.rb +1 -1
- data/test/requests/resources/test_delete_resource_group.rb +1 -1
- data/test/requests/resources/test_delete_resource_tag.rb +1 -1
- data/test/requests/resources/test_get_deployment.rb +1 -1
- data/test/requests/resources/test_get_resource_group.rb +1 -1
- data/test/requests/resources/test_list_deployments.rb +1 -1
- data/test/requests/resources/test_list_resource_groups.rb +1 -1
- data/test/requests/resources/test_list_resources_in_resource_group.rb +24 -0
- data/test/requests/resources/test_list_tagged_resources.rb +1 -1
- data/test/requests/resources/test_tag_resource.rb +1 -1
- data/test/requests/sql/test_create_or_update_database.rb +1 -1
- data/test/requests/sql/test_create_or_update_firewall_rule.rb +1 -1
- data/test/requests/sql/test_create_or_update_sql_server.rb +1 -1
- data/test/requests/sql/test_delete_database.rb +1 -1
- data/test/requests/sql/test_delete_firewall_rule.rb +1 -1
- data/test/requests/sql/test_delete_sql_server.rb +1 -1
- data/test/requests/sql/test_get_database.rb +1 -1
- data/test/requests/sql/test_get_firewall_rule.rb +1 -1
- data/test/requests/sql/test_get_sql_server.rb +1 -1
- data/test/requests/sql/test_list_databases.rb +1 -1
- data/test/requests/sql/test_list_firewall_rules.rb +1 -1
- data/test/requests/sql/test_list_sql_servers.rb +1 -1
- data/test/requests/storage/test_acquire_blob_lease.rb +1 -1
- data/test/requests/storage/test_acquire_container_lease.rb +1 -1
- data/test/requests/storage/test_check_storage_account_exists.rb +1 -1
- data/test/requests/storage/test_check_storage_account_name_availability.rb +1 -1
- data/test/requests/storage/test_commit_blob_blocks.rb +1 -1
- data/test/requests/storage/test_compare_container_blobs.rb +1 -1
- data/test/requests/storage/test_copy_blob.rb +1 -1
- data/test/requests/storage/test_copy_blob_from_uri.rb +1 -1
- data/test/requests/storage/test_create_block_blob.rb +1 -1
- data/test/requests/storage/test_create_container.rb +1 -1
- data/test/requests/storage/test_create_page_blob.rb +1 -1
- data/test/requests/storage/test_create_storage_account.rb +1 -1
- data/test/requests/storage/test_delete_blob.rb +1 -1
- data/test/requests/storage/test_delete_container.rb +1 -1
- data/test/requests/storage/test_delete_storage_account.rb +1 -1
- data/test/requests/storage/test_get_blob.rb +4 -4
- data/test/requests/storage/test_get_blob_properties.rb +4 -2
- data/test/requests/storage/test_get_container_acl.rb +1 -1
- data/test/requests/storage/test_get_container_properties.rb +1 -1
- data/test/requests/storage/test_get_storage_access_keys.rb +1 -1
- data/test/requests/storage/test_get_storage_account.rb +1 -1
- data/test/requests/storage/test_list_blobs.rb +1 -1
- data/test/requests/storage/test_list_containers.rb +1 -1
- data/test/requests/storage/test_list_storage_accounts.rb +1 -1
- data/test/requests/storage/test_list_storage_accounts_for_rg.rb +1 -1
- data/test/requests/storage/test_put_blob_block.rb +1 -1
- data/test/requests/storage/test_put_blob_metadata.rb +1 -1
- data/test/requests/storage/test_put_blob_pages.rb +1 -1
- data/test/requests/storage/test_put_blob_properties.rb +1 -1
- data/test/requests/storage/test_put_container_acl.rb +1 -1
- data/test/requests/storage/test_put_container_metadata.rb +1 -1
- data/test/requests/storage/test_release_blob_lease.rb +1 -1
- data/test/requests/storage/test_release_container_lease.rb +1 -1
- data/test/requests/storage/test_update_storage_account.rb +1 -1
- data/test/requests/traffic_manager/test_check_traffic_manager_endpoint_exists.rb +1 -1
- data/test/requests/traffic_manager/test_check_traffic_manager_profile_exists.rb +1 -1
- data/test/requests/traffic_manager/test_create_traffic_manager_endpoint.rb +1 -1
- data/test/requests/traffic_manager/test_create_traffic_manager_profile.rb +1 -1
- data/test/requests/traffic_manager/test_delete_traffic_manager_endpoint.rb +1 -1
- data/test/requests/traffic_manager/test_delete_traffic_manager_profile.rb +1 -1
- data/test/requests/traffic_manager/test_get_traffic_manager_endpoint.rb +1 -1
- data/test/requests/traffic_manager/test_get_traffic_manager_profile.rb +1 -1
- data/test/requests/traffic_manager/test_list_traffic_manager_profiles.rb +1 -1
- data/test/requests/traffic_manager/test_update_traffic_manager_endpoint.rb +1 -1
- data/test/requests/traffic_manager/test_update_traffic_manager_profile.rb +1 -1
- metadata +25 -8
@@ -21,6 +21,7 @@ module ApiStub
|
|
21
21
|
},
|
22
22
|
'osDisk' => {
|
23
23
|
'name' => 'fog-test-server_os_disk',
|
24
|
+
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.Compute/disks/fog-test-server_os_disk',
|
24
25
|
'vhd' => {
|
25
26
|
'uri' => 'http://storageAccount.blob.core.windows.net/vhds/fog-test-server_os_disk.vhd'
|
26
27
|
}
|
@@ -37,6 +37,23 @@ module ApiStub
|
|
37
37
|
result_mapper = Azure::ARM::Resources::Models::ResourceListResult.mapper
|
38
38
|
client.deserialize(result_mapper, Fog::JSON.decode(resources), 'result.body').value
|
39
39
|
end
|
40
|
+
|
41
|
+
def self.list_resources_in_resource_group_response(client)
|
42
|
+
resources = '{
|
43
|
+
"id": "/subscriptions/########-####-####-####-############/resourceGroups/{RESOURCE-GROUP}/providers/Microsoft.Network/{PROVIDER-NAME}/{RESOURCE-NAME}",
|
44
|
+
"name": "your-resource-name",
|
45
|
+
"type": "providernamespace/resourcetype",
|
46
|
+
"location": "westus",
|
47
|
+
"tags": {
|
48
|
+
"tag_name": "tag_value"
|
49
|
+
},
|
50
|
+
"plan": {
|
51
|
+
"name": "free"
|
52
|
+
}
|
53
|
+
}'
|
54
|
+
result_mapper = Azure::ARM::Resources::Models::GenericResource.mapper
|
55
|
+
client.deserialize(result_mapper, Fog::JSON.decode(resources), 'result.body')
|
56
|
+
end
|
40
57
|
end
|
41
58
|
end
|
42
59
|
end
|
@@ -243,6 +243,7 @@ module ApiStub
|
|
243
243
|
},
|
244
244
|
"osDisk": {
|
245
245
|
"name":"myosdisk1",
|
246
|
+
"id":"/subscriptions/{subscription-id}/resourceGroups/fog-test-rg/providers/Microsoft.Compute/disks/myosdisk1",
|
246
247
|
"vhd": {
|
247
248
|
"uri":"http://mystorage1.blob.core.windows.net/vhds/myosdisk1.vhd"
|
248
249
|
},
|
@@ -320,6 +321,7 @@ module ApiStub
|
|
320
321
|
},
|
321
322
|
"osDisk": {
|
322
323
|
"name":"myosdisk1",
|
324
|
+
"id":"/subscriptions/{subscription-id}/resourceGroups/fog-test-rg/providers/Microsoft.Compute/disks/myosdisk1",
|
323
325
|
"vhd": {
|
324
326
|
"uri":"http://mystorage1.blob.core.windows.net/vhds/myosdisk1.vhd"
|
325
327
|
},
|
@@ -397,6 +399,7 @@ module ApiStub
|
|
397
399
|
},
|
398
400
|
"osDisk": {
|
399
401
|
"name":"myosdisk1",
|
402
|
+
"id":"/subscriptions/{subscription-id}/resourceGroups/fog-test-rg/providers/Microsoft.Compute/disks/myosdisk1",
|
400
403
|
"vhd": {
|
401
404
|
"uri":"https://custimagestorage.blob.core.windows.net/customimage/trusty-server-cloudimg-amd64-disk1.vhd"
|
402
405
|
},
|
@@ -474,6 +477,7 @@ module ApiStub
|
|
474
477
|
},
|
475
478
|
"osDisk": {
|
476
479
|
"name":"myosdisk1",
|
480
|
+
"id":"/subscriptions/{subscription-id}/resourceGroups/fog-test-rg/providers/Microsoft.Compute/disks/myosdisk1",
|
477
481
|
"vhd": {
|
478
482
|
"uri":"http://mystorage1.blob.core.windows.net/vhds/myosdisk1.vhd"
|
479
483
|
},
|
@@ -546,6 +550,7 @@ module ApiStub
|
|
546
550
|
'osDisk' =>
|
547
551
|
{
|
548
552
|
'name' => 'myosdisk1',
|
553
|
+
'id' => '/subscriptions/{subscription-id}/resourceGroups/fog-test-rg/providers/Microsoft.Compute/disks/myosdisk1',
|
549
554
|
'vhd' =>
|
550
555
|
{
|
551
556
|
'uri' => 'http://mystorage1.blob.core.windows.net/vhds/myosdisk1.vhd'
|
@@ -651,6 +656,7 @@ module ApiStub
|
|
651
656
|
},
|
652
657
|
"osDisk": {
|
653
658
|
"name":"myosdisk1",
|
659
|
+
"id":"/subscriptions/{subscription-id}/resourceGroups/fog-test-rg/providers/Microsoft.Compute/disks/myosdisk1",
|
654
660
|
"vhd": {
|
655
661
|
"uri":"http://mystorage1.blob.core.windows.net/vhds/myosdisk1.vhd"
|
656
662
|
},
|
@@ -809,6 +815,7 @@ module ApiStub
|
|
809
815
|
},
|
810
816
|
"osDisk": {
|
811
817
|
"name":"myosdisk1",
|
818
|
+
"id":"/subscriptions/{subscription-id}/resourceGroups/fog-test-rg/providers/Microsoft.Compute/disks/myosdisk1",
|
812
819
|
"vhd": {
|
813
820
|
"uri":"http://mystorage1.blob.core.windows.net/vhds/myosdisk1.vhd"
|
814
821
|
},
|
@@ -896,6 +903,7 @@ module ApiStub
|
|
896
903
|
},
|
897
904
|
"osDisk": {
|
898
905
|
"name":"myosdisk1",
|
906
|
+
"id":"/subscriptions/{subscription-id}/resourceGroups/fog-test-rg/providers/Microsoft.Compute/disks/myosdisk1",
|
899
907
|
"vhd": {
|
900
908
|
"uri":"http://mystorage1.blob.core.windows.net/vhds/myosdisk1.vhd"
|
901
909
|
},
|
@@ -216,8 +216,8 @@ module ApiStub
|
|
216
216
|
}
|
217
217
|
]
|
218
218
|
}'
|
219
|
-
result_mapper = Azure::ARM::Network::Models::
|
220
|
-
network_client.deserialize(result_mapper, Fog::JSON.decode(nsg_list), 'result.body')
|
219
|
+
result_mapper = Azure::ARM::Network::Models::NetworkSecurityGroupListResult.mapper
|
220
|
+
network_client.deserialize(result_mapper, Fog::JSON.decode(nsg_list), 'result.body').value
|
221
221
|
end
|
222
222
|
end
|
223
223
|
end
|
@@ -39,6 +39,23 @@ module ApiStub
|
|
39
39
|
result_mapper = Azure::ARM::Resources::Models::ResourceListResult.mapper
|
40
40
|
client.deserialize(result_mapper, Fog::JSON.decode(body), 'result.body')
|
41
41
|
end
|
42
|
+
|
43
|
+
def self.list_resources_in_resource_group(client)
|
44
|
+
body = '{
|
45
|
+
"id": "/subscriptions/########-####-####-####-############/resourceGroups/{RESOURCE-GROUP}/providers/Microsoft.Network/{PROVIDER-NAME}/{RESOURCE-NAME}",
|
46
|
+
"name": "your-resource-name",
|
47
|
+
"type": "providernamespace/resourcetype",
|
48
|
+
"location": "westus",
|
49
|
+
"tags": {
|
50
|
+
"tag_name": "tag_value"
|
51
|
+
},
|
52
|
+
"plan": {
|
53
|
+
"name": "free"
|
54
|
+
}
|
55
|
+
}'
|
56
|
+
result_mapper = Azure::ARM::Resources::Models::GenericResource.mapper
|
57
|
+
client.deserialize(result_mapper, Fog::JSON.decode(body), 'result.body')
|
58
|
+
end
|
42
59
|
end
|
43
60
|
end
|
44
61
|
end
|
@@ -5,6 +5,15 @@ module ApiStub
|
|
5
5
|
# Below data should be as same as those in Mock classes in lib/fog/azurerm/requests/storage/*.rb
|
6
6
|
class File
|
7
7
|
def self.blob
|
8
|
+
blob_data = blob_as_hash
|
9
|
+
blob = Azure::Storage::Blob::Blob.new
|
10
|
+
blob.name = blob_data['name']
|
11
|
+
blob.metadata = blob_data['metadata']
|
12
|
+
blob.properties = blob_data['properties'].map { |k, v| { k.to_sym => v } }.reduce({}, &:merge!)
|
13
|
+
blob
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.blob_as_hash
|
8
17
|
{
|
9
18
|
'name' => 'test_blob',
|
10
19
|
'metadata' => {},
|
@@ -107,7 +107,8 @@ begin
|
|
107
107
|
public_ip_address_id: "/subscriptions/#{azure_credentials['subscription_id']}/resourceGroups/TestRG-NI/providers/Microsoft.Network/publicIPAddresses/mypubip",
|
108
108
|
ip_configuration_name: 'testIpConfiguration',
|
109
109
|
private_ip_allocation_method: 'Dynamic',
|
110
|
-
tags: { key: 'value' }
|
110
|
+
tags: { key: 'value' },
|
111
|
+
enable_accelerated_networking: true
|
111
112
|
)
|
112
113
|
puts "Created network interface: #{network_interface.name}"
|
113
114
|
|
@@ -17,7 +17,6 @@ resource = Fog::Resources::AzureRM.new(
|
|
17
17
|
resource_group_name = "RG-#{current_time}"
|
18
18
|
|
19
19
|
begin
|
20
|
-
|
21
20
|
########################################################################################################################
|
22
21
|
###################### Check Resource Group Exists? ######################
|
23
22
|
########################################################################################################################
|
@@ -51,6 +50,16 @@ begin
|
|
51
50
|
resource_group = resource_groups.get(resource_group_name)
|
52
51
|
puts "Get resource group: #{resource_group.name}"
|
53
52
|
|
53
|
+
########################################################################################################################
|
54
|
+
###################### Get All Resources in a Resource Group ######################
|
55
|
+
########################################################################################################################
|
56
|
+
|
57
|
+
resources = resource.azure_resources.list_resources_in_resource_group(resource_group_name)
|
58
|
+
puts 'List resources in resource groups:'
|
59
|
+
resources.each do |a_resource|
|
60
|
+
puts a_resource.name
|
61
|
+
end
|
62
|
+
|
54
63
|
########################################################################################################################
|
55
64
|
###################### Destroy Resource Group ######################
|
56
65
|
########################################################################################################################
|
@@ -50,13 +50,20 @@ class TestManagedDisk < Minitest::Test
|
|
50
50
|
|
51
51
|
def test_destroy_method_true_response
|
52
52
|
@service.stub :delete_managed_disk, true do
|
53
|
-
assert @managed_disk.destroy
|
53
|
+
assert @managed_disk.destroy(false)
|
54
54
|
end
|
55
55
|
end
|
56
56
|
|
57
57
|
def test_destroy_method_false_response
|
58
58
|
@service.stub :delete_managed_disk, false do
|
59
|
-
assert !@managed_disk.destroy
|
59
|
+
assert !@managed_disk.destroy(false)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
def test_destroy_method_can_take_params_async
|
64
|
+
async_response = Concurrent::Promise.execute { 10 }
|
65
|
+
@service.stub :delete_managed_disk, async_response do
|
66
|
+
assert_instance_of Fog::AzureRM::AsyncResponse, @managed_disk.destroy(true)
|
60
67
|
end
|
61
68
|
end
|
62
69
|
end
|
@@ -45,7 +45,8 @@ class TestNetworkInterface < Minitest::Test
|
|
45
45
|
:applied_dns_servers,
|
46
46
|
:internal_dns_name_label,
|
47
47
|
:internal_fqd,
|
48
|
-
:tags
|
48
|
+
:tags,
|
49
|
+
:enable_accelerated_networking
|
49
50
|
]
|
50
51
|
attributes.each do |attribute|
|
51
52
|
assert_respond_to @network_interface, attribute
|
@@ -14,7 +14,8 @@ class TestResources < Minitest::Test
|
|
14
14
|
methods = [
|
15
15
|
:all,
|
16
16
|
:get,
|
17
|
-
:check_azure_resource_exists
|
17
|
+
:check_azure_resource_exists,
|
18
|
+
:list_resources_in_resource_group
|
18
19
|
]
|
19
20
|
methods.each do |method|
|
20
21
|
assert_respond_to @resources, method
|
@@ -49,4 +50,16 @@ class TestResources < Minitest::Test
|
|
49
50
|
assert !@resources.check_azure_resource_exists(@resource_id, '2016-09-01')
|
50
51
|
end
|
51
52
|
end
|
53
|
+
|
54
|
+
def test_list_resources_in_resource_group_method_response
|
55
|
+
client = @service.instance_variable_get(:@rmc)
|
56
|
+
response = [ApiStub::Models::Resources::Resource.list_resources_in_resource_group_response(client)]
|
57
|
+
@service.stub :list_resources_in_resource_group, response do
|
58
|
+
assert_instance_of Fog::Resources::AzureRM::AzureResources, @resources.list_resources_in_resource_group('fog-test-rg')
|
59
|
+
assert @resources.list_resources_in_resource_group('fog-test-rg').size >= 1
|
60
|
+
@resources.list_resources_in_resource_group('fog-test-rg').each do |s|
|
61
|
+
assert_instance_of Fog::Resources::AzureRM::AzureResource, s
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
52
65
|
end
|
@@ -32,7 +32,7 @@ class TestCheckAGExists < Minitest::Test
|
|
32
32
|
def test_check_app_gateway_exists_exception
|
33
33
|
response = proc { raise MsRestAzure::AzureOperationError.new(nil, create_mock_response, 'error' => { 'message' => 'mocked exception', 'code' => 'Exception' }) }
|
34
34
|
@gateways.stub :get, response do
|
35
|
-
assert_raises(
|
35
|
+
assert_raises(MsRestAzure::AzureOperationError) { @service.check_ag_exists('fog-test-rg', 'fogRM-rg') }
|
36
36
|
end
|
37
37
|
end
|
38
38
|
end
|
@@ -27,7 +27,7 @@ class TestCreateOrUpdateApplicationGateway < Minitest::Test
|
|
27
27
|
def test_create_or_update_application_gateway_exception_failure
|
28
28
|
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
|
29
29
|
@gateways.stub :create_or_update, response do
|
30
|
-
assert_raises
|
30
|
+
assert_raises MsRestAzure::AzureOperationError do
|
31
31
|
@service.create_or_update_application_gateway(@gateway_params)
|
32
32
|
end
|
33
33
|
end
|
@@ -17,7 +17,7 @@ class TestDeleteApplicationGateway < Minitest::Test
|
|
17
17
|
def test_delete_application_gateway_failure
|
18
18
|
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
|
19
19
|
@gateways.stub :delete, response do
|
20
|
-
assert_raises(
|
20
|
+
assert_raises(MsRestAzure::AzureOperationError) { @service.delete_application_gateway('fogRM-rg', 'gateway') }
|
21
21
|
end
|
22
22
|
end
|
23
23
|
end
|
@@ -18,7 +18,7 @@ class TestGetApplicationGateway < Minitest::Test
|
|
18
18
|
def test_get_application_gateway_failure
|
19
19
|
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
|
20
20
|
@gateways.stub :get, response do
|
21
|
-
assert_raises(
|
21
|
+
assert_raises(MsRestAzure::AzureOperationError) { @service.get_application_gateway('fog-test-rg', 'fogRM-rg') }
|
22
22
|
end
|
23
23
|
end
|
24
24
|
end
|
@@ -18,7 +18,7 @@ class TestListApplicationGateways < Minitest::Test
|
|
18
18
|
def test_list_application_gateways_failure
|
19
19
|
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
|
20
20
|
@gateways.stub :list_as_lazy, response do
|
21
|
-
assert_raises(
|
21
|
+
assert_raises(MsRestAzure::AzureOperationError) { @service.list_application_gateways('fogRM-rg') }
|
22
22
|
end
|
23
23
|
end
|
24
24
|
end
|
@@ -17,7 +17,7 @@ class TestStartApplicationGateway < Minitest::Test
|
|
17
17
|
def test_start_application_gateway_exception_failure
|
18
18
|
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
|
19
19
|
@gateways.stub :start, response do
|
20
|
-
assert_raises
|
20
|
+
assert_raises MsRestAzure::AzureOperationError do
|
21
21
|
@service.start_application_gateway('test-rg', 'test-ag')
|
22
22
|
end
|
23
23
|
end
|
@@ -17,7 +17,7 @@ class TestStopApplicationGateway < Minitest::Test
|
|
17
17
|
def test_stop_application_gateway_exception_failure
|
18
18
|
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
|
19
19
|
@gateways.stub :stop, response do
|
20
|
-
assert_raises
|
20
|
+
assert_raises MsRestAzure::AzureOperationError do
|
21
21
|
@service.stop_application_gateway('test-rg', 'test-ag')
|
22
22
|
end
|
23
23
|
end
|
@@ -62,7 +62,7 @@ class TestAttachDataDiskToVM < Minitest::Test
|
|
62
62
|
@virtual_machines.stub :get, @get_vm_response do
|
63
63
|
@storage_accounts.stub :list_keys, @storage_access_keys_response do
|
64
64
|
@virtual_machines.stub :create_or_update, update_vm_response do
|
65
|
-
assert_raises
|
65
|
+
assert_raises Azure::Core::Http::HTTPError do
|
66
66
|
@service.attach_data_disk_to_vm(@input_params, false)
|
67
67
|
end
|
68
68
|
end
|
@@ -75,7 +75,7 @@ class TestAttachDataDiskToVM < Minitest::Test
|
|
75
75
|
@virtual_machines.stub :get, @get_vm_response do
|
76
76
|
@storage_accounts.stub :list_keys, @storage_access_keys_response do
|
77
77
|
@virtual_machines.stub :create_or_update, update_vm_response do
|
78
|
-
assert_raises
|
78
|
+
assert_raises Azure::Core::Http::HTTPError do
|
79
79
|
@service.attach_data_disk_to_vm(@input_params, false)
|
80
80
|
end
|
81
81
|
end
|
@@ -86,7 +86,7 @@ class TestAttachDataDiskToVM < Minitest::Test
|
|
86
86
|
def test_get_vm_failure
|
87
87
|
get_vm_response = proc { fail MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
|
88
88
|
@virtual_machines.stub :get, get_vm_response do
|
89
|
-
assert_raises
|
89
|
+
assert_raises MsRestAzure::AzureOperationError do
|
90
90
|
@service.attach_data_disk_to_vm(@input_params, false)
|
91
91
|
end
|
92
92
|
end
|
@@ -96,7 +96,7 @@ class TestAttachDataDiskToVM < Minitest::Test
|
|
96
96
|
storage_access_keys_response = proc { fail MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
|
97
97
|
@virtual_machines.stub :get, @get_vm_response do
|
98
98
|
@storage_accounts.stub :list_keys, storage_access_keys_response do
|
99
|
-
assert_raises
|
99
|
+
assert_raises MsRestAzure::AzureOperationError do
|
100
100
|
@service.attach_data_disk_to_vm(@input_params, false)
|
101
101
|
end
|
102
102
|
end
|
@@ -32,7 +32,7 @@ class TestCheckAvailabilitySetExists < Minitest::Test
|
|
32
32
|
def test_check_availability_set_exists_exception
|
33
33
|
response = proc { raise MsRestAzure::AzureOperationError.new(nil, create_mock_response, 'error' => { 'message' => 'mocked exception', 'code' => 'Exception' }) }
|
34
34
|
@availability_sets.stub :get, response do
|
35
|
-
assert_raises(
|
35
|
+
assert_raises(MsRestAzure::AzureOperationError) { @service.check_availability_set_exists('myrg1', 'myavset1') }
|
36
36
|
end
|
37
37
|
end
|
38
38
|
end
|
@@ -32,7 +32,7 @@ class TestCheckManagedDiskExists < Minitest::Test
|
|
32
32
|
def test_check_managed_disk_exists_exception
|
33
33
|
response = proc { raise MsRestAzure::AzureOperationError.new(nil, create_mock_response, 'error' => { 'message' => 'mocked exception', 'code' => 'Exception' }) }
|
34
34
|
@managed_disks.stub :get, response do
|
35
|
-
assert_raises(
|
35
|
+
assert_raises(MsRestAzure::AzureOperationError) { @service.check_managed_disk_exists('myrg1', 'mydisk1') }
|
36
36
|
end
|
37
37
|
end
|
38
38
|
end
|
@@ -32,7 +32,7 @@ class TestCheckVirtualMachineExists < Minitest::Test
|
|
32
32
|
def test_check_vm_exists_exception
|
33
33
|
response = proc { raise MsRestAzure::AzureOperationError.new(nil, create_mock_response, 'error' => { 'message' => 'mocked exception', 'code' => 'Exception' }) }
|
34
34
|
@virtual_machines.stub :get, response do
|
35
|
-
assert_raises(
|
35
|
+
assert_raises(MsRestAzure::AzureOperationError) { @service.check_vm_exists('fog-test-rg', 'fog-test-server', false) }
|
36
36
|
end
|
37
37
|
end
|
38
38
|
end
|
@@ -32,7 +32,7 @@ class TestCheckVMExtensionExists < Minitest::Test
|
|
32
32
|
def test_check_vm_extension_exists_exception
|
33
33
|
response = proc { raise MsRestAzure::AzureOperationError.new(nil, create_mock_response, 'error' => { 'message' => 'mocked exception', 'code' => 'Exception' }) }
|
34
34
|
@vm_extension.stub :get, response do
|
35
|
-
assert_raises(
|
35
|
+
assert_raises(MsRestAzure::AzureOperationError) { @service.check_vm_extension_exists('fog-test-rg', 'fog-test-vm', 'fog-test-extension') }
|
36
36
|
end
|
37
37
|
end
|
38
38
|
end
|
@@ -71,7 +71,7 @@ class TestCreateAvailabilitySet < Minitest::Test
|
|
71
71
|
|
72
72
|
@availability_sets.stub :validate_params, true do
|
73
73
|
@availability_sets.stub :create_or_update, response do
|
74
|
-
assert_raises(
|
74
|
+
assert_raises(MsRestAzure::AzureOperationError) { @service.create_availability_set(avail_set_params) }
|
75
75
|
end
|
76
76
|
end
|
77
77
|
end
|
@@ -105,7 +105,7 @@ class TestCreateAvailabilitySet < Minitest::Test
|
|
105
105
|
|
106
106
|
@availability_sets.stub :validate_params, true do
|
107
107
|
@availability_sets.stub :create_or_update, response do
|
108
|
-
assert_raises(
|
108
|
+
assert_raises(MsRestAzure::AzureOperationError) { @service.create_availability_set(avail_set_params) }
|
109
109
|
end
|
110
110
|
end
|
111
111
|
end
|
@@ -19,7 +19,7 @@ class TestCreateImage < Minitest::Test
|
|
19
19
|
def test_create_image_failure
|
20
20
|
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
|
21
21
|
@image.stub :create_or_update, response do
|
22
|
-
assert_raises
|
22
|
+
assert_raises MsRestAzure::AzureOperationError do
|
23
23
|
@service.create_image(@input_params)
|
24
24
|
end
|
25
25
|
end
|
@@ -31,7 +31,7 @@ class TestCreateManagedDisk < Minitest::Test
|
|
31
31
|
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
|
32
32
|
@managed_disks.stub :validate_params, true do
|
33
33
|
@managed_disks.stub :create_or_update, response do
|
34
|
-
assert_raises(
|
34
|
+
assert_raises(MsRestAzure::AzureOperationError) { @service.create_or_update_managed_disk(@disk) }
|
35
35
|
end
|
36
36
|
end
|
37
37
|
end
|
@@ -10,80 +10,104 @@ class TestCreateVirtualMachine < Minitest::Test
|
|
10
10
|
@custom_data_response = ApiStub::Requests::Compute::VirtualMachine.create_virtual_machine_with_custom_data_response(compute_client)
|
11
11
|
@linux_virtual_machine_hash = ApiStub::Requests::Compute::VirtualMachine.linux_virtual_machine_params
|
12
12
|
@windows_virtual_machine_hash = ApiStub::Requests::Compute::VirtualMachine.windows_virtual_machine_params
|
13
|
+
@error_response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
|
13
14
|
end
|
14
15
|
|
15
16
|
def test_create_linux_virtual_machine_success
|
16
17
|
@virtual_machines.stub :create_or_update, @response do
|
17
|
-
|
18
|
+
@virtual_machines.stub :get, @error_response do
|
19
|
+
assert_equal @service.create_virtual_machine(@linux_virtual_machine_hash), @response
|
20
|
+
end
|
18
21
|
end
|
19
22
|
|
20
23
|
# Async
|
21
24
|
@virtual_machines.stub :create_or_update_async, @response do
|
22
|
-
|
25
|
+
@virtual_machines.stub :get, @error_response do
|
26
|
+
assert_equal @service.create_virtual_machine(@linux_virtual_machine_hash, true), @response
|
27
|
+
end
|
23
28
|
end
|
24
29
|
end
|
25
30
|
|
26
31
|
def test_create_windows_virtual_machine_success
|
27
32
|
@virtual_machines.stub :create_or_update, @response do
|
28
|
-
|
33
|
+
@virtual_machines.stub :get, @error_response do
|
34
|
+
assert_equal @service.create_virtual_machine(@windows_virtual_machine_hash), @response
|
35
|
+
end
|
29
36
|
end
|
30
37
|
|
31
38
|
# Async
|
32
39
|
@virtual_machines.stub :create_or_update_async, @response do
|
33
|
-
|
40
|
+
@virtual_machines.stub :get, @error_response do
|
41
|
+
assert_equal @service.create_virtual_machine(@windows_virtual_machine_hash, true), @response
|
42
|
+
end
|
34
43
|
end
|
35
44
|
end
|
36
45
|
|
37
46
|
def test_create_linux_virtual_machine_from_custom_image_success
|
38
47
|
linux_virtual_machine_with_custom_image_hash = ApiStub::Requests::Compute::VirtualMachine.linux_virtual_machine_with_custom_image_params
|
39
48
|
@virtual_machines.stub :create_or_update, @response do
|
40
|
-
|
49
|
+
@virtual_machines.stub :get, @error_response do
|
50
|
+
assert_equal @service.create_virtual_machine(linux_virtual_machine_with_custom_image_hash), @response
|
51
|
+
end
|
41
52
|
end
|
42
53
|
|
43
54
|
# Async
|
44
55
|
@virtual_machines.stub :create_or_update_async, @response do
|
45
|
-
|
56
|
+
@virtual_machines.stub :get, @error_response do
|
57
|
+
assert_equal @service.create_virtual_machine(linux_virtual_machine_with_custom_image_hash, true), @response
|
58
|
+
end
|
46
59
|
end
|
47
60
|
end
|
48
61
|
|
49
62
|
def test_create_windows_virtual_machine_from_custom_image_success
|
50
63
|
windows_virtual_machine_with_custom_image_hash = ApiStub::Requests::Compute::VirtualMachine.windows_virtual_machine_with_custom_image_params
|
51
64
|
@virtual_machines.stub :create_or_update, @response do
|
52
|
-
|
65
|
+
@virtual_machines.stub :get, @error_response do
|
66
|
+
assert_equal @service.create_virtual_machine(windows_virtual_machine_with_custom_image_hash), @response
|
67
|
+
end
|
53
68
|
end
|
54
69
|
|
55
70
|
# Async
|
56
71
|
@virtual_machines.stub :create_or_update_async, @response do
|
57
|
-
|
72
|
+
@virtual_machines.stub :get, @error_response do
|
73
|
+
assert_equal @service.create_virtual_machine(windows_virtual_machine_with_custom_image_hash, true), @response
|
74
|
+
end
|
58
75
|
end
|
59
76
|
end
|
60
77
|
|
61
78
|
def test_create_linux_virtual_machine_with_custom_data_success
|
62
79
|
linux_virtual_machine_with_custom_data_hash = ApiStub::Requests::Compute::VirtualMachine.linux_virtual_machine_with_custom_data_params
|
63
80
|
@virtual_machines.stub :create_or_update, @custom_data_response do
|
64
|
-
|
81
|
+
@virtual_machines.stub :get, @error_response do
|
82
|
+
assert_equal @service.create_virtual_machine(linux_virtual_machine_with_custom_data_hash), @custom_data_response
|
83
|
+
end
|
65
84
|
end
|
66
85
|
end
|
67
86
|
|
68
87
|
def test_create_windows_virtual_machine_with_custom_data_success
|
69
88
|
windows_virtual_machine_with_custom_data_hash = ApiStub::Requests::Compute::VirtualMachine.windows_virtual_machine_with_custom_data_params
|
70
89
|
@virtual_machines.stub :create_or_update, @custom_data_response do
|
71
|
-
|
90
|
+
@virtual_machines.stub :get, @error_response do
|
91
|
+
assert_equal @service.create_virtual_machine(windows_virtual_machine_with_custom_data_hash), @custom_data_response
|
92
|
+
end
|
72
93
|
end
|
73
94
|
end
|
74
95
|
|
75
96
|
def test_create_virtual_machine_failure
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
97
|
+
@virtual_machines.stub :create_or_update, @error_response do
|
98
|
+
@virtual_machines.stub :get, @error_response do
|
99
|
+
assert_raises MsRestAzure::AzureOperationError do
|
100
|
+
@service.create_virtual_machine(@linux_virtual_machine_hash)
|
101
|
+
end
|
80
102
|
end
|
81
103
|
end
|
82
104
|
|
83
105
|
# Async
|
84
|
-
@virtual_machines.stub :create_or_update_async,
|
85
|
-
|
86
|
-
|
106
|
+
@virtual_machines.stub :create_or_update_async, @error_response do
|
107
|
+
@virtual_machines.stub :get, @error_response do
|
108
|
+
assert_raises MsRestAzure::AzureOperationError do
|
109
|
+
@service.create_virtual_machine(@linux_virtual_machine_hash, true)
|
110
|
+
end
|
87
111
|
end
|
88
112
|
end
|
89
113
|
end
|