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,132 +1,132 @@
|
|
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 "ServiceBus Relay" do
|
18
|
-
|
19
|
-
subject { Azure::ServiceBus::ServiceBusService.new }
|
20
|
-
let(:name) { ServiceBusRelayNameHelper.name }
|
21
|
-
let(:name_alternative) { ServiceBusRelayNameHelper.name }
|
22
|
-
let(:description) {{
|
23
|
-
:relay_type => 'Http',
|
24
|
-
:requires_client_authorization => true,
|
25
|
-
:requires_transport_security => true
|
26
|
-
}}
|
27
|
-
let(:description_alternative) {{
|
28
|
-
:relay_type => 'NetTcp',
|
29
|
-
:requires_client_authorization => false,
|
30
|
-
:requires_transport_security => false
|
31
|
-
}}
|
32
|
-
|
33
|
-
after { ServiceBusRelayNameHelper.clean }
|
34
|
-
|
35
|
-
it "should be able to create a new relay endpoint from a string and description Hash" do
|
36
|
-
relay = subject.create_relay name_alternative, description_alternative
|
37
|
-
relay.must_be_kind_of Azure::ServiceBus::Relay
|
38
|
-
relay.name.must_equal name_alternative
|
39
|
-
|
40
|
-
relay.relay_type.must_equal description_alternative[:relay_type]
|
41
|
-
relay.requires_client_authorization.must_equal description_alternative[:requires_client_authorization]
|
42
|
-
relay.requires_transport_security.must_equal description_alternative[:requires_transport_security]
|
43
|
-
end
|
44
|
-
|
45
|
-
it "should be able to create a new relay from a Relay with a description Hash" do
|
46
|
-
relay = subject.create_relay Azure::ServiceBus::Relay.new(name_alternative, description_alternative)
|
47
|
-
relay.must_be_kind_of Azure::ServiceBus::Relay
|
48
|
-
relay.name.must_equal name_alternative
|
49
|
-
|
50
|
-
relay.relay_type.must_equal description_alternative[:relay_type]
|
51
|
-
relay.requires_client_authorization.must_equal description_alternative[:requires_client_authorization]
|
52
|
-
relay.requires_transport_security.must_equal description_alternative[:requires_transport_security]
|
53
|
-
end
|
54
|
-
|
55
|
-
describe 'when a relay exists' do
|
56
|
-
before { subject.create_relay name, description }
|
57
|
-
|
58
|
-
describe "#get_relay" do
|
59
|
-
it "should be able to get a relay by name" do
|
60
|
-
result = subject.get_relay name
|
61
|
-
|
62
|
-
result.must_be_kind_of Azure::ServiceBus::Relay
|
63
|
-
result.name.must_equal name
|
64
|
-
end
|
65
|
-
|
66
|
-
it "if the relay endpoint doesn't exists it should throw" do
|
67
|
-
assert_raises(Azure::Core::Http::HTTPError) do
|
68
|
-
subject.get_relay ServiceBusRelayNameHelper.name
|
69
|
-
end
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
describe '#delete_relay' do
|
74
|
-
it "should raise exception if the relay endpoint cannot be deleted" do
|
75
|
-
assert_raises(Azure::Core::Http::HTTPError) do
|
76
|
-
subject.delete_relay ServiceBusRelayNameHelper.name
|
77
|
-
end
|
78
|
-
end
|
79
|
-
|
80
|
-
it "should be able to delete the relay endpoint" do
|
81
|
-
response = subject.delete_relay name
|
82
|
-
response.must_equal nil
|
83
|
-
end
|
84
|
-
end
|
85
|
-
|
86
|
-
describe 'when there are multiple relay endpoints' do
|
87
|
-
let(:name1) { ServiceBusRelayNameHelper.name }
|
88
|
-
let(:name2) { ServiceBusRelayNameHelper.name }
|
89
|
-
before {
|
90
|
-
subject.create_relay name1, description
|
91
|
-
subject.create_relay name2, description_alternative
|
92
|
-
}
|
93
|
-
|
94
|
-
it "should be able to get a list of relays" do
|
95
|
-
result = subject.list_relays
|
96
|
-
|
97
|
-
result.must_be :kind_of?, Array
|
98
|
-
q_found = false
|
99
|
-
q1_found = false
|
100
|
-
q2_found = false
|
101
|
-
result.each { |q|
|
102
|
-
q_found = true if q.name == name
|
103
|
-
q1_found = true if q.name == name1
|
104
|
-
q2_found = true if q.name == name2
|
105
|
-
}
|
106
|
-
assert (q_found and q1_found and q2_found), "list_relays did not return expected relay endpoints"
|
107
|
-
end
|
108
|
-
|
109
|
-
it "should be able to use $skip token with list_relays" do
|
110
|
-
result = subject.list_relays
|
111
|
-
result2 = subject.list_relays({ :skip => 1 })
|
112
|
-
result2.length.must_equal result.length - 1
|
113
|
-
result2[0].id.must_equal result[1].id
|
114
|
-
end
|
115
|
-
|
116
|
-
it "should be able to use $top token with list_relays" do
|
117
|
-
result = subject.list_relays
|
118
|
-
result.length.wont_equal 1
|
119
|
-
|
120
|
-
result2 = subject.list_relays({ :top => 1 })
|
121
|
-
result2.length.must_equal 1
|
122
|
-
end
|
123
|
-
|
124
|
-
it "should be able to use $skip and $top token together with list_relays" do
|
125
|
-
result = subject.list_relays
|
126
|
-
result2 = subject.list_relays({ :skip => 1, :top => 1 })
|
127
|
-
result2.length.must_equal 1
|
128
|
-
result2[0].id.must_equal result[1].id
|
129
|
-
end
|
130
|
-
end
|
131
|
-
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 "ServiceBus Relay" do
|
18
|
+
|
19
|
+
subject { Azure::ServiceBus::ServiceBusService.new }
|
20
|
+
let(:name) { ServiceBusRelayNameHelper.name }
|
21
|
+
let(:name_alternative) { ServiceBusRelayNameHelper.name }
|
22
|
+
let(:description) {{
|
23
|
+
:relay_type => 'Http',
|
24
|
+
:requires_client_authorization => true,
|
25
|
+
:requires_transport_security => true
|
26
|
+
}}
|
27
|
+
let(:description_alternative) {{
|
28
|
+
:relay_type => 'NetTcp',
|
29
|
+
:requires_client_authorization => false,
|
30
|
+
:requires_transport_security => false
|
31
|
+
}}
|
32
|
+
|
33
|
+
after { ServiceBusRelayNameHelper.clean }
|
34
|
+
|
35
|
+
it "should be able to create a new relay endpoint from a string and description Hash" do
|
36
|
+
relay = subject.create_relay name_alternative, description_alternative
|
37
|
+
relay.must_be_kind_of Azure::ServiceBus::Relay
|
38
|
+
relay.name.must_equal name_alternative
|
39
|
+
|
40
|
+
relay.relay_type.must_equal description_alternative[:relay_type]
|
41
|
+
relay.requires_client_authorization.must_equal description_alternative[:requires_client_authorization]
|
42
|
+
relay.requires_transport_security.must_equal description_alternative[:requires_transport_security]
|
43
|
+
end
|
44
|
+
|
45
|
+
it "should be able to create a new relay from a Relay with a description Hash" do
|
46
|
+
relay = subject.create_relay Azure::ServiceBus::Relay.new(name_alternative, description_alternative)
|
47
|
+
relay.must_be_kind_of Azure::ServiceBus::Relay
|
48
|
+
relay.name.must_equal name_alternative
|
49
|
+
|
50
|
+
relay.relay_type.must_equal description_alternative[:relay_type]
|
51
|
+
relay.requires_client_authorization.must_equal description_alternative[:requires_client_authorization]
|
52
|
+
relay.requires_transport_security.must_equal description_alternative[:requires_transport_security]
|
53
|
+
end
|
54
|
+
|
55
|
+
describe 'when a relay exists' do
|
56
|
+
before { subject.create_relay name, description }
|
57
|
+
|
58
|
+
describe "#get_relay" do
|
59
|
+
it "should be able to get a relay by name" do
|
60
|
+
result = subject.get_relay name
|
61
|
+
|
62
|
+
result.must_be_kind_of Azure::ServiceBus::Relay
|
63
|
+
result.name.must_equal name
|
64
|
+
end
|
65
|
+
|
66
|
+
it "if the relay endpoint doesn't exists it should throw" do
|
67
|
+
assert_raises(Azure::Core::Http::HTTPError) do
|
68
|
+
subject.get_relay ServiceBusRelayNameHelper.name
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
describe '#delete_relay' do
|
74
|
+
it "should raise exception if the relay endpoint cannot be deleted" do
|
75
|
+
assert_raises(Azure::Core::Http::HTTPError) do
|
76
|
+
subject.delete_relay ServiceBusRelayNameHelper.name
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
it "should be able to delete the relay endpoint" do
|
81
|
+
response = subject.delete_relay name
|
82
|
+
response.must_equal nil
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
describe 'when there are multiple relay endpoints' do
|
87
|
+
let(:name1) { ServiceBusRelayNameHelper.name }
|
88
|
+
let(:name2) { ServiceBusRelayNameHelper.name }
|
89
|
+
before {
|
90
|
+
subject.create_relay name1, description
|
91
|
+
subject.create_relay name2, description_alternative
|
92
|
+
}
|
93
|
+
|
94
|
+
it "should be able to get a list of relays" do
|
95
|
+
result = subject.list_relays
|
96
|
+
|
97
|
+
result.must_be :kind_of?, Array
|
98
|
+
q_found = false
|
99
|
+
q1_found = false
|
100
|
+
q2_found = false
|
101
|
+
result.each { |q|
|
102
|
+
q_found = true if q.name == name
|
103
|
+
q1_found = true if q.name == name1
|
104
|
+
q2_found = true if q.name == name2
|
105
|
+
}
|
106
|
+
assert (q_found and q1_found and q2_found), "list_relays did not return expected relay endpoints"
|
107
|
+
end
|
108
|
+
|
109
|
+
it "should be able to use $skip token with list_relays" do
|
110
|
+
result = subject.list_relays
|
111
|
+
result2 = subject.list_relays({ :skip => 1 })
|
112
|
+
result2.length.must_equal result.length - 1
|
113
|
+
result2[0].id.must_equal result[1].id
|
114
|
+
end
|
115
|
+
|
116
|
+
it "should be able to use $top token with list_relays" do
|
117
|
+
result = subject.list_relays
|
118
|
+
result.length.wont_equal 1
|
119
|
+
|
120
|
+
result2 = subject.list_relays({ :top => 1 })
|
121
|
+
result2.length.must_equal 1
|
122
|
+
end
|
123
|
+
|
124
|
+
it "should be able to use $skip and $top token together with list_relays" do
|
125
|
+
result = subject.list_relays
|
126
|
+
result2 = subject.list_relays({ :skip => 1, :top => 1 })
|
127
|
+
result2.length.must_equal 1
|
128
|
+
result2[0].id.must_equal result[1].id
|
129
|
+
end
|
130
|
+
end
|
131
|
+
end
|
132
132
|
end
|
@@ -1,145 +1,145 @@
|
|
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 "ServiceBus Rules" do
|
18
|
-
subject { Azure::ServiceBus::ServiceBusService.new }
|
19
|
-
after { ServiceBusTopicNameHelper.clean }
|
20
|
-
let(:topic){ ServiceBusTopicNameHelper.name }
|
21
|
-
let(:subscription){ "mySubscription" }
|
22
|
-
let(:rule){ "myRule" }
|
23
|
-
|
24
|
-
before {
|
25
|
-
subject.create_topic topic
|
26
|
-
subject.create_subscription topic, subscription
|
27
|
-
}
|
28
|
-
|
29
|
-
it "should be able to create a new rule" do
|
30
|
-
result = subject.create_rule topic, subscription, rule
|
31
|
-
result.must_be :kind_of?, Azure::ServiceBus::Rule
|
32
|
-
result.filter.must_be_kind_of Azure::ServiceBus::TrueFilter
|
33
|
-
result.filter.sql_expression.must_equal "1=1"
|
34
|
-
result.filter.compatibility_level.must_equal 20
|
35
|
-
end
|
36
|
-
|
37
|
-
it "should be able to create a new rule object" do
|
38
|
-
ruleObject = Azure::ServiceBus::Rule.new "my_other_rule"
|
39
|
-
ruleObject.subscription = subscription
|
40
|
-
ruleObject.topic = topic
|
41
|
-
|
42
|
-
result = subject.create_rule ruleObject
|
43
|
-
result.must_be :kind_of?, Azure::ServiceBus::Rule
|
44
|
-
result.filter.must_be_kind_of Azure::ServiceBus::TrueFilter
|
45
|
-
result.filter.sql_expression.must_equal "1=1"
|
46
|
-
result.filter.compatibility_level.must_equal 20
|
47
|
-
|
48
|
-
subject.delete_rule result
|
49
|
-
end
|
50
|
-
|
51
|
-
it "should be able to create a new rule with an action" do
|
52
|
-
ruleObject = Azure::ServiceBus::Rule.new "my_other_rule"
|
53
|
-
ruleObject.subscription = subscription
|
54
|
-
ruleObject.topic = topic
|
55
|
-
ruleObject.filter = Azure::ServiceBus::SqlFilter.new({ :sql_expression => "MyProperty='XYZ'" })
|
56
|
-
ruleObject.action = Azure::ServiceBus::SqlRuleAction.new({ :sql_expression => "set MyProperty2 = 'ABC'" })
|
57
|
-
|
58
|
-
result = subject.create_rule ruleObject
|
59
|
-
result.must_be :kind_of?, Azure::ServiceBus::Rule
|
60
|
-
result.filter.must_be_kind_of Azure::ServiceBus::SqlFilter
|
61
|
-
result.filter.sql_expression.must_equal "MyProperty='XYZ'"
|
62
|
-
result.filter.compatibility_level.must_equal 20
|
63
|
-
|
64
|
-
result.action.must_be_kind_of Azure::ServiceBus::SqlRuleAction
|
65
|
-
result.action.sql_expression.must_equal "set MyProperty2 = 'ABC'"
|
66
|
-
result.action.compatibility_level.must_equal 20
|
67
|
-
|
68
|
-
subject.delete_rule result
|
69
|
-
end
|
70
|
-
|
71
|
-
it "should be able to create a new rule with a correlation filter" do
|
72
|
-
ruleObject = Azure::ServiceBus::Rule.new "my_other_rule"
|
73
|
-
ruleObject.subscription = subscription
|
74
|
-
ruleObject.topic = topic
|
75
|
-
ruleObject.filter = Azure::ServiceBus::CorrelationFilter.new({ :correlation_id => "identifier" })
|
76
|
-
ruleObject.action = Azure::ServiceBus::SqlRuleAction.new({ :sql_expression => "set MyProperty2 = 'ABC'" })
|
77
|
-
|
78
|
-
result = subject.create_rule ruleObject
|
79
|
-
result.must_be :kind_of?, Azure::ServiceBus::Rule
|
80
|
-
result.filter.must_be_kind_of Azure::ServiceBus::CorrelationFilter
|
81
|
-
result.filter.correlation_id.must_equal "identifier"
|
82
|
-
|
83
|
-
result.action.must_be_kind_of Azure::ServiceBus::SqlRuleAction
|
84
|
-
result.action.sql_expression.must_equal "set MyProperty2 = 'ABC'"
|
85
|
-
result.action.compatibility_level.must_equal 20
|
86
|
-
|
87
|
-
subject.delete_rule result
|
88
|
-
end
|
89
|
-
|
90
|
-
describe "when a rule exists" do
|
91
|
-
before { subject.create_rule topic, subscription, rule }
|
92
|
-
|
93
|
-
it "should be able to delete rules" do
|
94
|
-
subject.delete_rule topic, subscription, rule
|
95
|
-
end
|
96
|
-
|
97
|
-
it "should be able to get rules" do
|
98
|
-
result = subject.get_rule topic, subscription, rule
|
99
|
-
result.must_be :kind_of?, Azure::ServiceBus::Rule
|
100
|
-
result.filter.must_be_kind_of Azure::ServiceBus::TrueFilter
|
101
|
-
result.filter.sql_expression.must_equal "1=1"
|
102
|
-
result.filter.compatibility_level.must_equal 20
|
103
|
-
end
|
104
|
-
|
105
|
-
it "should be able to list rules" do
|
106
|
-
result = subject.list_rules topic, subscription
|
107
|
-
rule_found = false
|
108
|
-
result.each { |r|
|
109
|
-
rule_found = true if r.name == rule
|
110
|
-
}
|
111
|
-
assert rule_found, "list_rules didn't include the expected rule"
|
112
|
-
end
|
113
|
-
|
114
|
-
describe 'when multiple rules exist' do
|
115
|
-
let(:rule1) { "myRule1" }
|
116
|
-
let(:rule2) { "myRule2" }
|
117
|
-
before {
|
118
|
-
subject.create_rule topic, subscription, rule1
|
119
|
-
subject.create_rule topic, subscription, rule2
|
120
|
-
}
|
121
|
-
|
122
|
-
it "should be able to use $skip token" do
|
123
|
-
result = subject.list_rules topic, subscription
|
124
|
-
result2 = subject.list_rules topic, subscription, { :skip => 1 }
|
125
|
-
result2.length.must_equal result.length - 1
|
126
|
-
result2[0].id.must_equal result[1].id
|
127
|
-
end
|
128
|
-
|
129
|
-
it "should be able to use $top token" do
|
130
|
-
result = subject.list_rules topic, subscription
|
131
|
-
result.length.wont_equal 1
|
132
|
-
|
133
|
-
result2 = subject.list_rules topic, subscription, { :top => 1 }
|
134
|
-
result2.length.must_equal 1
|
135
|
-
end
|
136
|
-
|
137
|
-
it "should be able to use $skip and $top token together" do
|
138
|
-
result = subject.list_rules topic, subscription
|
139
|
-
result2 = subject.list_rules topic, subscription, { :skip => 1, :top => 1 }
|
140
|
-
result2.length.must_equal 1
|
141
|
-
result2[0].id.must_equal result[1].id
|
142
|
-
end
|
143
|
-
end
|
144
|
-
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 "ServiceBus Rules" do
|
18
|
+
subject { Azure::ServiceBus::ServiceBusService.new }
|
19
|
+
after { ServiceBusTopicNameHelper.clean }
|
20
|
+
let(:topic){ ServiceBusTopicNameHelper.name }
|
21
|
+
let(:subscription){ "mySubscription" }
|
22
|
+
let(:rule){ "myRule" }
|
23
|
+
|
24
|
+
before {
|
25
|
+
subject.create_topic topic
|
26
|
+
subject.create_subscription topic, subscription
|
27
|
+
}
|
28
|
+
|
29
|
+
it "should be able to create a new rule" do
|
30
|
+
result = subject.create_rule topic, subscription, rule
|
31
|
+
result.must_be :kind_of?, Azure::ServiceBus::Rule
|
32
|
+
result.filter.must_be_kind_of Azure::ServiceBus::TrueFilter
|
33
|
+
result.filter.sql_expression.must_equal "1=1"
|
34
|
+
result.filter.compatibility_level.must_equal 20
|
35
|
+
end
|
36
|
+
|
37
|
+
it "should be able to create a new rule object" do
|
38
|
+
ruleObject = Azure::ServiceBus::Rule.new "my_other_rule"
|
39
|
+
ruleObject.subscription = subscription
|
40
|
+
ruleObject.topic = topic
|
41
|
+
|
42
|
+
result = subject.create_rule ruleObject
|
43
|
+
result.must_be :kind_of?, Azure::ServiceBus::Rule
|
44
|
+
result.filter.must_be_kind_of Azure::ServiceBus::TrueFilter
|
45
|
+
result.filter.sql_expression.must_equal "1=1"
|
46
|
+
result.filter.compatibility_level.must_equal 20
|
47
|
+
|
48
|
+
subject.delete_rule result
|
49
|
+
end
|
50
|
+
|
51
|
+
it "should be able to create a new rule with an action" do
|
52
|
+
ruleObject = Azure::ServiceBus::Rule.new "my_other_rule"
|
53
|
+
ruleObject.subscription = subscription
|
54
|
+
ruleObject.topic = topic
|
55
|
+
ruleObject.filter = Azure::ServiceBus::SqlFilter.new({ :sql_expression => "MyProperty='XYZ'" })
|
56
|
+
ruleObject.action = Azure::ServiceBus::SqlRuleAction.new({ :sql_expression => "set MyProperty2 = 'ABC'" })
|
57
|
+
|
58
|
+
result = subject.create_rule ruleObject
|
59
|
+
result.must_be :kind_of?, Azure::ServiceBus::Rule
|
60
|
+
result.filter.must_be_kind_of Azure::ServiceBus::SqlFilter
|
61
|
+
result.filter.sql_expression.must_equal "MyProperty='XYZ'"
|
62
|
+
result.filter.compatibility_level.must_equal 20
|
63
|
+
|
64
|
+
result.action.must_be_kind_of Azure::ServiceBus::SqlRuleAction
|
65
|
+
result.action.sql_expression.must_equal "set MyProperty2 = 'ABC'"
|
66
|
+
result.action.compatibility_level.must_equal 20
|
67
|
+
|
68
|
+
subject.delete_rule result
|
69
|
+
end
|
70
|
+
|
71
|
+
it "should be able to create a new rule with a correlation filter" do
|
72
|
+
ruleObject = Azure::ServiceBus::Rule.new "my_other_rule"
|
73
|
+
ruleObject.subscription = subscription
|
74
|
+
ruleObject.topic = topic
|
75
|
+
ruleObject.filter = Azure::ServiceBus::CorrelationFilter.new({ :correlation_id => "identifier" })
|
76
|
+
ruleObject.action = Azure::ServiceBus::SqlRuleAction.new({ :sql_expression => "set MyProperty2 = 'ABC'" })
|
77
|
+
|
78
|
+
result = subject.create_rule ruleObject
|
79
|
+
result.must_be :kind_of?, Azure::ServiceBus::Rule
|
80
|
+
result.filter.must_be_kind_of Azure::ServiceBus::CorrelationFilter
|
81
|
+
result.filter.correlation_id.must_equal "identifier"
|
82
|
+
|
83
|
+
result.action.must_be_kind_of Azure::ServiceBus::SqlRuleAction
|
84
|
+
result.action.sql_expression.must_equal "set MyProperty2 = 'ABC'"
|
85
|
+
result.action.compatibility_level.must_equal 20
|
86
|
+
|
87
|
+
subject.delete_rule result
|
88
|
+
end
|
89
|
+
|
90
|
+
describe "when a rule exists" do
|
91
|
+
before { subject.create_rule topic, subscription, rule }
|
92
|
+
|
93
|
+
it "should be able to delete rules" do
|
94
|
+
subject.delete_rule topic, subscription, rule
|
95
|
+
end
|
96
|
+
|
97
|
+
it "should be able to get rules" do
|
98
|
+
result = subject.get_rule topic, subscription, rule
|
99
|
+
result.must_be :kind_of?, Azure::ServiceBus::Rule
|
100
|
+
result.filter.must_be_kind_of Azure::ServiceBus::TrueFilter
|
101
|
+
result.filter.sql_expression.must_equal "1=1"
|
102
|
+
result.filter.compatibility_level.must_equal 20
|
103
|
+
end
|
104
|
+
|
105
|
+
it "should be able to list rules" do
|
106
|
+
result = subject.list_rules topic, subscription
|
107
|
+
rule_found = false
|
108
|
+
result.each { |r|
|
109
|
+
rule_found = true if r.name == rule
|
110
|
+
}
|
111
|
+
assert rule_found, "list_rules didn't include the expected rule"
|
112
|
+
end
|
113
|
+
|
114
|
+
describe 'when multiple rules exist' do
|
115
|
+
let(:rule1) { "myRule1" }
|
116
|
+
let(:rule2) { "myRule2" }
|
117
|
+
before {
|
118
|
+
subject.create_rule topic, subscription, rule1
|
119
|
+
subject.create_rule topic, subscription, rule2
|
120
|
+
}
|
121
|
+
|
122
|
+
it "should be able to use $skip token" do
|
123
|
+
result = subject.list_rules topic, subscription
|
124
|
+
result2 = subject.list_rules topic, subscription, { :skip => 1 }
|
125
|
+
result2.length.must_equal result.length - 1
|
126
|
+
result2[0].id.must_equal result[1].id
|
127
|
+
end
|
128
|
+
|
129
|
+
it "should be able to use $top token" do
|
130
|
+
result = subject.list_rules topic, subscription
|
131
|
+
result.length.wont_equal 1
|
132
|
+
|
133
|
+
result2 = subject.list_rules topic, subscription, { :top => 1 }
|
134
|
+
result2.length.must_equal 1
|
135
|
+
end
|
136
|
+
|
137
|
+
it "should be able to use $skip and $top token together" do
|
138
|
+
result = subject.list_rules topic, subscription
|
139
|
+
result2 = subject.list_rules topic, subscription, { :skip => 1, :top => 1 }
|
140
|
+
result2.length.must_equal 1
|
141
|
+
result2[0].id.must_equal result[1].id
|
142
|
+
end
|
143
|
+
end
|
144
|
+
end
|
145
145
|
end
|