Index: net/nqe/network_quality_estimator_unittest.cc |
diff --git a/net/nqe/network_quality_estimator_unittest.cc b/net/nqe/network_quality_estimator_unittest.cc |
index 4f7941ed9fda5ee41ed586d8754bcadb162ec790..29e12aa30440bd8c149a2c65adc8b77ebfe123d9 100644 |
--- a/net/nqe/network_quality_estimator_unittest.cc |
+++ b/net/nqe/network_quality_estimator_unittest.cc |
@@ -33,11 +33,13 @@ |
#include "net/http/http_status_code.h" |
#include "net/log/test_net_log.h" |
#include "net/nqe/effective_connection_type.h" |
+#include "net/nqe/effective_connection_type_observer.h" |
#include "net/nqe/external_estimate_provider.h" |
#include "net/nqe/network_quality_estimator_test_util.h" |
#include "net/nqe/network_quality_observation.h" |
#include "net/nqe/network_quality_observation_source.h" |
#include "net/nqe/observation_buffer.h" |
+#include "net/nqe/rtt_throughput_estimates_observer.h" |
#include "net/socket/socket_performance_watcher.h" |
#include "net/socket/socket_performance_watcher_factory.h" |
#include "net/traffic_annotation/network_traffic_annotation_test_helper.h" |
@@ -73,7 +75,7 @@ namespace net { |
namespace { |
class TestEffectiveConnectionTypeObserver |
- : public NetworkQualityEstimator::EffectiveConnectionTypeObserver { |
+ : public EffectiveConnectionTypeObserver { |
public: |
std::vector<EffectiveConnectionType>& effective_connection_types() { |
return effective_connection_types_; |
@@ -89,7 +91,7 @@ class TestEffectiveConnectionTypeObserver |
}; |
class TestRTTAndThroughputEstimatesObserver |
- : public NetworkQualityEstimator::RTTAndThroughputEstimatesObserver { |
+ : public RTTAndThroughputEstimatesObserver { |
public: |
TestRTTAndThroughputEstimatesObserver() |
: http_rtt_(nqe::internal::InvalidRTT()), |
@@ -221,8 +223,10 @@ TEST(NetworkQualityEstimatorTest, TestKbpsRTTUpdates) { |
// Both RTT and downstream throughput should be updated. |
base::TimeDelta http_rtt; |
EXPECT_TRUE(estimator.GetRecentHttpRTT(base::TimeTicks(), &http_rtt)); |
+ EXPECT_EQ(http_rtt, estimator.GetHttpRTT().value()); |
EXPECT_TRUE( |
estimator.GetRecentDownlinkThroughputKbps(base::TimeTicks(), &kbps)); |
+ EXPECT_EQ(kbps, estimator.GetDownstreamThroughputKbps().value()); |
base::TimeDelta transport_rtt; |
EXPECT_FALSE(estimator.GetTransportRTT()); |
EXPECT_FALSE( |
@@ -397,8 +401,10 @@ TEST(NetworkQualityEstimatorTest, Caching) { |
// Both RTT and downstream throughput should be updated. |
EXPECT_TRUE(estimator.GetRecentHttpRTT(base::TimeTicks(), &rtt)); |
+ EXPECT_EQ(rtt, estimator.GetHttpRTT().value()); |
EXPECT_TRUE( |
estimator.GetRecentDownlinkThroughputKbps(base::TimeTicks(), &kbps)); |
+ EXPECT_EQ(kbps, estimator.GetDownstreamThroughputKbps().value()); |
EXPECT_NE(EFFECTIVE_CONNECTION_TYPE_UNKNOWN, |
estimator.GetEffectiveConnectionType()); |
EXPECT_FALSE(estimator.GetRecentTransportRTT(base::TimeTicks(), &rtt)); |
@@ -504,8 +510,10 @@ TEST(NetworkQualityEstimatorTest, CachingDisabled) { |
// Both RTT and downstream throughput should be updated. |
EXPECT_TRUE(estimator.GetRecentHttpRTT(base::TimeTicks(), &rtt)); |
+ EXPECT_EQ(rtt, estimator.GetHttpRTT().value()); |
EXPECT_TRUE( |
estimator.GetRecentDownlinkThroughputKbps(base::TimeTicks(), &kbps)); |
+ EXPECT_EQ(kbps, estimator.GetDownstreamThroughputKbps().value()); |
EXPECT_NE(EFFECTIVE_CONNECTION_TYPE_UNKNOWN, |
estimator.GetEffectiveConnectionType()); |
EXPECT_FALSE(estimator.GetRecentTransportRTT(base::TimeTicks(), &rtt)); |
@@ -692,12 +700,14 @@ TEST(NetworkQualityEstimatorTest, DefaultObservations) { |
// Default estimates should be available. |
EXPECT_TRUE(estimator.GetRecentHttpRTT(base::TimeTicks(), &rtt)); |
EXPECT_EQ(base::TimeDelta::FromMilliseconds(115), rtt); |
+ EXPECT_EQ(rtt, estimator.GetHttpRTT().value()); |
EXPECT_TRUE(estimator.GetRecentTransportRTT(base::TimeTicks(), &rtt)); |
EXPECT_EQ(base::TimeDelta::FromMilliseconds(55), rtt); |
EXPECT_EQ(rtt, estimator.GetTransportRTT().value()); |
EXPECT_TRUE( |
estimator.GetRecentDownlinkThroughputKbps(base::TimeTicks(), &kbps)); |
EXPECT_EQ(1961, kbps); |
+ EXPECT_EQ(kbps, estimator.GetDownstreamThroughputKbps().value()); |
estimator.AddEffectiveConnectionTypeObserver( |
&effective_connection_type_observer); |
@@ -712,12 +722,14 @@ TEST(NetworkQualityEstimatorTest, DefaultObservations) { |
EXPECT_TRUE(estimator.GetRecentHttpRTT(base::TimeTicks(), &rtt)); |
// Taken from network_quality_estimator_params.cc. |
EXPECT_EQ(base::TimeDelta::FromMilliseconds(272), rtt); |
+ EXPECT_EQ(rtt, estimator.GetHttpRTT().value()); |
EXPECT_TRUE(estimator.GetRecentTransportRTT(base::TimeTicks(), &rtt)); |
EXPECT_EQ(base::TimeDelta::FromMilliseconds(209), rtt); |
EXPECT_EQ(rtt, estimator.GetTransportRTT()); |
EXPECT_TRUE( |
estimator.GetRecentDownlinkThroughputKbps(base::TimeTicks(), &kbps)); |
EXPECT_EQ(749, kbps); |
+ EXPECT_EQ(kbps, estimator.GetDownstreamThroughputKbps().value()); |
EXPECT_NE(EFFECTIVE_CONNECTION_TYPE_UNKNOWN, |
estimator.GetEffectiveConnectionType()); |
@@ -788,24 +800,28 @@ TEST(NetworkQualityEstimatorTest, DefaultObservationsOverridden) { |
EXPECT_TRUE(estimator.GetRecentHttpRTT(base::TimeTicks(), &rtt)); |
EXPECT_EQ(base::TimeDelta::FromMilliseconds(1000), rtt); |
+ EXPECT_EQ(rtt, estimator.GetHttpRTT().value()); |
EXPECT_TRUE(estimator.GetRecentTransportRTT(base::TimeTicks(), &rtt)); |
EXPECT_EQ(base::TimeDelta::FromMilliseconds(500), rtt); |
EXPECT_EQ(rtt, estimator.GetTransportRTT().value()); |
EXPECT_TRUE( |
estimator.GetRecentDownlinkThroughputKbps(base::TimeTicks(), &kbps)); |
EXPECT_EQ(100, kbps); |
+ EXPECT_EQ(kbps, estimator.GetDownstreamThroughputKbps().value()); |
// Simulate network change to Wi-Fi. |
estimator.SimulateNetworkChange( |
NetworkChangeNotifier::ConnectionType::CONNECTION_WIFI, "test-1"); |
EXPECT_TRUE(estimator.GetRecentHttpRTT(base::TimeTicks(), &rtt)); |
EXPECT_EQ(base::TimeDelta::FromMilliseconds(2000), rtt); |
+ EXPECT_EQ(rtt, estimator.GetHttpRTT().value()); |
EXPECT_TRUE(estimator.GetRecentTransportRTT(base::TimeTicks(), &rtt)); |
EXPECT_EQ(base::TimeDelta::FromMilliseconds(1000), rtt); |
EXPECT_EQ(rtt, estimator.GetTransportRTT().value()); |
EXPECT_TRUE( |
estimator.GetRecentDownlinkThroughputKbps(base::TimeTicks(), &kbps)); |
EXPECT_EQ(200, kbps); |
+ EXPECT_EQ(kbps, estimator.GetDownstreamThroughputKbps().value()); |
// Peak network quality should not be affected by the network quality |
// estimator field trial. |
@@ -821,24 +837,28 @@ TEST(NetworkQualityEstimatorTest, DefaultObservationsOverridden) { |
EXPECT_TRUE(estimator.GetRecentHttpRTT(base::TimeTicks(), &rtt)); |
// Taken from network_quality_estimator_params.cc. |
EXPECT_EQ(base::TimeDelta::FromMilliseconds(1726), rtt); |
+ EXPECT_EQ(rtt, estimator.GetHttpRTT().value()); |
EXPECT_TRUE(estimator.GetRecentTransportRTT(base::TimeTicks(), &rtt)); |
EXPECT_EQ(base::TimeDelta::FromMilliseconds(1531), rtt); |
EXPECT_EQ(rtt, estimator.GetTransportRTT().value()); |
EXPECT_TRUE( |
estimator.GetRecentDownlinkThroughputKbps(base::TimeTicks(), &kbps)); |
EXPECT_EQ(300, kbps); |
+ EXPECT_EQ(kbps, estimator.GetDownstreamThroughputKbps().value()); |
// Simulate network change to 3G. Default estimates should be available. |
estimator.SimulateNetworkChange( |
NetworkChangeNotifier::ConnectionType::CONNECTION_3G, "test-3"); |
EXPECT_TRUE(estimator.GetRecentHttpRTT(base::TimeTicks(), &rtt)); |
EXPECT_EQ(base::TimeDelta::FromMilliseconds(272), rtt); |
+ EXPECT_EQ(rtt, estimator.GetHttpRTT().value()); |
EXPECT_TRUE(estimator.GetRecentTransportRTT(base::TimeTicks(), &rtt)); |
EXPECT_EQ(base::TimeDelta::FromMilliseconds(209), rtt); |
EXPECT_EQ(rtt, estimator.GetTransportRTT().value()); |
EXPECT_TRUE( |
estimator.GetRecentDownlinkThroughputKbps(base::TimeTicks(), &kbps)); |
EXPECT_EQ(749, kbps); |
+ EXPECT_EQ(kbps, estimator.GetDownstreamThroughputKbps().value()); |
} |
TEST(NetworkQualityEstimatorTest, ObtainAlgorithmToUseFromParams) { |
@@ -1533,10 +1553,12 @@ TEST(NetworkQualityEstimatorTest, TestExternalEstimateProvider) { |
base::TimeDelta rtt; |
int32_t kbps; |
EXPECT_TRUE(estimator.GetRecentHttpRTT(base::TimeTicks(), &rtt)); |
+ EXPECT_EQ(rtt, estimator.GetHttpRTT().value()); |
EXPECT_FALSE(estimator.GetRecentTransportRTT(base::TimeTicks(), &rtt)); |
EXPECT_FALSE(estimator.GetTransportRTT()); |
EXPECT_TRUE( |
estimator.GetRecentDownlinkThroughputKbps(base::TimeTicks(), &kbps)); |
+ EXPECT_EQ(kbps, estimator.GetDownstreamThroughputKbps().value()); |
histogram_tester.ExpectTotalCount("NQE.ExternalEstimateProviderStatus", 5); |
@@ -2168,6 +2190,7 @@ TEST(NetworkQualityEstimatorTest, MAYBE_TestTCPSocketRTT) { |
EXPECT_EQ(0U, rtt_observer.observations().size()); |
base::TimeDelta rtt; |
EXPECT_TRUE(estimator.GetRecentHttpRTT(base::TimeTicks(), &rtt)); |
+ EXPECT_EQ(rtt, estimator.GetHttpRTT().value()); |
EXPECT_TRUE(estimator.GetRecentTransportRTT(base::TimeTicks(), &rtt)); |
EXPECT_EQ(rtt, estimator.GetTransportRTT().value()); |
@@ -2200,6 +2223,7 @@ TEST(NetworkQualityEstimatorTest, MAYBE_TestTCPSocketRTT) { |
<< i; |
} |
EXPECT_TRUE(estimator.GetRecentHttpRTT(base::TimeTicks(), &rtt)); |
+ EXPECT_NE(nqe::internal::InvalidRTT(), estimator.GetHttpRTT().value()); |
EXPECT_TRUE(estimator.GetRecentTransportRTT(base::TimeTicks(), &rtt)); |
EXPECT_EQ(rtt, estimator.GetTransportRTT().value()); |