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,185 +0,0 @@
1
- #-------------------------------------------------------------------------
2
- # Copyright 2015 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::StorageManagementService do
18
-
19
- util = Class.new.extend(Azure::Core::Utility)
20
- subject { Azure::StorageManagementService.new }
21
- affinity_name = util.random_string('affinity-group-', 10)
22
- Azure::BaseManagementService.new.create_affinity_group(
23
- affinity_name,
24
- 'West US',
25
- 'Label Name'
26
- )
27
- StorageName = util.random_string('storagetest', 10)
28
- opts = {
29
- affinity_group_name: affinity_name,
30
- label: 'storagelabel',
31
- description: 'This is a storage account',
32
- geo_replication_enabled: 'true'
33
- }
34
- Azure::StorageManagementService.new.create_storage_account(StorageName, opts)
35
-
36
- let(:affinity_group_name) { affinity_name }
37
- let(:storage_name) { Time.now.getutc.to_i.to_s }
38
- let(:label) { 'Label Name' }
39
- let(:options) { { description: 'sample description' } }
40
-
41
- before do
42
- Azure::Loggerx.expects(:puts).returns(nil).at_least(0)
43
- end
44
-
45
- it 'list storage accounts' do
46
- storagelist = subject.list_storage_accounts
47
- storagelist.wont_be_nil
48
- storagelist.must_be_kind_of Array
49
- end
50
-
51
- it 'get_storage_account return nil if storage account with given name not exists' do
52
- storage = subject.get_storage_account('nonexistentstorage')
53
- storage.must_equal nil
54
- end
55
-
56
- it 'create storage account' do
57
- options = {
58
- affinity_group_name: affinity_group_name,
59
- label: 'storagelabel',
60
- description: 'This is a storage account',
61
- geo_replication_enabled: 'false'
62
- }
63
- subject.create_storage_account(storage_name, options)
64
- storage_account = subject.get_storage_account(storage_name)
65
- storage_account.must_be_kind_of Azure::StorageManagement::StorageAccount
66
- # Test for delete storage account
67
- subject.delete_storage_account(storage_name)
68
- storage_account = subject.get_storage_account(storage_name)
69
- storage_account.must_equal nil
70
- end
71
-
72
- it 'get storage account' do
73
- storage_name = StorageName
74
- storage_account = subject.get_storage_account(storage_name)
75
- storage_account.must_be_kind_of Azure::StorageManagement::StorageAccount
76
- end
77
-
78
- it 'get storage account properties' do
79
- storage_name = StorageName
80
- storage = subject.get_storage_account_properties(storage_name)
81
- storage.name.must_equal storage_name
82
- storage.label.must_equal 'storagelabel'
83
- storage.account_type.must_equal 'Standard_GRS'
84
- end
85
-
86
- it 'regenerate storage account keys' do
87
- storage_name = StorageName
88
- storage_keys1 = subject.regenerate_storage_account_keys(storage_name)
89
- storage_keys1.primary_key.wont_be_nil
90
- storage_keys1.secondary_key.wont_be_nil
91
- storage_keys2 = subject.regenerate_storage_account_keys(storage_name, 'secondary')
92
- storage_keys1.primary_key.must_equal storage_keys2.primary_key
93
- storage_keys1.secondary_key.wont_equal storage_keys2.secondary_key
94
- end
95
-
96
- it 'get storage account keys' do
97
- storage_name = StorageName
98
- storage_keys1 = subject.get_storage_account_keys(storage_name)
99
- storage_keys1.primary_key.wont_be_nil
100
- storage_keys1.secondary_key.wont_be_nil
101
- end
102
-
103
- it 'get storage account properties error' do
104
- storage_name = 'invalidstorage'
105
- exception = assert_raises(RuntimeError) do
106
- subject.get_storage_account_properties(storage_name)
107
- end
108
- assert_match(/The storage account 'invalidstorage' was not found/, exception.message)
109
- end
110
-
111
- it 'create storage account with invalid storage name' do
112
- options = {
113
- affinity_group_name: 'affinitygrouptest',
114
- label: 'storagelabel',
115
- description: 'This is a storage account',
116
- geo_replication_enabled: 'false'
117
- }
118
- storage_name = 'ba'
119
- exception = assert_raises(RuntimeError) do
120
- subject.create_storage_account(storage_name, options)
121
- end
122
- assert_match(/Storage account names must be between 3 and 24/, exception.message)
123
- end
124
-
125
- it 'create storage account with invalid location' do
126
- options = {
127
- location: 'West1 US',
128
- label: 'storagelabel',
129
- description: 'This is a storage account',
130
- geo_replication_enabled: 'false'
131
- }
132
- exception = assert_raises(RuntimeError) do
133
- subject.create_storage_account(storage_name, options)
134
- end
135
- assert_match('The location constraint is not valid', exception.message)
136
- end
137
-
138
- it 'create storage account with invalid affinity group' do
139
- options = {
140
- affinity_group_name: 'invalidaffinitygroup',
141
- label: 'storagelabel',
142
- description: 'This is a storage account',
143
- geo_replication_enabled: 'false'
144
- }
145
- exception = assert_raises(RuntimeError) do
146
- subject.create_storage_account(storage_name, options)
147
- end
148
- assert_match('The affinity group does not exist.', exception.message)
149
- end
150
-
151
- it 'delete storage account that does not exist' do
152
- msg = subject.delete_storage_account('invalidstorageaccount')
153
- assert_match(/The storage account 'invalidstorageaccount' was not found./, msg)
154
- end
155
-
156
- describe '#update_storage_account' do
157
-
158
- it 'update storage account with non existent storage name' do
159
- options = {
160
- label: 'labelchanged',
161
- description: 'description changed'
162
- }
163
- storage_name = 'storage_nonexistent'
164
- storage = subject.update_storage_account(storage_name, options)
165
- error_msg = "Storage Account 'storage_nonexistent' does not exist"
166
- assert_match(/#{error_msg}/, storage)
167
- end
168
-
169
- it 'update existing storage account' do
170
- options = {
171
- label: 'labelchanged',
172
- description: 'description changed',
173
- account_type: 'Standard_LRS'
174
- }
175
- storage_name = StorageName
176
- subject.update_storage_account(storage_name, options)
177
- storage = subject.get_storage_account_properties(storage_name)
178
- storage.name.must_equal storage_name
179
- storage.label.must_equal 'labelchanged'
180
- storage.account_type.must_equal 'Standard_LRS'
181
- opts[:account_type] = 'Standard_GRS'
182
- subject.update_storage_account(storage_name, opts)
183
- end
184
- end
185
- end
@@ -1,36 +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/table/table_service"
17
- require "azure/core/http/http_error"
18
-
19
- describe Azure::Table::TableService do
20
- describe "#create_table" do
21
- subject { Azure::Table::TableService.new }
22
- let(:table_name){ TableNameHelper.name }
23
- after { TableNameHelper.clean }
24
-
25
- it "creates a table with a valid name" do
26
- result = subject.create_table(table_name)
27
- result.must_be_nil
28
- end
29
-
30
- it "errors on an invalid table name" do
31
- assert_raises(Azure::Core::Http::HTTPError) do
32
- subject.create_table "this_table.cannot-exist!"
33
- end
34
- end
35
- end
36
- end
@@ -1,107 +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/table/batch"
17
- require "azure/table/table_service"
18
- require "azure/core/http/http_error"
19
-
20
- describe Azure::Table::TableService do
21
- describe "#delete_entity_batch" do
22
- subject { Azure::Table::TableService.new }
23
- let(:table_name){ TableNameHelper.name }
24
-
25
- let(:entity_properties){
26
- {
27
- "PartitionKey" => "testingpartition",
28
- "RowKey" => "abcd123",
29
- "CustomStringProperty" => "CustomPropertyValue",
30
- "CustomIntegerProperty" => 37,
31
- "CustomBooleanProperty" => true,
32
- "CustomDateProperty" => Time.now
33
- }
34
- }
35
-
36
- before {
37
- subject.create_table table_name
38
- subject.insert_entity table_name, entity_properties
39
- }
40
- after { TableNameHelper.clean }
41
-
42
- it "deletes an entity" do
43
- batch = Azure::Table::Batch.new table_name, entity_properties["PartitionKey"]
44
- batch.delete entity_properties["RowKey"]
45
- results = subject.execute_batch batch
46
- results[0].must_be_nil
47
-
48
- # query entity to make sure it was deleted
49
- assert_raises(Azure::Core::Http::HTTPError, "ResourceNotFound (404): The specified resource does not exist.") do
50
- subject.get_entity table_name, entity_properties["PartitionKey"], entity_properties["RowKey"]
51
- end
52
- end
53
-
54
- it "deletes complex keys" do
55
- entity = entity_properties.dup
56
-
57
- batch = Azure::Table::Batch.new table_name, entity["PartitionKey"]
58
-
59
- entity["RowKey"] = "key with spaces"
60
- subject.insert_entity table_name, entity
61
- batch.delete entity["RowKey"]
62
-
63
- entity["RowKey"] = "key'with'quotes"
64
- subject.insert_entity table_name, entity
65
- batch.delete entity["RowKey"]
66
-
67
- # Uncomment when issue 145 (Cannot use GB-18030 characters in strings) is fixed
68
- #entity["RowKey"] = "keyWithUnicode" + 0xE.chr + 0x8B.chr + 0xA4.chr
69
- #subject.insert_entity table_name, entity
70
- #batch.delete entity["RowKey"]
71
-
72
- entity["RowKey"] = "Qbert_Says=.!@%^&"
73
- subject.insert_entity table_name, entity
74
- batch.delete entity["RowKey"]
75
-
76
- results = subject.execute_batch batch
77
-
78
- results[0].must_be_nil
79
- results[1].must_be_nil
80
- results[2].must_be_nil
81
- end
82
-
83
- it "errors on an invalid table name" do
84
- assert_raises(Azure::Core::Http::HTTPError) do
85
- batch = Azure::Table::Batch.new "this_table.cannot-exist!", entity_properties["PartitionKey"]
86
- batch.delete entity_properties["RowKey"]
87
- subject.execute_batch batch
88
- end
89
- end
90
-
91
- it "errors on an invalid partition key" do
92
- assert_raises(Azure::Core::Http::HTTPError) do
93
- batch = Azure::Table::Batch.new table_name, "this_partition/key#is_invalid"
94
- batch.delete entity_properties["RowKey"]
95
- subject.execute_batch batch
96
- end
97
- end
98
-
99
- it "errors on an invalid row key" do
100
- assert_raises(Azure::Core::Http::HTTPError) do
101
- batch = Azure::Table::Batch.new table_name, entity_properties["PartitionKey"]
102
- batch.delete "thisrow/key#is_invalid"
103
- subject.execute_batch batch
104
- end
105
- end
106
- end
107
- end
@@ -1,94 +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/table/table_service"
17
- require "azure/core/http/http_error"
18
-
19
- describe Azure::Table::TableService do
20
- describe "#delete_entity" do
21
- subject { Azure::Table::TableService.new }
22
- let(:table_name){ TableNameHelper.name }
23
-
24
- let(:entity_properties){
25
- {
26
- "PartitionKey" => "testingpartition",
27
- "RowKey" => "abcd123",
28
- "CustomStringProperty" => "CustomPropertyValue",
29
- "CustomIntegerProperty" => 37,
30
- "CustomBooleanProperty" => true,
31
- "CustomDateProperty" => Time.now
32
- }
33
- }
34
-
35
- before {
36
- subject.create_table table_name
37
- subject.insert_entity table_name, entity_properties
38
- }
39
- after { TableNameHelper.clean }
40
-
41
- it "deletes an entity" do
42
- result = subject.delete_entity table_name, entity_properties["PartitionKey"], entity_properties["RowKey"]
43
- result.must_be_nil
44
-
45
- # query entity to make sure it was deleted
46
- assert_raises(Azure::Core::Http::HTTPError, "ResourceNotFound (404): The specified resource does not exist.") do
47
- subject.get_entity table_name, entity_properties["PartitionKey"], entity_properties["RowKey"]
48
- end
49
- end
50
-
51
- it "deletes complex keys" do
52
- entity = entity_properties.dup
53
-
54
- entity["RowKey"] = "key with spaces"
55
- subject.insert_entity table_name, entity
56
- result = subject.delete_entity table_name, entity["PartitionKey"], entity["RowKey"]
57
- result.must_be_nil
58
-
59
- entity["RowKey"] = "key'with'quotes"
60
- subject.insert_entity table_name, entity
61
- result = subject.delete_entity table_name, entity["PartitionKey"], entity["RowKey"]
62
- result.must_be_nil
63
-
64
- # Uncomment when issue 145 (Cannot use GB-18030 characters in strings) is fixed
65
- #entity["RowKey"] = "keyWithUnicode" + 0xE.chr + 0x8B.chr + 0xA4.chr
66
- #subject.insert_entity table_name, entity
67
- #result = subject.delete_entity table_name, entity["PartitionKey"], entity["RowKey"]
68
- #result.must_be_nil
69
-
70
- entity["RowKey"] = "Qbert_Says=.!@%^&"
71
- subject.insert_entity table_name, entity
72
- result = subject.delete_entity table_name, entity["PartitionKey"], entity["RowKey"]
73
- result.must_be_nil
74
- end
75
-
76
- it "errors on an invalid table name" do
77
- assert_raises(Azure::Core::Http::HTTPError) do
78
- subject.delete_entity "this_table.cannot-exist!", entity_properties["PartitionKey"], entity_properties["RowKey"]
79
- end
80
- end
81
-
82
- it "errors on an invalid partition key" do
83
- assert_raises(Azure::Core::Http::HTTPError) do
84
- subject.delete_entity table_name, "this_partition/key#is_invalid", entity_properties["RowKey"]
85
- end
86
- end
87
-
88
- it "errors on an invalid row key" do
89
- assert_raises(Azure::Core::Http::HTTPError) do
90
- subject.delete_entity table_name, entity_properties["PartitionKey"], "thisrow/key#is_invalid"
91
- end
92
- end
93
- end
94
- end
@@ -1,40 +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/table/table_service"
17
- require "azure/core/http/http_error"
18
-
19
- describe Azure::Table::TableService do
20
- describe "#delete_table" do
21
- subject { Azure::Table::TableService.new }
22
- let(:table_name){ TableNameHelper.name }
23
- before { subject.create_table table_name }
24
- after { TableNameHelper.clean }
25
-
26
- it "deletes a table and returns nil on success" do
27
- result = subject.delete_table(table_name)
28
- result.must_be_nil
29
-
30
- tables = subject.query_tables
31
- tables.wont_include table_name
32
- end
33
-
34
- it "errors on an invalid table" do
35
- assert_raises(Azure::Core::Http::HTTPError) do
36
- subject.delete_table "this_table.cannot-exist!"
37
- end
38
- end
39
- end
40
- end