stuartpreston-azure-sdk-for-ruby 0.7.1 → 0.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +11 -11
- data/.travis.yml +10 -10
- data/ChangeLog.txt +70 -68
- data/Gemfile +15 -15
- data/README.md +618 -618
- data/Rakefile +133 -133
- data/azure.gemspec +44 -44
- data/lib/azure.rb +52 -52
- data/lib/azure/base_management/affinity_group.rb +32 -32
- data/lib/azure/base_management/base_management_service.rb +304 -304
- data/lib/azure/base_management/location.rb +27 -27
- data/lib/azure/base_management/management_http_request.rb +171 -171
- data/lib/azure/base_management/serialization.rb +129 -129
- data/lib/azure/base_management/sql_management_http_request.rb +45 -45
- data/lib/azure/blob/blob.rb +31 -31
- data/lib/azure/blob/blob_service.rb +1423 -1423
- data/lib/azure/blob/block.rb +30 -30
- data/lib/azure/blob/container.rb +31 -31
- data/lib/azure/blob/serialization.rb +284 -284
- data/lib/azure/cloud_service_management/cloud_service.rb +38 -38
- data/lib/azure/cloud_service_management/cloud_service_management_service.rb +140 -140
- data/lib/azure/cloud_service_management/serialization.rb +117 -117
- data/lib/azure/core.rb +39 -39
- data/lib/azure/core/auth/authorizer.rb +36 -36
- data/lib/azure/core/auth/shared_key.rb +110 -110
- data/lib/azure/core/auth/shared_key_lite.rb +48 -48
- data/lib/azure/core/auth/signer.rb +48 -48
- data/lib/azure/core/configuration.rb +211 -211
- data/lib/azure/core/error.rb +22 -22
- data/lib/azure/core/filtered_service.rb +43 -43
- data/lib/azure/core/http/debug_filter.rb +35 -35
- data/lib/azure/core/http/http_error.rb +88 -88
- data/lib/azure/core/http/http_filter.rb +52 -52
- data/lib/azure/core/http/http_request.rb +157 -157
- data/lib/azure/core/http/http_response.rb +140 -140
- data/lib/azure/core/http/retry_policy.rb +73 -73
- data/lib/azure/core/http/signer_filter.rb +33 -33
- data/lib/azure/core/service.rb +62 -62
- data/lib/azure/core/signed_service.rb +42 -42
- data/lib/azure/core/utility.rb +190 -190
- data/lib/azure/queue/message.rb +29 -29
- data/lib/azure/queue/queue.rb +28 -28
- data/lib/azure/queue/queue_service.rb +567 -567
- data/lib/azure/queue/serialization.rb +106 -106
- data/lib/azure/service/access_policy.rb +25 -25
- data/lib/azure/service/cors.rb +11 -11
- data/lib/azure/service/cors_rule.rb +15 -15
- data/lib/azure/service/enumeration_results.rb +20 -20
- data/lib/azure/service/logging.rb +31 -31
- data/lib/azure/service/metrics.rb +30 -30
- data/lib/azure/service/retention_policy.rb +24 -24
- data/lib/azure/service/serialization.rb +297 -297
- data/lib/azure/service/signed_identifier.rb +29 -29
- data/lib/azure/service/storage_service.rb +82 -82
- data/lib/azure/service/storage_service_properties.rb +37 -37
- data/lib/azure/service_bus/action.rb +21 -21
- data/lib/azure/service_bus/auth/wrap_service.rb +88 -88
- data/lib/azure/service_bus/auth/wrap_signer.rb +68 -68
- data/lib/azure/service_bus/brokered_message.rb +123 -123
- data/lib/azure/service_bus/brokered_message_serializer.rb +159 -159
- data/lib/azure/service_bus/correlation_filter.rb +45 -45
- data/lib/azure/service_bus/empty_rule_action.rb +29 -29
- data/lib/azure/service_bus/false_filter.rb +38 -38
- data/lib/azure/service_bus/filter.rb +21 -21
- data/lib/azure/service_bus/interval.rb +103 -103
- data/lib/azure/service_bus/queue.rb +229 -229
- data/lib/azure/service_bus/relay.rb +87 -87
- data/lib/azure/service_bus/resource.rb +108 -108
- data/lib/azure/service_bus/rule.rb +97 -97
- data/lib/azure/service_bus/rule_aspect.rb +34 -34
- data/lib/azure/service_bus/serialization.rb +161 -161
- data/lib/azure/service_bus/service_bus_service.rb +896 -896
- data/lib/azure/service_bus/sql_filter.rb +50 -50
- data/lib/azure/service_bus/sql_rule_action.rb +50 -50
- data/lib/azure/service_bus/subscription.rb +183 -183
- data/lib/azure/service_bus/topic.rb +186 -186
- data/lib/azure/service_bus/true_filter.rb +38 -38
- data/lib/azure/sql_database_management/serialization.rb +111 -111
- data/lib/azure/sql_database_management/sql_database.rb +31 -31
- data/lib/azure/sql_database_management/sql_database_management_service.rb +200 -200
- data/lib/azure/storage_management/serialization.rb +184 -184
- data/lib/azure/storage_management/storage_account.rb +40 -40
- data/lib/azure/storage_management/storage_management_service.rb +166 -166
- data/lib/azure/table/auth/shared_key.rb +92 -92
- data/lib/azure/table/auth/shared_key_lite.rb +44 -44
- data/lib/azure/table/batch.rb +329 -329
- data/lib/azure/table/batch_response.rb +118 -118
- data/lib/azure/table/edmtype.rb +126 -126
- data/lib/azure/table/entity.rb +30 -30
- data/lib/azure/table/guid.rb +23 -23
- data/lib/azure/table/query.rb +111 -111
- data/lib/azure/table/serialization.rb +107 -107
- data/lib/azure/table/table_service.rb +559 -559
- data/lib/azure/version.rb +31 -31
- data/lib/azure/virtual_machine_image_management/serialization.rb +66 -66
- data/lib/azure/virtual_machine_image_management/virtual_machine_disk.rb +25 -25
- data/lib/azure/virtual_machine_image_management/virtual_machine_image.rb +25 -25
- data/lib/azure/virtual_machine_image_management/virtual_machine_image_management_service.rb +94 -94
- data/lib/azure/virtual_machine_management/serialization.rb +462 -462
- data/lib/azure/virtual_machine_management/virtual_machine.rb +45 -45
- data/lib/azure/virtual_machine_management/virtual_machine_management_service.rb +588 -588
- data/lib/azure/virtual_network_management/serialization.rb +190 -190
- data/lib/azure/virtual_network_management/virtual_network.rb +37 -37
- data/lib/azure/virtual_network_management/virtual_network_management_service.rb +109 -109
- data/test/fixtures/affinity_group.xml +33 -33
- data/test/fixtures/all_containers.xml +20 -20
- data/test/fixtures/all_tables.xml +22 -22
- data/test/fixtures/certificate.pem +21 -21
- data/test/fixtures/container_acl.xml +11 -11
- data/test/fixtures/create_sql_database_server.xml +1 -1
- data/test/fixtures/create_storage_desc_error.xml +5 -5
- data/test/fixtures/create_storage_extendedprop_error.xml +8 -8
- data/test/fixtures/create_storage_extendedpropname_error.xml +6 -6
- data/test/fixtures/create_storage_full_error.xml +6 -6
- data/test/fixtures/create_storage_label_error.xml +5 -5
- data/test/fixtures/create_storage_location_error.xml +5 -5
- data/test/fixtures/create_storage_name_error.xml +6 -6
- data/test/fixtures/create_table_response_entry.xml +15 -15
- data/test/fixtures/delete_storage_container_error.xml +5 -5
- data/test/fixtures/delete_storage_error.xml +5 -5
- data/test/fixtures/deployment_error.xml +5 -5
- data/test/fixtures/get_storage_account_error.xml +5 -5
- data/test/fixtures/get_storage_account_properties.xml +31 -31
- data/test/fixtures/get_storage_account_properties_new.xml +31 -31
- data/test/fixtures/http_error.xml +5 -5
- data/test/fixtures/insert_entity_response_entry.xml +25 -25
- data/test/fixtures/list_affinity_groups.xml +22 -22
- data/test/fixtures/list_blobs.xml +120 -120
- data/test/fixtures/list_block_all_with_none_committed.xml +21 -21
- data/test/fixtures/list_blocks_all.xml +22 -22
- data/test/fixtures/list_blocks_committed.xml +12 -12
- data/test/fixtures/list_cloud_services.xml +38 -38
- data/test/fixtures/list_containers.xml +37 -37
- data/test/fixtures/list_firewall_management_endpoint.xml +27 -27
- data/test/fixtures/list_images.xml +110 -110
- data/test/fixtures/list_locations.xml +62 -62
- data/test/fixtures/list_page_ranges.xml +10 -10
- data/test/fixtures/list_sql_database.xml +36 -36
- data/test/fixtures/list_sql_server_firewall.xml +23 -23
- data/test/fixtures/list_storage_account_single.xml +24 -24
- data/test/fixtures/list_storage_accounts.xml +45 -45
- data/test/fixtures/list_virtual_networks.xml +92 -92
- data/test/fixtures/logging.xml +11 -11
- data/test/fixtures/management_certificate.pem +55 -55
- data/test/fixtures/messages.xml +12 -12
- data/test/fixtures/metrics.xml +10 -10
- data/test/fixtures/privatekey.key +28 -28
- data/test/fixtures/query_entities_empty_response.xml +7 -7
- data/test/fixtures/query_entities_response.xml +45 -45
- data/test/fixtures/queue_service_properties.xml +22 -22
- data/test/fixtures/queue_service_properties_original.xml +19 -19
- data/test/fixtures/queues.xml +16 -16
- data/test/fixtures/retention_policy.xml +5 -5
- data/test/fixtures/sb_default_create_queue_response.xml +23 -23
- data/test/fixtures/sb_default_create_relay_response.xml +15 -15
- data/test/fixtures/sb_default_create_topic_response.xml +18 -18
- data/test/fixtures/sb_get_access_token_response.txt +1 -1
- data/test/fixtures/sb_queues_runtime_peek_message_response_headers.txt +9 -9
- data/test/fixtures/storage_service_properties.xml +54 -54
- data/test/fixtures/update_storage_account.xml +16 -16
- data/test/fixtures/update_storage_error.xml +4 -4
- data/test/fixtures/updated_storage_accounts.xml +52 -52
- data/test/fixtures/virtual_machine.xml +113 -113
- data/test/fixtures/windows_virtual_machine.xml +106 -106
- data/test/integration/affinity_group/Affinity_test.rb +55 -55
- data/test/integration/affinity_group/Create_Affinity_test.rb +63 -63
- data/test/integration/affinity_group/Delete_Affinity_test.rb +56 -56
- data/test/integration/affinity_group/List_Affinity_test.rb +41 -41
- data/test/integration/affinity_group/Update_Affinity_test.rb +82 -82
- data/test/integration/blob/blob_gb18030_test.rb +199 -199
- data/test/integration/blob/blob_metadata_test.rb +75 -75
- data/test/integration/blob/blob_pages_test.rb +119 -119
- data/test/integration/blob/blob_properties_test.rb +77 -77
- data/test/integration/blob/block_blob_test.rb +254 -254
- data/test/integration/blob/container/container_acl_test.rb +69 -69
- data/test/integration/blob/container/container_metadata_test.rb +50 -50
- data/test/integration/blob/container/create_container_test.rb +60 -60
- data/test/integration/blob/container/delete_container_test.rb +39 -39
- data/test/integration/blob/container/get_container_properties_test.rb +48 -48
- data/test/integration/blob/container/list_containers_test.rb +79 -79
- data/test/integration/blob/container/root_container_test.rb +53 -53
- data/test/integration/blob/copy_blob_test.rb +113 -113
- data/test/integration/blob/create_blob_snapshot_test.rb +80 -80
- data/test/integration/blob/create_page_blob_test.rb +83 -83
- data/test/integration/blob/delete_blob_test.rb +159 -159
- data/test/integration/blob/get_blob_test.rb +65 -65
- data/test/integration/blob/informative_errors_test.rb +38 -38
- data/test/integration/blob/lease/acquire_lease_test.rb +36 -36
- data/test/integration/blob/lease/break_lease_test.rb +40 -40
- data/test/integration/blob/lease/release_lease_test.rb +40 -40
- data/test/integration/blob/lease/renew_lease_test.rb +42 -42
- data/test/integration/blob/list_blobs_test.rb +113 -113
- data/test/integration/cloud_service/Cloud_Create_test.rb +44 -44
- data/test/integration/cloud_service/Cloud_Delete_test.rb +44 -44
- data/test/integration/database/create_sql_server_firewall_test.rb +86 -86
- data/test/integration/database/create_sql_server_test.rb +53 -53
- data/test/integration/database/delete_sql_server_firewall_test.rb +70 -70
- data/test/integration/database/delete_sql_server_test.rb +58 -58
- data/test/integration/database/list_sql_server_firewall_test.rb +45 -45
- data/test/integration/database/list_sql_servers_test.rb +44 -44
- data/test/integration/database/reset_password_sql_server_test.rb +55 -55
- data/test/integration/location/Location_List_test.rb +39 -39
- data/test/integration/queue/clear_messages_test.rb +42 -42
- data/test/integration/queue/create_message_test.rb +75 -75
- data/test/integration/queue/create_queue_test.rb +50 -50
- data/test/integration/queue/delete_message_test.rb +67 -67
- data/test/integration/queue/delete_queue_test.rb +45 -45
- data/test/integration/queue/informative_errors_test.rb +41 -41
- data/test/integration/queue/list_messages_encoded_test.rb +79 -79
- data/test/integration/queue/list_messages_test.rb +79 -79
- data/test/integration/queue/list_queues_test.rb +44 -44
- data/test/integration/queue/peek_messages_test.rb +59 -59
- data/test/integration/queue/queue_gb18030_test.rb +131 -131
- data/test/integration/queue/queue_metadata_test.rb +40 -40
- data/test/integration/queue/update_message_test.rb +74 -74
- data/test/integration/service_bus/informative_errors_test.rb +36 -36
- data/test/integration/service_bus/queues_scenario_test.rb +200 -200
- data/test/integration/service_bus/queues_test.rb +265 -265
- data/test/integration/service_bus/relay_test.rb +131 -131
- data/test/integration/service_bus/rules_test.rb +144 -144
- data/test/integration/service_bus/sb_queue_gb18030_test.rb +182 -182
- data/test/integration/service_bus/scenario_test.rb +101 -101
- data/test/integration/service_bus/subscriptions_test.rb +211 -211
- data/test/integration/service_bus/topics_scenario_test.rb +406 -406
- data/test/integration/service_bus/topics_test.rb +129 -129
- data/test/integration/storage_management/storage_management_test.rb +160 -160
- data/test/integration/table/create_table_test.rb +35 -35
- data/test/integration/table/delete_entity_batch_test.rb +106 -106
- data/test/integration/table/delete_entity_test.rb +93 -93
- data/test/integration/table/delete_table_test.rb +39 -39
- data/test/integration/table/get_table_test.rb +36 -36
- data/test/integration/table/informative_errors_test.rb +38 -38
- data/test/integration/table/insert_entity_batch_test.rb +99 -99
- data/test/integration/table/insert_entity_test.rb +87 -87
- data/test/integration/table/insert_or_merge_entity_batch_test.rb +158 -158
- data/test/integration/table/insert_or_merge_entity_test.rb +142 -142
- data/test/integration/table/insert_or_replace_entity_batch_test.rb +151 -151
- data/test/integration/table/insert_or_replace_entity_test.rb +136 -136
- data/test/integration/table/merge_entity_batch_test.rb +127 -127
- data/test/integration/table/merge_entity_test.rb +112 -112
- data/test/integration/table/query_entities_test.rb +194 -194
- data/test/integration/table/query_tables_test.rb +42 -42
- data/test/integration/table/query_test.rb +250 -250
- data/test/integration/table/table_acl_test.rb +51 -51
- data/test/integration/table/table_gb18030_test.rb +355 -355
- data/test/integration/table/update_entity_batch_test.rb +148 -148
- data/test/integration/table/update_entity_test.rb +130 -130
- data/test/integration/test_helper.rb +42 -42
- data/test/integration/vm/VM_Create_test.rb +260 -260
- data/test/integration/vm/VM_Delete_test.rb +55 -55
- data/test/integration/vm/VM_Operations_test.rb +173 -173
- data/test/integration/vm_image/virtual_machine_disk_test.rb +37 -37
- data/test/integration/vm_image/virtual_machine_image_test.rb +36 -36
- data/test/integration/vnet/Virtual_Network_Create_test.rb +122 -122
- data/test/integration/vnet/Virtual_Network_list_test.rb +53 -53
- data/test/support/env.rb +19 -19
- data/test/support/fixtures.rb +36 -36
- data/test/support/name_generator.rb +168 -168
- data/test/support/stubs.rb +42 -42
- data/test/support/virtual_machine_name_generator.rb +102 -102
- data/test/support/virtual_network_helper.rb +73 -73
- data/test/test_helper.rb +53 -53
- data/test/unit/affinity_group/affinity_group_test.rb +192 -192
- data/test/unit/affinity_group/serialization_test.rb +88 -88
- data/test/unit/base_management/location_test.rb +57 -57
- data/test/unit/blob/blob_service_test.rb +1946 -1946
- data/test/unit/cloud_service_management/cloud_service_management_service_test.rb +94 -94
- data/test/unit/cloud_service_management/serialization_test.rb +169 -169
- data/test/unit/core/auth/shared_key_lite_test.rb +51 -51
- data/test/unit/core/auth/shared_key_test.rb +58 -58
- data/test/unit/core/auth/signer_test.rb +30 -30
- data/test/unit/core/http/http_error_test.rb +57 -57
- data/test/unit/core/http/http_request_test.rb +66 -66
- data/test/unit/core/http/http_response_test.rb +45 -45
- data/test/unit/core/http/retry_policy_test.rb +23 -23
- data/test/unit/database/serialization_test.rb +97 -97
- data/test/unit/database/sql_database_server_service_test.rb +288 -288
- data/test/unit/service/serialization_test.rb +532 -532
- data/test/unit/service/storage_service_test.rb +292 -292
- data/test/unit/storage_management/serialization_test.rb +232 -232
- data/test/unit/storage_management/storage_management_service_test.rb +261 -261
- data/test/unit/table/edmtype_test.rb +107 -107
- data/test/unit/virtual_machine_image_management/serialization_test.rb +35 -35
- data/test/unit/virtual_machine_image_management/virtual_machine_image_management_service_test.rb +65 -65
- data/test/unit/virtual_machine_management/serialization_test.rb +258 -258
- data/test/unit/virtual_machine_management/virtual_machine_management_service_test.rb +440 -440
- data/test/unit/vnet/serialization_test.rb +187 -187
- data/test/unit/vnet/virtual_network_management_service_test.rb +131 -131
- metadata +34 -27
@@ -1,41 +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
|
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
|
@@ -1,82 +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
|
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
|
@@ -1,199 +1,199 @@
|
|
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
|
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
|