stuartpreston-azure-sdk-for-ruby 0.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (292) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +12 -0
  3. data/.travis.yml +10 -0
  4. data/ChangeLog.txt +40 -0
  5. data/Gemfile +16 -0
  6. data/README.md +616 -0
  7. data/Rakefile +133 -0
  8. data/azure.gemspec +44 -0
  9. data/lib/azure.rb +52 -0
  10. data/lib/azure/base_management/affinity_group.rb +32 -0
  11. data/lib/azure/base_management/base_management_service.rb +234 -0
  12. data/lib/azure/base_management/location.rb +27 -0
  13. data/lib/azure/base_management/management_http_request.rb +172 -0
  14. data/lib/azure/base_management/serialization.rb +129 -0
  15. data/lib/azure/base_management/sql_management_http_request.rb +45 -0
  16. data/lib/azure/blob/blob.rb +32 -0
  17. data/lib/azure/blob/blob_service.rb +1423 -0
  18. data/lib/azure/blob/block.rb +31 -0
  19. data/lib/azure/blob/container.rb +32 -0
  20. data/lib/azure/blob/serialization.rb +285 -0
  21. data/lib/azure/cloud_service_management/cloud_service.rb +38 -0
  22. data/lib/azure/cloud_service_management/cloud_service_management_service.rb +140 -0
  23. data/lib/azure/cloud_service_management/serialization.rb +117 -0
  24. data/lib/azure/core.rb +39 -0
  25. data/lib/azure/core/auth/authorizer.rb +36 -0
  26. data/lib/azure/core/auth/shared_key.rb +110 -0
  27. data/lib/azure/core/auth/shared_key_lite.rb +48 -0
  28. data/lib/azure/core/auth/signer.rb +48 -0
  29. data/lib/azure/core/configuration.rb +211 -0
  30. data/lib/azure/core/error.rb +22 -0
  31. data/lib/azure/core/filtered_service.rb +44 -0
  32. data/lib/azure/core/http/debug_filter.rb +36 -0
  33. data/lib/azure/core/http/http_error.rb +88 -0
  34. data/lib/azure/core/http/http_filter.rb +53 -0
  35. data/lib/azure/core/http/http_request.rb +157 -0
  36. data/lib/azure/core/http/http_response.rb +140 -0
  37. data/lib/azure/core/http/retry_policy.rb +74 -0
  38. data/lib/azure/core/http/signer_filter.rb +34 -0
  39. data/lib/azure/core/service.rb +63 -0
  40. data/lib/azure/core/signed_service.rb +43 -0
  41. data/lib/azure/core/utility.rb +190 -0
  42. data/lib/azure/queue/message.rb +30 -0
  43. data/lib/azure/queue/queue.rb +29 -0
  44. data/lib/azure/queue/queue_service.rb +568 -0
  45. data/lib/azure/queue/serialization.rb +106 -0
  46. data/lib/azure/service/access_policy.rb +26 -0
  47. data/lib/azure/service/cors.rb +11 -0
  48. data/lib/azure/service/cors_rule.rb +15 -0
  49. data/lib/azure/service/enumeration_results.rb +21 -0
  50. data/lib/azure/service/logging.rb +32 -0
  51. data/lib/azure/service/metrics.rb +31 -0
  52. data/lib/azure/service/retention_policy.rb +25 -0
  53. data/lib/azure/service/serialization.rb +298 -0
  54. data/lib/azure/service/signed_identifier.rb +30 -0
  55. data/lib/azure/service/storage_service.rb +83 -0
  56. data/lib/azure/service/storage_service_properties.rb +37 -0
  57. data/lib/azure/service_bus/action.rb +21 -0
  58. data/lib/azure/service_bus/auth/wrap_service.rb +89 -0
  59. data/lib/azure/service_bus/auth/wrap_signer.rb +69 -0
  60. data/lib/azure/service_bus/brokered_message.rb +124 -0
  61. data/lib/azure/service_bus/brokered_message_serializer.rb +159 -0
  62. data/lib/azure/service_bus/correlation_filter.rb +45 -0
  63. data/lib/azure/service_bus/empty_rule_action.rb +30 -0
  64. data/lib/azure/service_bus/false_filter.rb +38 -0
  65. data/lib/azure/service_bus/filter.rb +21 -0
  66. data/lib/azure/service_bus/interval.rb +104 -0
  67. data/lib/azure/service_bus/queue.rb +230 -0
  68. data/lib/azure/service_bus/relay.rb +88 -0
  69. data/lib/azure/service_bus/resource.rb +109 -0
  70. data/lib/azure/service_bus/rule.rb +98 -0
  71. data/lib/azure/service_bus/rule_aspect.rb +34 -0
  72. data/lib/azure/service_bus/serialization.rb +161 -0
  73. data/lib/azure/service_bus/service_bus_service.rb +897 -0
  74. data/lib/azure/service_bus/sql_filter.rb +50 -0
  75. data/lib/azure/service_bus/sql_rule_action.rb +50 -0
  76. data/lib/azure/service_bus/subscription.rb +184 -0
  77. data/lib/azure/service_bus/topic.rb +187 -0
  78. data/lib/azure/service_bus/true_filter.rb +38 -0
  79. data/lib/azure/sql_database_management/serialization.rb +111 -0
  80. data/lib/azure/sql_database_management/sql_database.rb +31 -0
  81. data/lib/azure/sql_database_management/sql_database_management_service.rb +200 -0
  82. data/lib/azure/storage_management/serialization.rb +184 -0
  83. data/lib/azure/storage_management/storage_account.rb +40 -0
  84. data/lib/azure/storage_management/storage_management_service.rb +166 -0
  85. data/lib/azure/table/auth/shared_key.rb +92 -0
  86. data/lib/azure/table/auth/shared_key_lite.rb +44 -0
  87. data/lib/azure/table/batch.rb +330 -0
  88. data/lib/azure/table/batch_response.rb +118 -0
  89. data/lib/azure/table/edmtype.rb +127 -0
  90. data/lib/azure/table/entity.rb +31 -0
  91. data/lib/azure/table/guid.rb +24 -0
  92. data/lib/azure/table/query.rb +112 -0
  93. data/lib/azure/table/serialization.rb +108 -0
  94. data/lib/azure/table/table_service.rb +560 -0
  95. data/lib/azure/version.rb +31 -0
  96. data/lib/azure/virtual_machine_image_management/serialization.rb +66 -0
  97. data/lib/azure/virtual_machine_image_management/virtual_machine_disk.rb +25 -0
  98. data/lib/azure/virtual_machine_image_management/virtual_machine_image.rb +25 -0
  99. data/lib/azure/virtual_machine_image_management/virtual_machine_image_management_service.rb +94 -0
  100. data/lib/azure/virtual_machine_management/serialization.rb +463 -0
  101. data/lib/azure/virtual_machine_management/virtual_machine.rb +45 -0
  102. data/lib/azure/virtual_machine_management/virtual_machine_management_service.rb +589 -0
  103. data/lib/azure/virtual_network_management/serialization.rb +186 -0
  104. data/lib/azure/virtual_network_management/virtual_network.rb +36 -0
  105. data/lib/azure/virtual_network_management/virtual_network_management_service.rb +109 -0
  106. data/test/fixtures/32px-fulls-black.jpg +0 -0
  107. data/test/fixtures/affinity_group.xml +33 -0
  108. data/test/fixtures/all_containers.xml +20 -0
  109. data/test/fixtures/all_tables.xml +22 -0
  110. data/test/fixtures/certificate.pem +21 -0
  111. data/test/fixtures/container_acl.xml +11 -0
  112. data/test/fixtures/create_sql_database_server.xml +2 -0
  113. data/test/fixtures/create_storage_desc_error.xml +5 -0
  114. data/test/fixtures/create_storage_extendedprop_error.xml +8 -0
  115. data/test/fixtures/create_storage_extendedpropname_error.xml +6 -0
  116. data/test/fixtures/create_storage_full_error.xml +6 -0
  117. data/test/fixtures/create_storage_label_error.xml +5 -0
  118. data/test/fixtures/create_storage_location_error.xml +5 -0
  119. data/test/fixtures/create_storage_name_error.xml +6 -0
  120. data/test/fixtures/create_table_response_entry.xml +15 -0
  121. data/test/fixtures/delete_storage_container_error.xml +5 -0
  122. data/test/fixtures/delete_storage_error.xml +5 -0
  123. data/test/fixtures/deployment_error.xml +5 -0
  124. data/test/fixtures/empty_xml_file +0 -0
  125. data/test/fixtures/get_storage_account_error.xml +5 -0
  126. data/test/fixtures/get_storage_account_properties.xml +32 -0
  127. data/test/fixtures/get_storage_account_properties_new.xml +32 -0
  128. data/test/fixtures/http_error.xml +5 -0
  129. data/test/fixtures/insert_entity_response_entry.xml +25 -0
  130. data/test/fixtures/list_affinity_groups.xml +22 -0
  131. data/test/fixtures/list_blobs.xml +121 -0
  132. data/test/fixtures/list_block_all_with_none_committed.xml +22 -0
  133. data/test/fixtures/list_blocks_all.xml +23 -0
  134. data/test/fixtures/list_blocks_committed.xml +13 -0
  135. data/test/fixtures/list_cloud_services.xml +39 -0
  136. data/test/fixtures/list_containers.xml +38 -0
  137. data/test/fixtures/list_firewall_management_endpoint.xml +27 -0
  138. data/test/fixtures/list_images.xml +110 -0
  139. data/test/fixtures/list_locations.xml +62 -0
  140. data/test/fixtures/list_page_ranges.xml +11 -0
  141. data/test/fixtures/list_sql_database.xml +36 -0
  142. data/test/fixtures/list_sql_server_firewall.xml +23 -0
  143. data/test/fixtures/list_storage_account_single.xml +25 -0
  144. data/test/fixtures/list_storage_accounts.xml +46 -0
  145. data/test/fixtures/list_virtual_networks.xml +92 -0
  146. data/test/fixtures/logging.xml +11 -0
  147. data/test/fixtures/management_certificate.pem +55 -0
  148. data/test/fixtures/messages.xml +12 -0
  149. data/test/fixtures/metrics.xml +10 -0
  150. data/test/fixtures/privatekey.key +28 -0
  151. data/test/fixtures/query_entities_empty_response.xml +7 -0
  152. data/test/fixtures/query_entities_response.xml +45 -0
  153. data/test/fixtures/queue_service_properties.xml +22 -0
  154. data/test/fixtures/queue_service_properties_original.xml +19 -0
  155. data/test/fixtures/queues.xml +16 -0
  156. data/test/fixtures/retention_policy.xml +5 -0
  157. data/test/fixtures/sb_default_create_queue_response.xml +23 -0
  158. data/test/fixtures/sb_default_create_relay_response.xml +15 -0
  159. data/test/fixtures/sb_default_create_topic_response.xml +18 -0
  160. data/test/fixtures/sb_get_access_token_response.txt +1 -0
  161. data/test/fixtures/sb_queues_runtime_peek_message_response_headers.txt +9 -0
  162. data/test/fixtures/storage_service_properties.xml +54 -0
  163. data/test/fixtures/update_storage_account.xml +16 -0
  164. data/test/fixtures/update_storage_error.xml +5 -0
  165. data/test/fixtures/updated_storage_accounts.xml +53 -0
  166. data/test/fixtures/virtual_machine.xml +113 -0
  167. data/test/fixtures/windows_virtual_machine.xml +106 -0
  168. data/test/integration/affinity_group/Affinity_test.rb +55 -0
  169. data/test/integration/affinity_group/Create_Affinity_test.rb +63 -0
  170. data/test/integration/affinity_group/Delete_Affinity_test.rb +56 -0
  171. data/test/integration/affinity_group/List_Affinity_test.rb +41 -0
  172. data/test/integration/affinity_group/Update_Affinity_test.rb +82 -0
  173. data/test/integration/blob/blob_gb18030_test.rb +199 -0
  174. data/test/integration/blob/blob_metadata_test.rb +75 -0
  175. data/test/integration/blob/blob_pages_test.rb +119 -0
  176. data/test/integration/blob/blob_properties_test.rb +77 -0
  177. data/test/integration/blob/block_blob_test.rb +254 -0
  178. data/test/integration/blob/container/container_acl_test.rb +69 -0
  179. data/test/integration/blob/container/container_metadata_test.rb +50 -0
  180. data/test/integration/blob/container/create_container_test.rb +60 -0
  181. data/test/integration/blob/container/delete_container_test.rb +39 -0
  182. data/test/integration/blob/container/get_container_properties_test.rb +48 -0
  183. data/test/integration/blob/container/list_containers_test.rb +79 -0
  184. data/test/integration/blob/container/root_container_test.rb +54 -0
  185. data/test/integration/blob/copy_blob_test.rb +113 -0
  186. data/test/integration/blob/create_blob_snapshot_test.rb +80 -0
  187. data/test/integration/blob/create_page_blob_test.rb +83 -0
  188. data/test/integration/blob/delete_blob_test.rb +159 -0
  189. data/test/integration/blob/get_blob_test.rb +65 -0
  190. data/test/integration/blob/informative_errors_test.rb +39 -0
  191. data/test/integration/blob/lease/acquire_lease_test.rb +36 -0
  192. data/test/integration/blob/lease/break_lease_test.rb +40 -0
  193. data/test/integration/blob/lease/release_lease_test.rb +40 -0
  194. data/test/integration/blob/lease/renew_lease_test.rb +42 -0
  195. data/test/integration/blob/list_blobs_test.rb +113 -0
  196. data/test/integration/cloud_service/Cloud_Create_test.rb +44 -0
  197. data/test/integration/cloud_service/Cloud_Delete_test.rb +44 -0
  198. data/test/integration/database/create_sql_server_firewall_test.rb +86 -0
  199. data/test/integration/database/create_sql_server_test.rb +53 -0
  200. data/test/integration/database/delete_sql_server_firewall_test.rb +70 -0
  201. data/test/integration/database/delete_sql_server_test.rb +58 -0
  202. data/test/integration/database/list_sql_server_firewall_test.rb +45 -0
  203. data/test/integration/database/list_sql_servers_test.rb +44 -0
  204. data/test/integration/database/reset_password_sql_server_test.rb +55 -0
  205. data/test/integration/location/Location_List_test.rb +39 -0
  206. data/test/integration/queue/clear_messages_test.rb +42 -0
  207. data/test/integration/queue/create_message_test.rb +75 -0
  208. data/test/integration/queue/create_queue_test.rb +50 -0
  209. data/test/integration/queue/delete_message_test.rb +67 -0
  210. data/test/integration/queue/delete_queue_test.rb +45 -0
  211. data/test/integration/queue/informative_errors_test.rb +42 -0
  212. data/test/integration/queue/list_messages_encoded_test.rb +79 -0
  213. data/test/integration/queue/list_messages_test.rb +79 -0
  214. data/test/integration/queue/list_queues_test.rb +44 -0
  215. data/test/integration/queue/peek_messages_test.rb +59 -0
  216. data/test/integration/queue/queue_gb18030_test.rb +131 -0
  217. data/test/integration/queue/queue_metadata_test.rb +40 -0
  218. data/test/integration/queue/update_message_test.rb +74 -0
  219. data/test/integration/service_bus/informative_errors_test.rb +37 -0
  220. data/test/integration/service_bus/queues_scenario_test.rb +200 -0
  221. data/test/integration/service_bus/queues_test.rb +266 -0
  222. data/test/integration/service_bus/relay_test.rb +132 -0
  223. data/test/integration/service_bus/rules_test.rb +145 -0
  224. data/test/integration/service_bus/sb_queue_gb18030_test.rb +182 -0
  225. data/test/integration/service_bus/scenario_test.rb +101 -0
  226. data/test/integration/service_bus/subscriptions_test.rb +211 -0
  227. data/test/integration/service_bus/topics_scenario_test.rb +406 -0
  228. data/test/integration/service_bus/topics_test.rb +129 -0
  229. data/test/integration/storage_management/storage_management_test.rb +160 -0
  230. data/test/integration/table/create_table_test.rb +36 -0
  231. data/test/integration/table/delete_entity_batch_test.rb +107 -0
  232. data/test/integration/table/delete_entity_test.rb +94 -0
  233. data/test/integration/table/delete_table_test.rb +40 -0
  234. data/test/integration/table/get_table_test.rb +37 -0
  235. data/test/integration/table/informative_errors_test.rb +39 -0
  236. data/test/integration/table/insert_entity_batch_test.rb +100 -0
  237. data/test/integration/table/insert_entity_test.rb +88 -0
  238. data/test/integration/table/insert_or_merge_entity_batch_test.rb +159 -0
  239. data/test/integration/table/insert_or_merge_entity_test.rb +143 -0
  240. data/test/integration/table/insert_or_replace_entity_batch_test.rb +152 -0
  241. data/test/integration/table/insert_or_replace_entity_test.rb +137 -0
  242. data/test/integration/table/merge_entity_batch_test.rb +128 -0
  243. data/test/integration/table/merge_entity_test.rb +113 -0
  244. data/test/integration/table/query_entities_test.rb +195 -0
  245. data/test/integration/table/query_tables_test.rb +43 -0
  246. data/test/integration/table/query_test.rb +251 -0
  247. data/test/integration/table/table_acl_test.rb +52 -0
  248. data/test/integration/table/table_gb18030_test.rb +355 -0
  249. data/test/integration/table/update_entity_batch_test.rb +149 -0
  250. data/test/integration/table/update_entity_test.rb +131 -0
  251. data/test/integration/test_helper.rb +42 -0
  252. data/test/integration/vm/VM_Create_test.rb +260 -0
  253. data/test/integration/vm/VM_Delete_test.rb +55 -0
  254. data/test/integration/vm/VM_Operations_test.rb +173 -0
  255. data/test/integration/vm_image/virtual_machine_disk_test.rb +37 -0
  256. data/test/integration/vm_image/virtual_machine_image_test.rb +37 -0
  257. data/test/integration/vnet/Virtual_Network_Create_test.rb +122 -0
  258. data/test/integration/vnet/Virtual_Network_list_test.rb +53 -0
  259. data/test/support/env.rb +19 -0
  260. data/test/support/fixtures.rb +36 -0
  261. data/test/support/name_generator.rb +168 -0
  262. data/test/support/stubs.rb +42 -0
  263. data/test/support/virtual_machine_name_generator.rb +102 -0
  264. data/test/support/virtual_network_helper.rb +73 -0
  265. data/test/test_helper.rb +54 -0
  266. data/test/unit/affinity_group/affinity_group_test.rb +192 -0
  267. data/test/unit/affinity_group/serialization_test.rb +88 -0
  268. data/test/unit/base_management/location_test.rb +57 -0
  269. data/test/unit/blob/blob_service_test.rb +1947 -0
  270. data/test/unit/cloud_service_management/cloud_service_management_service_test.rb +94 -0
  271. data/test/unit/cloud_service_management/serialization_test.rb +169 -0
  272. data/test/unit/core/auth/shared_key_lite_test.rb +51 -0
  273. data/test/unit/core/auth/shared_key_test.rb +58 -0
  274. data/test/unit/core/auth/signer_test.rb +30 -0
  275. data/test/unit/core/http/http_error_test.rb +57 -0
  276. data/test/unit/core/http/http_request_test.rb +66 -0
  277. data/test/unit/core/http/http_response_test.rb +45 -0
  278. data/test/unit/core/http/retry_policy_test.rb +23 -0
  279. data/test/unit/database/serialization_test.rb +97 -0
  280. data/test/unit/database/sql_database_server_service_test.rb +288 -0
  281. data/test/unit/service/serialization_test.rb +533 -0
  282. data/test/unit/service/storage_service_test.rb +293 -0
  283. data/test/unit/storage_management/serialization_test.rb +232 -0
  284. data/test/unit/storage_management/storage_management_service_test.rb +261 -0
  285. data/test/unit/table/edmtype_test.rb +108 -0
  286. data/test/unit/virtual_machine_image_management/serialization_test.rb +35 -0
  287. data/test/unit/virtual_machine_image_management/virtual_machine_image_management_service_test.rb +65 -0
  288. data/test/unit/virtual_machine_management/serialization_test.rb +258 -0
  289. data/test/unit/virtual_machine_management/virtual_machine_management_service_test.rb +440 -0
  290. data/test/unit/vnet/serialization_test.rb +187 -0
  291. data/test/unit/vnet/virtual_network_management_service_test.rb +131 -0
  292. metadata +476 -0
