azure 0.7.1 → 0.7.3

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 (216) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +31 -0
  3. data/azure.gemspec +2 -1
  4. data/lib/azure.rb +1 -0
  5. data/lib/azure/base_management/management_http_request.rb +3 -12
  6. data/lib/azure/blob/auth/shared_access_signature.rb +4 -0
  7. data/lib/azure/blob/blob_service.rb +2 -2
  8. data/lib/azure/client_services.rb +13 -13
  9. data/lib/azure/core/http/http_request.rb +3 -14
  10. data/lib/azure/core/service.rb +2 -1
  11. data/lib/azure/http_client.rb +1 -17
  12. data/lib/azure/http_response_helper.rb +38 -0
  13. data/lib/azure/sql_database_management/serialization.rb +4 -0
  14. data/lib/azure/sql_database_management/sql_database_management_service.rb +10 -9
  15. data/lib/azure/version.rb +1 -1
  16. data/lib/azure/virtual_machine_image_management/virtual_machine_image_management_service.rb +2 -2
  17. data/lib/azure/virtual_machine_management/serialization.rb +21 -12
  18. data/lib/azure/virtual_machine_management/virtual_machine_management_service.rb +8 -3
  19. metadata +17 -199
  20. data/test/fixtures/32px-fulls-black.jpg +0 -0
  21. data/test/fixtures/affinity_group.xml +0 -33
  22. data/test/fixtures/all_containers.xml +0 -20
  23. data/test/fixtures/all_tables.xml +0 -22
  24. data/test/fixtures/container_acl.xml +0 -11
  25. data/test/fixtures/create_sql_database_server.xml +0 -2
  26. data/test/fixtures/create_storage_desc_error.xml +0 -5
  27. data/test/fixtures/create_storage_extendedprop_error.xml +0 -8
  28. data/test/fixtures/create_storage_extendedpropname_error.xml +0 -6
  29. data/test/fixtures/create_storage_full_error.xml +0 -6
  30. data/test/fixtures/create_storage_label_error.xml +0 -5
  31. data/test/fixtures/create_storage_location_error.xml +0 -5
  32. data/test/fixtures/create_storage_name_error.xml +0 -6
  33. data/test/fixtures/create_table_response_entry.xml +0 -15
  34. data/test/fixtures/delete_storage_container_error.xml +0 -5
  35. data/test/fixtures/delete_storage_error.xml +0 -5
  36. data/test/fixtures/deployment_error.xml +0 -5
  37. data/test/fixtures/empty_xml_file +0 -0
  38. data/test/fixtures/get_storage_account_error.xml +0 -5
  39. data/test/fixtures/get_storage_account_properties.xml +0 -34
  40. data/test/fixtures/get_storage_account_properties_new.xml +0 -32
  41. data/test/fixtures/http_error.xml +0 -5
  42. data/test/fixtures/insert_entity_response_entry.xml +0 -25
  43. data/test/fixtures/list_affinity_groups.xml +0 -22
  44. data/test/fixtures/list_blobs.xml +0 -121
  45. data/test/fixtures/list_block_all_with_none_committed.xml +0 -22
  46. data/test/fixtures/list_blocks_all.xml +0 -23
  47. data/test/fixtures/list_blocks_committed.xml +0 -13
  48. data/test/fixtures/list_cloud_services.xml +0 -39
  49. data/test/fixtures/list_containers.xml +0 -38
  50. data/test/fixtures/list_firewall_management_endpoint.xml +0 -27
  51. data/test/fixtures/list_locations.xml +0 -212
  52. data/test/fixtures/list_os_images.xml +0 -110
  53. data/test/fixtures/list_page_ranges.xml +0 -11
  54. data/test/fixtures/list_sql_database.xml +0 -24
  55. data/test/fixtures/list_sql_server_firewall.xml +0 -23
  56. data/test/fixtures/list_storage_account_single.xml +0 -25
  57. data/test/fixtures/list_storage_accounts.xml +0 -48
  58. data/test/fixtures/list_virtual_networks.xml +0 -91
  59. data/test/fixtures/list_vm_images.xml +0 -21
  60. data/test/fixtures/logging.xml +0 -11
  61. data/test/fixtures/management_certificate.pem +0 -55
  62. data/test/fixtures/management_certificate.pfx +0 -0
  63. data/test/fixtures/management_certificate.publishsettings +0 -12
  64. data/test/fixtures/messages.xml +0 -12
  65. data/test/fixtures/metrics.xml +0 -10
  66. data/test/fixtures/privatekey.key +0 -28
  67. data/test/fixtures/query_entities_empty_response.xml +0 -7
  68. data/test/fixtures/query_entities_response.xml +0 -45
  69. data/test/fixtures/queue_service_properties.xml +0 -22
  70. data/test/fixtures/queue_service_properties_original.xml +0 -19
  71. data/test/fixtures/queues.xml +0 -16
  72. data/test/fixtures/retention_policy.xml +0 -5
  73. data/test/fixtures/sb_default_create_queue_response.xml +0 -23
  74. data/test/fixtures/sb_default_create_relay_response.xml +0 -15
  75. data/test/fixtures/sb_default_create_topic_response.xml +0 -18
  76. data/test/fixtures/sb_get_access_token_response.txt +0 -1
  77. data/test/fixtures/sb_queues_runtime_peek_message_response_headers.txt +0 -9
  78. data/test/fixtures/storage_service_keys.xml +0 -8
  79. data/test/fixtures/storage_service_properties.xml +0 -55
  80. data/test/fixtures/update_storage_account.xml +0 -16
  81. data/test/fixtures/update_storage_error.xml +0 -5
  82. data/test/fixtures/updated_storage_accounts.xml +0 -55
  83. data/test/fixtures/virtual_machine.xml +0 -116
  84. data/test/fixtures/windows_virtual_machine.xml +0 -106
  85. data/test/integration/affinity_group/Affinity_test.rb +0 -55
  86. data/test/integration/affinity_group/Create_Affinity_test.rb +0 -64
  87. data/test/integration/affinity_group/Delete_Affinity_test.rb +0 -56
  88. data/test/integration/affinity_group/List_Affinity_test.rb +0 -41
  89. data/test/integration/affinity_group/Update_Affinity_test.rb +0 -87
  90. data/test/integration/blob/blob_gb18030_test.rb +0 -199
  91. data/test/integration/blob/blob_metadata_test.rb +0 -75
  92. data/test/integration/blob/blob_pages_test.rb +0 -119
  93. data/test/integration/blob/blob_properties_test.rb +0 -77
  94. data/test/integration/blob/block_blob_test.rb +0 -303
  95. data/test/integration/blob/container/container_acl_test.rb +0 -69
  96. data/test/integration/blob/container/container_metadata_test.rb +0 -50
  97. data/test/integration/blob/container/create_container_test.rb +0 -60
  98. data/test/integration/blob/container/delete_container_test.rb +0 -39
  99. data/test/integration/blob/container/get_container_properties_test.rb +0 -48
  100. data/test/integration/blob/container/list_containers_test.rb +0 -79
  101. data/test/integration/blob/container/root_container_test.rb +0 -55
  102. data/test/integration/blob/copy_blob_test.rb +0 -113
  103. data/test/integration/blob/create_blob_snapshot_test.rb +0 -80
  104. data/test/integration/blob/create_page_blob_test.rb +0 -83
  105. data/test/integration/blob/delete_blob_test.rb +0 -159
  106. data/test/integration/blob/get_blob_test.rb +0 -65
  107. data/test/integration/blob/informative_errors_test.rb +0 -39
  108. data/test/integration/blob/lease/acquire_lease_test.rb +0 -36
  109. data/test/integration/blob/lease/break_lease_test.rb +0 -40
  110. data/test/integration/blob/lease/release_lease_test.rb +0 -40
  111. data/test/integration/blob/lease/renew_lease_test.rb +0 -42
  112. data/test/integration/blob/list_blobs_test.rb +0 -113
  113. data/test/integration/cloud_service/Cloud_Create_test.rb +0 -45
  114. data/test/integration/cloud_service/Cloud_Delete_test.rb +0 -45
  115. data/test/integration/database/create_sql_server_firewall_test.rb +0 -81
  116. data/test/integration/database/create_sql_server_test.rb +0 -53
  117. data/test/integration/database/delete_sql_server_firewall_test.rb +0 -63
  118. data/test/integration/database/delete_sql_server_test.rb +0 -44
  119. data/test/integration/database/list_sql_server_firewall_test.rb +0 -44
  120. data/test/integration/database/list_sql_servers_test.rb +0 -44
  121. data/test/integration/database/reset_password_sql_server_test.rb +0 -53
  122. data/test/integration/location/Location_List_test.rb +0 -38
  123. data/test/integration/location/RoleSize_List_test.rb +0 -34
  124. data/test/integration/queue/clear_messages_test.rb +0 -42
  125. data/test/integration/queue/create_message_test.rb +0 -75
  126. data/test/integration/queue/create_queue_test.rb +0 -50
  127. data/test/integration/queue/delete_message_test.rb +0 -67
  128. data/test/integration/queue/delete_queue_test.rb +0 -45
  129. data/test/integration/queue/informative_errors_test.rb +0 -42
  130. data/test/integration/queue/list_messages_encoded_test.rb +0 -79
  131. data/test/integration/queue/list_messages_test.rb +0 -79
  132. data/test/integration/queue/list_queues_test.rb +0 -43
  133. data/test/integration/queue/peek_messages_test.rb +0 -59
  134. data/test/integration/queue/queue_gb18030_test.rb +0 -131
  135. data/test/integration/queue/queue_metadata_test.rb +0 -40
  136. data/test/integration/queue/update_message_test.rb +0 -74
  137. data/test/integration/service_bus/informative_errors_test.rb +0 -37
  138. data/test/integration/service_bus/queues_scenario_test.rb +0 -200
  139. data/test/integration/service_bus/queues_test.rb +0 -266
  140. data/test/integration/service_bus/relay_test.rb +0 -132
  141. data/test/integration/service_bus/rules_test.rb +0 -145
  142. data/test/integration/service_bus/sb_queue_gb18030_test.rb +0 -182
  143. data/test/integration/service_bus/scenario_test.rb +0 -101
  144. data/test/integration/service_bus/subscriptions_test.rb +0 -211
  145. data/test/integration/service_bus/topics_scenario_test.rb +0 -406
  146. data/test/integration/service_bus/topics_test.rb +0 -129
  147. data/test/integration/storage_management/storage_management_test.rb +0 -185
  148. data/test/integration/table/create_table_test.rb +0 -36
  149. data/test/integration/table/delete_entity_batch_test.rb +0 -107
  150. data/test/integration/table/delete_entity_test.rb +0 -94
  151. data/test/integration/table/delete_table_test.rb +0 -40
  152. data/test/integration/table/get_table_test.rb +0 -37
  153. data/test/integration/table/informative_errors_test.rb +0 -39
  154. data/test/integration/table/insert_entity_batch_test.rb +0 -100
  155. data/test/integration/table/insert_entity_test.rb +0 -88
  156. data/test/integration/table/insert_or_merge_entity_batch_test.rb +0 -159
  157. data/test/integration/table/insert_or_merge_entity_test.rb +0 -143
  158. data/test/integration/table/insert_or_replace_entity_batch_test.rb +0 -152
  159. data/test/integration/table/insert_or_replace_entity_test.rb +0 -137
  160. data/test/integration/table/merge_entity_batch_test.rb +0 -128
  161. data/test/integration/table/merge_entity_test.rb +0 -113
  162. data/test/integration/table/query_entities_test.rb +0 -196
  163. data/test/integration/table/query_tables_test.rb +0 -43
  164. data/test/integration/table/query_test.rb +0 -251
  165. data/test/integration/table/table_acl_test.rb +0 -52
  166. data/test/integration/table/table_gb18030_test.rb +0 -355
  167. data/test/integration/table/update_entity_batch_test.rb +0 -149
  168. data/test/integration/table/update_entity_test.rb +0 -131
  169. data/test/integration/test_helper.rb +0 -40
  170. data/test/integration/vm/VM_Create_test.rb +0 -262
  171. data/test/integration/vm/VM_Delete_test.rb +0 -53
  172. data/test/integration/vm/VM_Operations_test.rb +0 -172
  173. data/test/integration/vm_image/virtual_machine_disk_test.rb +0 -37
  174. data/test/integration/vm_image/virtual_machine_image_test.rb +0 -37
  175. data/test/integration/vnet/Virtual_Network_Create_test.rb +0 -116
  176. data/test/integration/vnet/Virtual_Network_list_test.rb +0 -48
  177. data/test/support/env.rb +0 -19
  178. data/test/support/fixtures.rb +0 -36
  179. data/test/support/name_generator.rb +0 -168
  180. data/test/support/stubs.rb +0 -42
  181. data/test/support/virtual_machine_name_generator.rb +0 -102
  182. data/test/support/virtual_network_helper.rb +0 -73
  183. data/test/test_helper.rb +0 -47
  184. data/test/unit/affinity_group/affinity_group_test.rb +0 -189
  185. data/test/unit/affinity_group/serialization_test.rb +0 -87
  186. data/test/unit/base_management/base_management_service_test.rb +0 -19
  187. data/test/unit/base_management/location_test.rb +0 -56
  188. data/test/unit/base_management/role_size_test.rb +0 -50
  189. data/test/unit/blob/auth/shared_access_signature_test.rb +0 -71
  190. data/test/unit/blob/blob_service_test.rb +0 -1970
  191. data/test/unit/cloud_service_management/cloud_service_management_service_test.rb +0 -94
  192. data/test/unit/cloud_service_management/serialization_test.rb +0 -169
  193. data/test/unit/config/azure_test.rb +0 -131
  194. data/test/unit/config/client_test.rb +0 -37
  195. data/test/unit/core/auth/shared_key_lite_test.rb +0 -51
  196. data/test/unit/core/auth/shared_key_test.rb +0 -58
  197. data/test/unit/core/auth/signer_test.rb +0 -30
  198. data/test/unit/core/http/http_error_test.rb +0 -61
  199. data/test/unit/core/http/http_request_test.rb +0 -138
  200. data/test/unit/core/http/http_response_test.rb +0 -20
  201. data/test/unit/core/http/retry_policy_test.rb +0 -23
  202. data/test/unit/core/utility_test.rb +0 -122
  203. data/test/unit/database/serialization_test.rb +0 -94
  204. data/test/unit/database/sql_database_server_service_test.rb +0 -341
  205. data/test/unit/http_client_test.rb +0 -74
  206. data/test/unit/service/serialization_test.rb +0 -533
  207. data/test/unit/service/storage_service_test.rb +0 -297
  208. data/test/unit/storage_management/serialization_test.rb +0 -244
  209. data/test/unit/storage_management/storage_management_service_test.rb +0 -247
  210. data/test/unit/table/edmtype_test.rb +0 -108
  211. data/test/unit/virtual_machine_image_management/serialization_test.rb +0 -50
  212. data/test/unit/virtual_machine_image_management/virtual_machine_image_management_service_test.rb +0 -114
  213. data/test/unit/virtual_machine_management/serialization_test.rb +0 -316
  214. data/test/unit/virtual_machine_management/virtual_machine_management_service_test.rb +0 -480
  215. data/test/unit/vnet/serialization_test.rb +0 -187
  216. data/test/unit/vnet/virtual_network_management_service_test.rb +0 -131
