far-gem 0.5.1 → 0.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +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
|