| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2004 The WebRTC Project Authors. All rights reserved. | 2 * Copyright 2004 The WebRTC Project Authors. All rights reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 93 } | 93 } |
| 94 #endif // defined(WEBRTC_POSIX) | 94 #endif // defined(WEBRTC_POSIX) |
| 95 | 95 |
| 96 protected: | 96 protected: |
| 97 bool callback_called_; | 97 bool callback_called_; |
| 98 }; | 98 }; |
| 99 | 99 |
| 100 class TestBasicNetworkManager : public BasicNetworkManager { | 100 class TestBasicNetworkManager : public BasicNetworkManager { |
| 101 public: | 101 public: |
| 102 using BasicNetworkManager::QueryDefaultLocalAddress; | 102 using BasicNetworkManager::QueryDefaultLocalAddress; |
| 103 using BasicNetworkManager::set_default_local_addresses; | |
| 104 }; | 103 }; |
| 105 | 104 |
| 106 // Test that the Network ctor works properly. | 105 // Test that the Network ctor works properly. |
| 107 TEST_F(NetworkTest, TestNetworkConstruct) { | 106 TEST_F(NetworkTest, TestNetworkConstruct) { |
| 108 Network ipv4_network1("test_eth0", "Test Network Adapter 1", | 107 Network ipv4_network1("test_eth0", "Test Network Adapter 1", |
| 109 IPAddress(0x12345600U), 24); | 108 IPAddress(0x12345600U), 24); |
| 110 EXPECT_EQ("test_eth0", ipv4_network1.name()); | 109 EXPECT_EQ("test_eth0", ipv4_network1.name()); |
| 111 EXPECT_EQ("Test Network Adapter 1", ipv4_network1.description()); | 110 EXPECT_EQ("Test Network Adapter 1", ipv4_network1.description()); |
| 112 EXPECT_EQ(IPAddress(0x12345600U), ipv4_network1.prefix()); | 111 EXPECT_EQ(IPAddress(0x12345600U), ipv4_network1.prefix()); |
| 113 EXPECT_EQ(24, ipv4_network1.prefix_length()); | 112 EXPECT_EQ(24, ipv4_network1.prefix_length()); |
| (...skipping 728 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 842 network_monitor->OnNetworksChanged(); | 841 network_monitor->OnNetworksChanged(); |
| 843 EXPECT_TRUE_WAIT(callback_called_, 1000); | 842 EXPECT_TRUE_WAIT(callback_called_, 1000); |
| 844 | 843 |
| 845 // Network manager is stopped; the network monitor is removed. | 844 // Network manager is stopped; the network monitor is removed. |
| 846 manager.StopUpdating(); | 845 manager.StopUpdating(); |
| 847 EXPECT_TRUE(GetNetworkMonitor(manager) == nullptr); | 846 EXPECT_TRUE(GetNetworkMonitor(manager) == nullptr); |
| 848 | 847 |
| 849 NetworkMonitorFactory::ReleaseFactory(factory); | 848 NetworkMonitorFactory::ReleaseFactory(factory); |
| 850 } | 849 } |
| 851 | 850 |
| 852 TEST_F(NetworkTest, DefaultLocalAddress) { | 851 TEST_F(NetworkTest, DefaultPrivateAddress) { |
| 853 TestBasicNetworkManager manager; | 852 TestBasicNetworkManager manager; |
| 854 manager.StartUpdating(); | 853 manager.StartUpdating(); |
| 855 IPAddress ip; | |
| 856 | |
| 857 // GetDefaultLocalAddress should return false when not set. | |
| 858 EXPECT_FALSE(manager.GetDefaultLocalAddress(AF_INET, &ip)); | |
| 859 EXPECT_FALSE(manager.GetDefaultLocalAddress(AF_INET6, &ip)); | |
| 860 | |
| 861 // Make sure we can query default local address when an address for such | |
| 862 // address family exists. | |
| 863 std::vector<Network*> networks; | 854 std::vector<Network*> networks; |
| 864 manager.GetNetworks(&networks); | 855 manager.GetNetworks(&networks); |
| 865 for (auto& network : networks) { | 856 for (auto& network : networks) { |
| 866 if (network->GetBestIP().family() == AF_INET) { | 857 if (network->GetBestIP().family() == AF_INET) { |
| 867 EXPECT_TRUE(manager.QueryDefaultLocalAddress(AF_INET) != IPAddress()); | 858 EXPECT_TRUE(manager.QueryDefaultLocalAddress(AF_INET) != IPAddress()); |
| 868 } else if (network->GetBestIP().family() == AF_INET6) { | 859 } else if (network->GetBestIP().family() == AF_INET6) { |
| 869 EXPECT_TRUE(manager.QueryDefaultLocalAddress(AF_INET6) != IPAddress()); | 860 EXPECT_TRUE(manager.QueryDefaultLocalAddress(AF_INET6) != IPAddress()); |
| 870 } | 861 } |
| 871 } | 862 } |
| 872 | |
| 873 // GetDefaultLocalAddress should return the valid default address after set. | |
| 874 manager.set_default_local_addresses(GetLoopbackIP(AF_INET), | |
| 875 GetLoopbackIP(AF_INET6)); | |
| 876 EXPECT_TRUE(manager.GetDefaultLocalAddress(AF_INET, &ip)); | |
| 877 EXPECT_EQ(ip, GetLoopbackIP(AF_INET)); | |
| 878 EXPECT_TRUE(manager.GetDefaultLocalAddress(AF_INET6, &ip)); | |
| 879 EXPECT_EQ(ip, GetLoopbackIP(AF_INET6)); | |
| 880 manager.StopUpdating(); | 863 manager.StopUpdating(); |
| 881 } | 864 } |
| 882 | 865 |
| 883 } // namespace rtc | 866 } // namespace rtc |
| OLD | NEW |