TEST_F(PBRPCURLTest, URLWithMultipleAddressesAndVolume) { // Build an URL to parse stringstream url_to_parse; ServerList::const_iterator servers_it = servers.begin(); for (; servers_it != servers.end(); ++servers_it) { if(servers_it != servers.begin()) { url_to_parse << ','; } url_to_parse << *servers_it; } url_to_parse << '/' << volume_name; // Parse URL and get addresses pbrpc_url_->ParseURL(url_to_parse.str(), default_scheme, default_port); ServiceAddresses addresses = pbrpc_url_->GetAddresses(); // Check expectations EXPECT_EQ(servers.size(), addresses.size()); EXPECT_EQ(volume_name, pbrpc_url_->volume()); EXPECT_EQ(default_scheme, pbrpc_url_->scheme()); servers_it = servers.begin(); stringstream expected_address; ServiceAddresses::Addresses services = addresses.GetAddresses(); for(ServiceAddresses::Addresses::iterator it = services.begin(); it != services.end(); ++it, ++servers_it) { expected_address.str(""); expected_address << *servers_it << ':' << default_port; EXPECT_EQ(expected_address.str(), *it); } }