@@ -1,55 +0,0 @@
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
- Azure::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
@@ -1,64 +0,0 @@
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
- include Azure::Core::Utility
19
-
20
- subject { Azure::BaseManagementService.new }
21
- let(:affinity_group_name) { random_string('affinity-group-', 10) }
22
- let(:image_location) { WindowsImageLocation }
23
-
24
- before do
25
- Azure::Loggerx.expects(:puts).returns(nil).at_least(0)
26
- end
27
-
28
- let(:label) { 'Label Name' }
29
- let(:options) { { description: 'sample description' } }
30
-
31
- describe '#create_affinity_group' do
32
-
33
- it 'create new affinity group with valid params' do
34
- subject.create_affinity_group(affinity_group_name,
35
- image_location,
36
- label,
37
- options)
38
- affinity_group = subject.get_affinity_group(affinity_group_name)
39
- affinity_group.must_be_kind_of Azure::BaseManagement::AffinityGroup
40
- affinity_group.name.wont_be_nil
41
- affinity_group.location.must_equal image_location
42
- affinity_group.name.must_equal affinity_group_name
43
- affinity_group.label.must_equal label
44
- affinity_group.description.must_equal options[:description]
45
- end
46
-
47
- it 'errors if the affinity group location is not valid' do
48
- exception = assert_raises(RuntimeError) do
49
- subject.create_affinity_group(affinity_group_name, 'North West', label)
50
- end
51
- assert_match(/Allowed values are /i, exception.message)
52
- end
53
-
54
- it 'create new affinity group without optional params' do
55
- subject.create_affinity_group(affinity_group_name, image_location, label)
56
- affinity_group = subject.get_affinity_group(affinity_group_name)
57
- affinity_group.must_be_kind_of Azure::BaseManagement::AffinityGroup
58
- affinity_group.name.wont_be_nil
59
- affinity_group.location.must_equal image_location
60
- affinity_group.name.must_equal affinity_group_name
61
- affinity_group.label.must_equal label
62
- end
63
- end
64
- end
@@ -1,56 +0,0 @@
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
- Azure::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(:image_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, image_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
@@ -1,41 +0,0 @@
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
- Azure::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
@@ -1,87 +0,0 @@
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
- util = Class.new.extend(Azure::Core::Utility)
19
- AffinityGroupName = util.random_string('affinity-group-', 10)
20
-
21
- Azure::BaseManagementService.new.create_affinity_group(
22
- AffinityGroupName,
23
- WindowsImageLocation,
24
- 'Label'
25
- )
26
-
27
- before do
28
-
29
- end
30
-
31
- before do
32
- Azure::Loggerx.expects(:puts).returns(nil).at_least(0)
33
- end
34
-
35
- subject { Azure::BaseManagementService.new }
36
- let(:affinity_group_name) { AffinityGroupName }
37
-
38
- describe '#update_affinity_group' do
39
- let(:options) { {description: 'sample description'} }
40
-
41
- it 'update affinity group' do
42
- label = 'updated label'
43
- subject.update_affinity_group(affinity_group_name, label)
44
- affinity_group = subject.get_affinity_group(affinity_group_name)
45
- affinity_group.wont_be_nil
46
- affinity_group.label.must_equal label
47
- end
48
-
49
- it "update affinity group's description with valid input" do
50
- label = 'Updated Label'
51
- subject.update_affinity_group(affinity_group_name, label, options)
52
- affinity_group = subject.get_affinity_group(affinity_group_name)
53
- affinity_group.wont_be_nil
54
- affinity_group.description.must_equal options[:description]
55
- affinity_group.label.must_equal label
56
- end
57
-
58
- it "should update only affinity group's label" do
59
- label = 'Updated Label'
60
- affinity_group1 = subject.get_affinity_group(affinity_group_name)
61
- subject.update_affinity_group(affinity_group_name, label)
62
- affinity_group = subject.get_affinity_group(affinity_group_name)
63
- affinity_group.wont_be_nil
64
- affinity_group.description.must_equal affinity_group1.description
65
- affinity_group.label.must_equal label
66
- end
67
-
68
- it 'error if description content exceeds allowed limit of 1024 chars' do
69
- options = {description: 'a' * 1025}
70
- exception = assert_raises(RuntimeError) do
71
- subject.update_affinity_group(affinity_group_name,
72
- 'this is update operation',
73
- options)
74
- end
75
- assert_match(/The description for the affinity group is invalid./i,
76
- exception.message)
77
- end
78
-
79
- it 'error in case of updating non existing affinity group' do
80
- affinity_name = 'unkown-affinity-group'
81
- exception = assert_raises(Azure::Error::Error) do
82
- subject.update_affinity_group(affinity_name, 'updated label', options)
83
- end
84
- assert_match(/The affinity group does not exist./i, exception.message)
85
- end
86
- end
87
- end
@@ -1,199 +0,0 @@
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
- require 'azure/blob/blob_service'
17
-
18
- describe 'Blob GB-18030' do
19
- subject { Azure::Blob::BlobService.new }
20
- after { ContainerNameHelper.clean }
21
-
22
- let(:container_name) { ContainerNameHelper.name }
23
- let(:blob_name) { 'blobname' }
24
- let(:length) { 1024 }
25
-
26
- before {
27
- subject.create_container container_name
28
- subject.create_page_blob container_name, blob_name, length
29
- }
30
-
31
- it 'Read/Write Blob Container Name UTF-8' do
32
- # Expected results: Failure, because the Blob
33
- # container name can only contain ASCII
34
- # characters, per the Blob Service spec.
35
- GB18030TestStrings.get.each { |k,v|
36
- begin
37
- subject.create_container container_name + v.encode('UTF-8')
38
- flunk 'No exception'
39
- rescue
40
- # Add validation?
41
- end
42
- }
43
- end
44
-
45
- it 'Read/Write Blob Container Name GB-18030' do
46
- # Expected results: Failure, because the Blob
47
- # container name can only contain ASCII
48
- # characters, per the Blob Service spec.
49
- GB18030TestStrings.get.each { |k,v|
50
- begin
51
- subject.create_container container_name + v.encode('GB18030')
52
- flunk 'No exception'
53
- rescue
54
- # Add validation?
55
- end
56
- }
57
- end
58
-
59
- it 'Read/Write Blob Name UTF-8' do
60
- container_name = ContainerNameHelper.name
61
- subject.create_container container_name
62
- GB18030TestStrings.get.each { |k,v|
63
- # The Blob service does not support characters from extended plains.
64
- if k != 'ChineseExtB' then
65
- test_name = container_name + v.encode('UTF-8')
66
- subject.create_block_blob container_name, test_name, 'hi'
67
- blobs = subject.list_blobs container_name
68
- blobs.each { |value|
69
- value.name.must_equal test_name
70
- }
71
- subject.delete_blob container_name, test_name
72
- end
73
- }
74
- end
75
-
76
- # Fails because of https://github.com/appfog/azure-sdk-for-ruby/issues/293
77
- it 'Read/Write Blob Name GB18030' do
78
- container_name = ContainerNameHelper.name
79
- subject.create_container container_name
80
- GB18030TestStrings.get.each { |k,v|
81
- # The Blob service does not support characters from extended plains.
82
- if k != 'ChineseExtB' then
83
- test_name = container_name + v.encode('GB18030')
84
- subject.create_block_blob container_name, test_name, 'hi'
85
- blobs = subject.list_blobs container_name
86
- blobs.each { |value|
87
- value.name.encode('UTF-8').must_equal test_name.encode('UTF-8')
88
- }
89
- subject.delete_blob container_name, test_name
90
- end
91
- }
92
- end
93
-
94
- it 'Read/Write Blob Metadata UTF-8 key' do
95
- GB18030TestStrings.get.each { |k,v|
96
- begin
97
- metadata = {'custommetadata' + v.encode('UTF-8') => 'CustomMetadataValue'}
98
- subject.set_blob_metadata container_name, blob_name, metadata
99
- flunk 'No exception'
100
- rescue Azure::Core::Http::HTTPError => error
101
- error.status_code.must_equal 400
102
- end
103
- }
104
- end
105
-
106
- it 'Read/Write Blob Metadata GB-18030 key' do
107
- GB18030TestStrings.get.each { |k,v|
108
- begin
109
- metadata = {'custommetadata' + v.encode('GB18030') => 'CustomMetadataValue'}
110
- subject.set_blob_metadata container_name, blob_name, metadata
111
- flunk 'No exception'
112
- rescue Azure::Core::Http::HTTPError => error
113
- error.status_code.must_equal 400
114
- end
115
- }
116
- end
117
-
118
- it 'Read/Write Blob Metadata UTF-8 value' do
119
- GB18030TestStrings.get.each { |k,v|
120
- begin
121
- metadata = {'custommetadata' => 'CustomMetadataValue' + v.encode('UTF-8')}
122
- subject.set_blob_metadata container_name, blob_name, metadata
123
- flunk 'No exception'
124
- rescue Azure::Core::Http::HTTPError => error
125
- # TODO: Error should really be 400
126
- error.status_code.must_equal 403
127
- end
128
- }
129
- end
130
-
131
- it 'Read/Write Blob Metadata GB-18030 value' do
132
- GB18030TestStrings.get.each { |k,v|
133
- begin
134
- metadata = {'custommetadata' => 'CustomMetadataValue' + v.encode('GB18030')}
135
- subject.set_blob_metadata container_name, blob_name, metadata
136
- flunk 'No exception'
137
- rescue Azure::Core::Http::HTTPError => error
138
- # TODO: Error should really be 400
139
- error.status_code.must_equal 403
140
- end
141
- }
142
- end
143
-
144
- it 'Read/Write Blob Block Content UTF-8' do
145
- GB18030TestStrings.get.each { |k,v|
146
- blob_name = 'Read/Write Block Blob Content UTF-8 for ' + k
147
- content = v.encode('UTF-8')
148
-
149
- subject.create_block_blob container_name, blob_name, content
150
- blob, returned_content = subject.get_blob container_name, blob_name
151
-
152
- returned_content.must_equal content
153
- }
154
- end
155
-
156
- it 'Read/Write Blob Block Content GB18030' do
157
- GB18030TestStrings.get.each { |k,v|
158
- blob_name = 'Read/Write Block Blob Content GB18030 for ' + k
159
- content = v.encode('GB18030')
160
- options = { :content_encoding=> 'GB18030'}
161
- subject.create_block_blob container_name, blob_name, content, options
162
- blob, returned_content = subject.get_blob container_name, blob_name
163
- returned_content.force_encoding(blob.properties[:content_encoding])
164
- returned_content.must_equal content
165
- }
166
- end
167
-
168
- it 'Read/Write Blob Page Content UTF-8' do
169
- GB18030TestStrings.get.each { |k,v|
170
- blob_name = 'Read/Write Page Blob Content UTF-8 for ' + k
171
- options = { :content_encoding=> 'UTF-8'}
172
- content = v.encode('UTF-8')
173
- while content.bytesize < 512 do
174
- content << 'X'
175
- end
176
- subject.create_page_blob container_name, blob_name, 512, options
177
- subject.create_blob_pages container_name, blob_name, 0, 511, content
178
- blob, returned_content = subject.get_blob container_name, blob_name
179
- returned_content.force_encoding(blob.properties[:content_encoding])
180
- returned_content.must_equal content
181
- }
182
- end
183
-
184
- it 'Read/Write Blob Page Content GB18030' do
185
- GB18030TestStrings.get.each { |k,v|
186
- blob_name = 'Read/Write Page Blob Content GB18030 for ' + k
187
- options = { :content_encoding=> 'GB18030'}
188
- content = v.encode('GB18030')
189
- while content.bytesize < 512 do
190
- content << 'X'
191
- end
192
- subject.create_page_blob container_name, blob_name, 512, options
193
- subject.create_blob_pages container_name, blob_name, 0, 511, content
194
- blob, returned_content = subject.get_blob container_name, blob_name
195
- returned_content.force_encoding(blob.properties[:content_encoding])
196
- returned_content.must_equal content
197
- }
198
- end
199
- end