@@ -0,0 +1,113 @@
1
+ <?xml version="1.0"?>
2
+ <Deployment xmlns="http://schemas.microsoft.com/windowsazure" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
3
+ <Name>deployment-name</Name>
4
+ <DeploymentSlot>Production</DeploymentSlot>
5
+ <PrivateID>9f30f91509484fc1909a48ada256eb4a</PrivateID>
6
+ <Status>Running</Status>
7
+ <Label>Y21GdWFtRnVaZz09</Label>
8
+ <Url>http://instance-name.cloudapp.net/</Url>
9
+ <Configuration>PFNlcnZpY2VDb25maWd1cmF0aW9uIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2h
10
+ lbWEtaW5zdGFuY2UiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL1NlcnZpY2VIb3N0aW5nLzIwMDgvMTAvU2VydmljZUNvbmZpZ3VyYXRpb24iPg0KICA8Um9sZSBuYW1lPSJkZWxldGUtbm9
11
+ kZS1mYWNlNSI+DQogICAgPEluc3RhbmNlcyBjb3VudD0iMSIgLz4NCiAgPC9Sb2xlPg0KPC9TZXJ2aWNlQ29uZmlndXJhdGlvbj4=</Configuration>
12
+ <RoleInstanceList>
13
+ <RoleInstance>
14
+ <RoleName>instance-name</RoleName>
15
+ <InstanceName>instance-name</InstanceName>
16
+ <InstanceStatus>ReadyRole</InstanceStatus>
17
+ <InstanceUpgradeDomain>0</InstanceUpgradeDomain>
18
+ <InstanceFaultDomain>0</InstanceFaultDomain>
19
+ <InstanceSize>Small</InstanceSize>
20
+ <InstanceStateDetails/>
21
+ <IpAddress>100.65.164.123</IpAddress>
22
+ <InstanceEndpoints>
23
+ <InstanceEndpoint>
24
+ <Name>SSH</Name>
25
+ <Vip>137.116.17.187</Vip>
26
+ <PublicPort>22</PublicPort>
27
+ <LocalPort>22</LocalPort>
28
+ <Protocol>tcp</Protocol>
29
+ </InstanceEndpoint>
30
+ <InstanceEndpoint>
31
+ <Name>tcp-port-3889</Name>
32
+ <Vip>137.116.17.187</Vip>
33
+ <PublicPort>3889</PublicPort>
34
+ <LocalPort>3889</LocalPort>
35
+ <Protocol>tcp</Protocol>
36
+ </InstanceEndpoint>
37
+ <InstanceEndpoint>
38
+ <Name>tcp-port-80</Name>
39
+ <Vip>137.116.17.187</Vip>
40
+ <PublicPort>80</PublicPort>
41
+ <LocalPort>80</LocalPort>
42
+ <Protocol>tcp</Protocol>
43
+ </InstanceEndpoint>
44
+ </InstanceEndpoints>
45
+ <PowerState>Started</PowerState>
46
+ <HostName>host-name</HostName>
47
+ </RoleInstance>
48
+ </RoleInstanceList>
49
+ <UpgradeDomainCount>1</UpgradeDomainCount>
50
+ <RoleList>
51
+ <Role i:type="PersistentVMRole">
52
+ <RoleName>instance-name</RoleName>
53
+ <OsVersion/>
54
+ <RoleType>PersistentVMRole</RoleType>
55
+ <ConfigurationSets>
56
+ <ConfigurationSet i:type="NetworkConfigurationSet">
57
+ <ConfigurationSetType>NetworkConfiguration</ConfigurationSetType>
58
+ <InputEndpoints>
59
+ <InputEndpoint>
60
+ <LocalPort>22</LocalPort>
61
+ <Name>SSH</Name>
62
+ <Port>22</Port>
63
+ <Protocol>tcp</Protocol>
64
+ <Vip>137.116.17.187</Vip>
65
+ </InputEndpoint>
66
+ <InputEndpoint>
67
+ <LocalPort>3889</LocalPort>
68
+ <Name>tcp-port-3889</Name>
69
+ <Port>3889</Port>
70
+ <Protocol>tcp</Protocol>
71
+ <Vip>137.116.17.187</Vip>
72
+ </InputEndpoint>
73
+ <InputEndpoint>
74
+ <LocalPort>80</LocalPort>
75
+ <Name>tcp-port-80</Name>
76
+ <Port>80</Port>
77
+ <Protocol>tcp</Protocol>
78
+ <Vip>137.117.17.187</Vip>
79
+ </InputEndpoint>
80
+ </InputEndpoints>
81
+ <SubnetNames/>
82
+ </ConfigurationSet>
83
+ </ConfigurationSets>
84
+ <AvailabilitySetName>vm-availability</AvailabilitySetName>
85
+ <DataVirtualHardDisks/>
86
+ <OSVirtualHardDisk>
87
+ <HostCaching>ReadWrite</HostCaching>
88
+ <DiskName>disk-name-0-201304290612030573</DiskName>
89
+ <MediaLink>http://suse.blob.core.windows.net/vhds/disk_2013_04_29_11_41.vhd</MediaLink>
90
+ <SourceImageName>5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-63APR20130415</SourceImageName>
91
+ <OS>Linux</OS>
92
+ </OSVirtualHardDisk>
93
+ <RoleSize>Small</RoleSize>
94
+ </Role>
95
+ </RoleList>
96
+ <SdkVersion/>
97
+ <Locked>false</Locked>
98
+ <RollbackAllowed>false</RollbackAllowed>
99
+ <VirtualNetworkName>test-virtual-network</VirtualNetworkName>
100
+ <CreatedTime>2013-04-29T06:12:01Z</CreatedTime>
101
+ <LastModifiedTime>2013-04-29T10:45:19Z</LastModifiedTime>
102
+ <ExtendedProperties/>
103
+ <PersistentVMDowntime>
104
+ <StartTime>2013-04-11T08:00:00Z</StartTime>
105
+ <EndTime>2013-04-13T08:00:00Z</EndTime>
106
+ <Status>PersistentVMUpdateCompleted</Status>
107
+ </PersistentVMDowntime>
108
+ <VirtualIPs>
109
+ <VirtualIP>
110
+ <Address>137.116.17.187</Address>
111
+ </VirtualIP>
112
+ </VirtualIPs>
113
+ </Deployment>
@@ -0,0 +1,106 @@
1
+ <?xml version="1.0"?>
2
+ <Deployment xmlns="http://schemas.microsoft.com/windowsazure" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
3
+ <Name>deployment-name</Name>
4
+ <DeploymentSlot>Production</DeploymentSlot>
5
+ <PrivateID>9f30f91509484fc1909a48ada256eb4a</PrivateID>
6
+ <Status>Running</Status>
7
+ <Label>Y21GdWFtRnVaZz09</Label>
8
+ <Url>http://instance-name.cloudapp.net/</Url>
9
+ <Configuration>PFNlcnZpY2VDb25maWd1cmF0aW9uIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2h
10
+ lbWEtaW5zdGFuY2UiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL1NlcnZpY2VIb3N0aW5nLzIwMDgvMTAvU2VydmljZUNvbmZpZ3VyYXRpb24iPg0KICA8Um9sZSBuYW1lPSJkZWxldGUtbm9
11
+ kZS1mYWNlNSI+DQogICAgPEluc3RhbmNlcyBjb3VudD0iMSIgLz4NCiAgPC9Sb2xlPg0KPC9TZXJ2aWNlQ29uZmlndXJhdGlvbj4=</Configuration>
12
+ <RoleInstanceList>
13
+ <RoleInstance>
14
+ <RoleName>windows-instance</RoleName>
15
+ <InstanceName>windows-instance</InstanceName>
16
+ <InstanceStatus>ReadyRole</InstanceStatus>
17
+ <InstanceUpgradeDomain>0</InstanceUpgradeDomain>
18
+ <InstanceFaultDomain>0</InstanceFaultDomain>
19
+ <InstanceSize>Small</InstanceSize>
20
+ <InstanceStateDetails/>
21
+ <IpAddress>100.65.164.123</IpAddress>
22
+ <InstanceEndpoints>
23
+ <InstanceEndpoint>
24
+ <Name>WINRM-HTTP</Name>
25
+ <Vip>137.116.17.187</Vip>
26
+ <PublicPort>5985</PublicPort>
27
+ <LocalPort>5985</LocalPort>
28
+ <Protocol>tcp</Protocol>
29
+ </InstanceEndpoint>
30
+ <InstanceEndpoint>
31
+ <Name>tcp-port-3889</Name>
32
+ <Vip>137.116.17.187</Vip>
33
+ <PublicPort>3889</PublicPort>
34
+ <LocalPort>3889</LocalPort>
35
+ <Protocol>tcp</Protocol>
36
+ </InstanceEndpoint>
37
+ <InstanceEndpoint>
38
+ <Name>tcp-port-80</Name>
39
+ <Vip>137.116.17.187</Vip>
40
+ <PublicPort>80</PublicPort>
41
+ <LocalPort>80</LocalPort>
42
+ <Protocol>tcp</Protocol>
43
+ </InstanceEndpoint>
44
+ </InstanceEndpoints>
45
+ <PowerState>Started</PowerState>
46
+ <HostName>host-name</HostName>
47
+ </RoleInstance>
48
+ </RoleInstanceList>
49
+ <UpgradeDomainCount>1</UpgradeDomainCount>
50
+ <RoleList>
51
+ <Role i:type="PersistentVMRole">
52
+ <RoleName>instance-name</RoleName>
53
+ <OsVersion/>
54
+ <RoleType>PersistentVMRole</RoleType>
55
+ <ConfigurationSets>
56
+ <ConfigurationSet i:type="NetworkConfigurationSet">
57
+ <ConfigurationSetType>NetworkConfiguration</ConfigurationSetType>
58
+ <InputEndpoints>
59
+ <InputEndpoint>
60
+ <LocalPort>22</LocalPort>
61
+ <Name>SSH</Name>
62
+ <Port>22</Port>
63
+ <Protocol>tcp</Protocol>
64
+ <Vip>137.116.17.187</Vip>
65
+ </InputEndpoint>
66
+ <InputEndpoint>
67
+ <LocalPort>3889</LocalPort>
68
+ <Name>tcp-port-3889</Name>
69
+ <Port>3889</Port>
70
+ <Protocol>tcp</Protocol>
71
+ <Vip>137.116.17.187</Vip>
72
+ </InputEndpoint>
73
+ <InputEndpoint>
74
+ <LocalPort>80</LocalPort>
75
+ <Name>tcp-port-80</Name>
76
+ <Port>80</Port>
77
+ <Protocol>tcp</Protocol>
78
+ <Vip>137.117.17.187</Vip>
79
+ </InputEndpoint>
80
+ </InputEndpoints>
81
+ <SubnetNames/>
82
+ </ConfigurationSet>
83
+ </ConfigurationSets>
84
+ <DataVirtualHardDisks/>
85
+ <OSVirtualHardDisk>
86
+ <HostCaching>ReadWrite</HostCaching>
87
+ <DiskName>disk-name-0-201304290612030573</DiskName>
88
+ <MediaLink>http://suse.blob.core.windows.net/vhds/disk_2013_04_29_11_41.vhd</MediaLink>
89
+ <SourceImageName>5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-63APR20130415</SourceImageName>
90
+ <OS>Windows</OS>
91
+ </OSVirtualHardDisk>
92
+ <RoleSize>Small</RoleSize>
93
+ </Role>
94
+ </RoleList>
95
+ <SdkVersion/>
96
+ <Locked>false</Locked>
97
+ <RollbackAllowed>false</RollbackAllowed>
98
+ <CreatedTime>2013-04-29T06:12:01Z</CreatedTime>
99
+ <LastModifiedTime>2013-04-29T10:45:19Z</LastModifiedTime>
100
+ <ExtendedProperties/>
101
+ <PersistentVMDowntime>
102
+ <StartTime>2013-04-11T08:00:00Z</StartTime>
103
+ <EndTime>2013-04-13T08:00:00Z</EndTime>
104
+ <Status>PersistentVMUpdateCompleted</Status>
105
+ </PersistentVMDowntime>
106
+ </Deployment>
@@ -0,0 +1,55 @@
1
+ #-------------------------------------------------------------------------
2
+ # Copyright 2013 Microsoft Open Technologies, Inc.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ #--------------------------------------------------------------------------
15
+ require 'integration/test_helper'
16
+
17
+ describe Azure::BaseManagementService do
18
+
19
+ subject { Azure::BaseManagementService.new }
20
+ let(:affinity_group_name) { AffinityGroupNameHelper.name }
21
+
22
+ describe '#affinity_group' do
23
+ let(:label_name) { 'Label' }
24
+ let(:options) { { description: 'Some Description' } }
25
+
26
+ before do
27
+ Loggerx.expects(:puts).returns(nil).at_least(0)
28
+ end
29
+
30
+ it 'get affinity group properties for an existing group' do
31
+ subject.create_affinity_group(affinity_group_name,
32
+ WindowsImageLocation,
33
+ label_name,
34
+ options)
35
+ affinity = subject.get_affinity_group(affinity_group_name)
36
+ affinity.must_be_kind_of Azure::BaseManagement::AffinityGroup
37
+ affinity.name.must_equal affinity_group_name
38
+ affinity.label.must_equal label_name
39
+ affinity.description.must_equal options[:description]
40
+ affinity.capability.wont_be_nil
41
+ affinity.capability.wont_equal []
42
+ AffinityGroupNameHelper.clean
43
+ end
44
+
45
+ it 'gets properties for an non existing affinity group name' do
46
+ affinity_group_name = 'unknown'
47
+ begin
48
+ subject.get_affinity_group(affinity_group_name)
49
+ rescue Azure::Error::Error => error
50
+ error.status_code.must_equal 404
51
+ error.type.must_equal 'AffinityGroupNotFound'
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,63 @@
1
+ #-------------------------------------------------------------------------
2
+ # Copyright 2013 Microsoft Open Technologies, Inc.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ #--------------------------------------------------------------------------
15
+ require 'integration/test_helper'
16
+
17
+ describe Azure::BaseManagementService do
18
+
19
+ subject { Azure::BaseManagementService.new }
20
+ let(:affinity_group_name) { random_string('affinity-group-', 10) }
21
+ let(:location) { WindowsImageLocation }
22
+
23
+ before do
24
+ Loggerx.expects(:puts).returns(nil).at_least(0)
25
+ end
26
+
27
+ let(:label) { 'Label Name' }
28
+ let(:options) { { description: 'sample description' } }
29
+
30
+ describe '#create_affinity_group' do
31
+
32
+ it 'create new affinity group with valid params' do
33
+ subject.create_affinity_group(affinity_group_name,
34
+ location,
35
+ label,
36
+ options)
37
+ affinity_group = subject.get_affinity_group(affinity_group_name)
38
+ affinity_group.must_be_kind_of Azure::BaseManagement::AffinityGroup
39
+ affinity_group.name.wont_be_nil
40
+ affinity_group.location.must_equal location
41
+ affinity_group.name.must_equal affinity_group_name
42
+ affinity_group.label.must_equal label
43
+ affinity_group.description.must_equal options[:description]
44
+ end
45
+
46
+ it 'errors if the affinity group location is not valid' do
47
+ exception = assert_raises(RuntimeError) do
48
+ subject.create_affinity_group(affinity_group_name, 'North West', label)
49
+ end
50
+ assert_match(/Allowed values are East Asia/i, exception.message)
51
+ end
52
+
53
+ it 'create new affinity group without optional params' do
54
+ subject.create_affinity_group(affinity_group_name, location, label)
55
+ affinity_group = subject.get_affinity_group(affinity_group_name)
56
+ affinity_group.must_be_kind_of Azure::BaseManagement::AffinityGroup
57
+ affinity_group.name.wont_be_nil
58
+ affinity_group.location.must_equal location
59
+ affinity_group.name.must_equal affinity_group_name
60
+ affinity_group.label.must_equal label
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,56 @@
1
+ #-------------------------------------------------------------------------
2
+ # Copyright 2013 Microsoft Open Technologies, Inc.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ #--------------------------------------------------------------------------
15
+ require 'integration/test_helper'
16
+
17
+ describe Azure::BaseManagementService do
18
+
19
+ before do
20
+ Loggerx.expects(:puts).returns(nil).at_least(0)
21
+ end
22
+
23
+ subject { Azure::BaseManagementService.new }
24
+ let(:affinity_group_name) { AffinityGroupNameHelper.name }
25
+ let(:location) { WindowsImageLocation }
26
+ let(:label) { 'Label Name' }
27
+
28
+ describe '#delete_affinity_group' do
29
+
30
+ it 'delete affinity group' do
31
+ subject.create_affinity_group(affinity_group_name, location, label)
32
+ subject.delete_affinity_group(affinity_group_name)
33
+ affinity_list = subject.list_affinity_groups.select do |x|
34
+ x.name == affinity_group_name
35
+ end.first
36
+ affinity_list.must_be_nil
37
+ end
38
+
39
+ it 'errors if the affinity group does not exist' do
40
+ affinity_group_name = 'unknown-server'
41
+ begin
42
+ subject.delete_affinity_group(affinity_group_name)
43
+ rescue Azure::Error::Error => error
44
+ error.status_code.must_equal 404
45
+ error.type.must_equal 'AffinityGroupNotFound'
46
+ end
47
+ end
48
+
49
+ # Pending Test Case.
50
+ # it 'errors while deleting an affinity group associated with services' do
51
+ # skip('Need API to associate hosted services and'\
52
+ # => ' storage account with affinity group.')
53
+ # end
54
+
55
+ end
56
+ end
@@ -0,0 +1,41 @@
1
+ #-------------------------------------------------------------------------
2
+ # # Copyright (c) Microsoft and contributors. All rights reserved.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ #--------------------------------------------------------------------------
15
+ require 'integration/test_helper'
16
+
17
+ describe Azure::BaseManagementService do
18
+
19
+ subject { Azure::BaseManagementService.new }
20
+ let(:affinity_group_name) { AffinityGroupNameHelper.name }
21
+
22
+ before do
23
+ Loggerx.expects(:puts).returns(nil).at_least(0)
24
+ subject.create_affinity_group(affinity_group_name,
25
+ WindowsImageLocation,
26
+ 'Label Name')
27
+ end
28
+
29
+ after { AffinityGroupNameHelper.clean }
30
+
31
+ describe '#list_affinity_groups' do
32
+ it 'list affinity groups' do
33
+ affinity_groups = subject.list_affinity_groups
34
+ affinity_group = affinity_groups.first
35
+ affinity_groups.wont_be_nil
36
+ affinity_groups.must_be_kind_of Array
37
+ affinity_group.must_be_kind_of Azure::BaseManagement::AffinityGroup
38
+ assert_operator affinity_groups.size, :>=, 1
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,82 @@
1
+ #-------------------------------------------------------------------------
2
+ # Copyright 2013 Microsoft Open Technologies, Inc.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ #--------------------------------------------------------------------------
15
+ require 'integration/test_helper'
16
+
17
+ describe Azure::BaseManagementService do
18
+ AffinityGroupName = random_string('affinity-group-', 10)
19
+ Azure::BaseManagementService.new.create_affinity_group(
20
+ AffinityGroupName,
21
+ WindowsImageLocation,
22
+ 'Label'
23
+ )
24
+
25
+ before do
26
+ Loggerx.expects(:puts).returns(nil).at_least(0)
27
+ end
28
+
29
+ subject { Azure::BaseManagementService.new }
30
+ let(:affinity_group_name) { AffinityGroupName }
31
+ let(:location) { 'Central US' }
32
+
33
+ describe '#update_affinity_group' do
34
+ let(:options) { { description: 'sample description' } }
35
+
36
+ it 'update affinity group' do
37
+ label = 'updated label'
38
+ subject.update_affinity_group(affinity_group_name, label)
39
+ affinity_group = subject.get_affinity_group(affinity_group_name)
40
+ affinity_group.wont_be_nil
41
+ affinity_group.label.must_equal label
42
+ end
43
+
44
+ it "update affinity group's description with valid input" do
45
+ label = 'Updated Label'
46
+ subject.update_affinity_group(affinity_group_name, label, options)
47
+ affinity_group = subject.get_affinity_group(affinity_group_name)
48
+ affinity_group.wont_be_nil
49
+ affinity_group.description.must_equal options[:description]
50
+ affinity_group.label.must_equal label
51
+ end
52
+
53
+ it "should update only affinity group's label" do
54
+ label = 'Updated Label'
55
+ affinity_group1 = subject.get_affinity_group(affinity_group_name)
56
+ subject.update_affinity_group(affinity_group_name, label)
57
+ affinity_group = subject.get_affinity_group(affinity_group_name)
58
+ affinity_group.wont_be_nil
59
+ affinity_group.description.must_equal affinity_group1.description
60
+ affinity_group.label.must_equal label
61
+ end
62
+
63
+ it 'error if description content exceeds allowed limit of 1024 chars' do
64
+ options = { description: 'a' * 1025 }
65
+ exception = assert_raises(RuntimeError) do
66
+ subject.update_affinity_group(affinity_group_name,
67
+ 'this is update operation',
68
+ options)
69
+ end
70
+ assert_match(/The description for the affinity group is invalid./i,
71
+ exception.message)
72
+ end
73
+
74
+ it 'error in case of updating non existing affinity group' do
75
+ affinity_name = 'unkown-affinity-group'
76
+ exception = assert_raises(Azure::Error::Error) do
77
+ subject.update_affinity_group(affinity_name, 'updated label', options)
78
+ end
79
+ assert_match(/The affinity group does not exist./i, exception.message)
80
+ end
81
+ end
82
+ end