Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(681)

Unified Diff: net/android/network_change_notifier_android_unittest.cc

Issue 1047103002: Avoid initial NetworkChangeNotifier OnDNSChanged() signal on Android (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: revert an accidental test enabling Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/android/network_change_notifier_android_unittest.cc
diff --git a/net/android/network_change_notifier_android_unittest.cc b/net/android/network_change_notifier_android_unittest.cc
index 83dd70e79641d005b0e263c49b9972b210405ec3..30ee4f0795e39930ee8b5fa58c07d7b0f15f34df 100644
--- a/net/android/network_change_notifier_android_unittest.cc
+++ b/net/android/network_change_notifier_android_unittest.cc
@@ -12,6 +12,8 @@
#include "net/android/network_change_notifier_android.h"
#include "net/android/network_change_notifier_delegate_android.h"
#include "net/base/network_change_notifier.h"
+#include "net/dns/dns_config_service.h"
+#include "net/dns/dns_protocol.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace net {
@@ -60,6 +62,30 @@ class NetworkChangeNotifierObserver
int notifications_count_;
};
+class DNSChangeObserver : public NetworkChangeNotifier::DNSObserver {
+ public:
+ DNSChangeObserver()
+ : change_notifications_count_(0), initial_notifications_count_(0) {}
+
+ // NetworkChangeNotifier::DNSObserver:
+ void OnDNSChanged() override { change_notifications_count_++; }
+
+ void OnInitialDNSConfigRead() override {
+ initial_notifications_count_++;
+ base::MessageLoop::current()->Quit();
+ }
+
+ int change_notifications_count() const { return change_notifications_count_; }
+
+ int initial_notifications_count() const {
+ return initial_notifications_count_;
+ }
+
+ private:
+ int change_notifications_count_;
+ int initial_notifications_count_;
+};
+
} // namespace
class BaseNetworkChangeNotifierAndroidTest : public testing::Test {
@@ -175,7 +201,12 @@ TEST_F(NetworkChangeNotifierDelegateAndroidTest, DelegateObserverNotified) {
class NetworkChangeNotifierAndroidTest
: public BaseNetworkChangeNotifierAndroidTest {
protected:
- NetworkChangeNotifierAndroidTest() : notifier_(&delegate_) {
+ void SetUp() override {
+ IPAddressNumber dns_number;
+ ASSERT_TRUE(ParseIPLiteralToNumber("8.8.8.8", &dns_number));
+ dns_config_.nameservers.push_back(
+ IPEndPoint(dns_number, dns_protocol::kDefaultPort));
+ notifier_.reset(new NetworkChangeNotifierAndroid(&delegate_, &dns_config_));
NetworkChangeNotifier::AddConnectionTypeObserver(
&connection_type_observer_);
NetworkChangeNotifier::AddConnectionTypeObserver(
@@ -185,7 +216,8 @@ class NetworkChangeNotifierAndroidTest
NetworkChangeNotifierObserver connection_type_observer_;
NetworkChangeNotifierObserver other_connection_type_observer_;
NetworkChangeNotifier::DisableForTest disable_for_test_;
- NetworkChangeNotifierAndroid notifier_;
+ DnsConfig dns_config_;
+ scoped_ptr<NetworkChangeNotifierAndroid> notifier_;
};
// When a NetworkChangeNotifierAndroid is observing a
@@ -194,13 +226,10 @@ class NetworkChangeNotifierAndroidTest
// NetworkChangeNotifierAndroid should reflect that state.
TEST_F(NetworkChangeNotifierAndroidTest,
NotificationsSentToNetworkChangeNotifierAndroid) {
- RunTest(
- base::Bind(
- &NetworkChangeNotifierObserver::notifications_count,
- base::Unretained(&connection_type_observer_)),
- base::Bind(
- &NetworkChangeNotifierAndroid::GetCurrentConnectionType,
- base::Unretained(&notifier_)));
+ RunTest(base::Bind(&NetworkChangeNotifierObserver::notifications_count,
+ base::Unretained(&connection_type_observer_)),
+ base::Bind(&NetworkChangeNotifierAndroid::GetCurrentConnectionType,
+ base::Unretained(notifier_.get())));
}
// When a NetworkChangeNotifierAndroid's connection state changes, it should
@@ -220,13 +249,13 @@ TEST_F(NetworkChangeNotifierAndroidTest,
TEST_F(NetworkChangeNotifierAndroidTest, MaxBandwidth) {
SetOnline();
EXPECT_EQ(NetworkChangeNotifier::CONNECTION_UNKNOWN,
- notifier_.GetConnectionType());
+ notifier_->GetConnectionType());
EXPECT_EQ(std::numeric_limits<double>::infinity(),
- notifier_.GetMaxBandwidth());
+ notifier_->GetMaxBandwidth());
SetOffline();
EXPECT_EQ(NetworkChangeNotifier::CONNECTION_NONE,
- notifier_.GetConnectionType());
- EXPECT_EQ(0.0, notifier_.GetMaxBandwidth());
+ notifier_->GetConnectionType());
+ EXPECT_EQ(0.0, notifier_->GetMaxBandwidth());
}
TEST_F(NetworkChangeNotifierDelegateAndroidTest,
@@ -240,4 +269,13 @@ TEST_F(NetworkChangeNotifierDelegateAndroidTest,
EXPECT_EQ(2, delegate_observer_.bandwidth_notifications_count());
}
+TEST_F(NetworkChangeNotifierAndroidTest, InitialSignal) {
+ DNSChangeObserver dns_change_observer;
+ NetworkChangeNotifier::AddDNSObserver(&dns_change_observer);
+ base::MessageLoop::current()->Run();
+ EXPECT_EQ(1, dns_change_observer.initial_notifications_count());
+ EXPECT_EQ(0, dns_change_observer.change_notifications_count());
+ NetworkChangeNotifier::RemoveDNSObserver(&dns_change_observer);
+}
+
} // namespace net
« no previous file with comments | « net/android/network_change_notifier_android.cc ('k') | net/android/network_change_notifier_factory_android.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698