diff --git a/common/lib/azure/storage/common/client_options.rb b/common/lib/azure/storage/common/client_options.rb index ff2bf01bff0ea167fcd256d1e0df3f214e40bc1f..cb7683006d538b161aebdbb96bcccf0f19b419a0 100644 --- a/common/lib/azure/storage/common/client_options.rb +++ b/common/lib/azure/storage/common/client_options.rb @@ -347,7 +347,7 @@ module Azure::Storage::Common def parse_connection_string(connection_string) opts = {} connection_string.split(";").each do |i| - e = i.index("=") + e = i.index("=") || -1 raise InvalidConnectionStringError, Azure::Storage::Common::Core::SR::INVALID_CONNECTION_STRING if e < 0 || e == i.length - 1 key, value = i[0..e - 1], i[e + 1..i.length - 1] raise InvalidConnectionStringError, Azure::Storage::Common::Core::SR::INVALID_CONNECTION_STRING_BAD_KEY % key unless ClientOptions.connection_string_mapping.key? key diff --git a/test/unit/blob/blob_service_test.rb b/test/unit/blob/blob_service_test.rb index a625b7da3b0346a5540ab223725da6a572eda7f0..860fd74d58b78153b7fefaff621d18bb0a0b1a5c 100644 --- a/test/unit/blob/blob_service_test.rb +++ b/test/unit/blob/blob_service_test.rb @@ -47,6 +47,16 @@ describe Azure::Storage::Blob::BlobService do subject.stubs(:call).returns(response) } + describe "#create_from_connection_string" do + let(:service) { Azure::Storage::Blob::BlobService } + + it "returns nil for a valid connection string" do + assert_raises(Azure::Storage::Common::InvalidConnectionStringError) { + Azure::Storage::Blob::BlobService.create_from_connection_string("invalid") + } + end + end + describe "#get_user_delegation_key" do let(:response_body) { '<?xml version="1.0" encoding="utf-8"?>