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

Unified Diff: net/reporting/reporting_endpoint_manager_unittest.cc

Issue 2751103002: Reporting: Wrap existing classes in context. (Closed)
Patch Set: Move before BrowsingDataRemover, GarbageCollector, and Serializer CLs. Created 3 years, 9 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/reporting/reporting_endpoint_manager_unittest.cc
diff --git a/net/reporting/reporting_endpoint_manager_unittest.cc b/net/reporting/reporting_endpoint_manager_unittest.cc
index f1d50033cf52f212b18624c118fb86c738caf176..113128dbf50f1611ae3e854ec89c458dd2e05385 100644
--- a/net/reporting/reporting_endpoint_manager_unittest.cc
+++ b/net/reporting/reporting_endpoint_manager_unittest.cc
@@ -11,6 +11,7 @@
#include "net/base/backoff_entry.h"
#include "net/reporting/reporting_cache.h"
#include "net/reporting/reporting_client.h"
+#include "net/reporting/reporting_policy.h"
#include "net/reporting/reporting_test_util.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "url/gurl.h"
@@ -19,175 +20,150 @@
namespace net {
namespace {
-class ReportingEndpointManagerTest : public ::testing::Test {
+class ReportingEndpointManagerTest : public ReportingTestBase {
protected:
- ReportingEndpointManagerTest()
- : manager_(&clock_, &cache_, &backoff_policy_) {
- backoff_policy_.num_errors_to_ignore = 0;
- backoff_policy_.initial_delay_ms = 60000;
- backoff_policy_.multiply_factor = 2.0;
- backoff_policy_.jitter_factor = 0.0;
- backoff_policy_.maximum_backoff_ms = -1;
- backoff_policy_.entry_lifetime_ms = 0;
- backoff_policy_.always_use_initial_delay = false;
- }
-
- base::TimeTicks yesterday() {
- return clock_.NowTicks() - base::TimeDelta::FromDays(1);
- }
-
- base::TimeTicks tomorrow() {
- return clock_.NowTicks() + base::TimeDelta::FromDays(1);
- }
-
const url::Origin kOrigin_ = url::Origin(GURL("https://origin/"));
const GURL kEndpoint_ = GURL("https://endpoint/");
const std::string kGroup_ = "group";
-
- base::SimpleTestTickClock clock_;
- ReportingCache cache_;
- BackoffEntry::Policy backoff_policy_;
- ReportingEndpointManager manager_;
};
TEST_F(ReportingEndpointManagerTest, NoEndpoint) {
GURL endpoint_url;
- bool found_endpoint =
- manager_.FindEndpointForOriginAndGroup(kOrigin_, kGroup_, &endpoint_url);
+ bool found_endpoint = endpoint_manager()->FindEndpointForOriginAndGroup(
+ kOrigin_, kGroup_, &endpoint_url);
EXPECT_FALSE(found_endpoint);
}
TEST_F(ReportingEndpointManagerTest, Endpoint) {
- cache_.SetClient(kOrigin_, kEndpoint_, ReportingClient::Subdomains::EXCLUDE,
- kGroup_, tomorrow());
+ cache()->SetClient(kOrigin_, kEndpoint_, ReportingClient::Subdomains::EXCLUDE,
+ kGroup_, tomorrow());
GURL endpoint_url;
- bool found_endpoint =
- manager_.FindEndpointForOriginAndGroup(kOrigin_, kGroup_, &endpoint_url);
+ bool found_endpoint = endpoint_manager()->FindEndpointForOriginAndGroup(
+ kOrigin_, kGroup_, &endpoint_url);
EXPECT_TRUE(found_endpoint);
EXPECT_EQ(kEndpoint_, endpoint_url);
}
TEST_F(ReportingEndpointManagerTest, ExpiredEndpoint) {
- cache_.SetClient(kOrigin_, kEndpoint_, ReportingClient::Subdomains::EXCLUDE,
- kGroup_, yesterday());
+ cache()->SetClient(kOrigin_, kEndpoint_, ReportingClient::Subdomains::EXCLUDE,
+ kGroup_, yesterday());
GURL endpoint_url;
- bool found_endpoint =
- manager_.FindEndpointForOriginAndGroup(kOrigin_, kGroup_, &endpoint_url);
+ bool found_endpoint = endpoint_manager()->FindEndpointForOriginAndGroup(
+ kOrigin_, kGroup_, &endpoint_url);
EXPECT_FALSE(found_endpoint);
}
TEST_F(ReportingEndpointManagerTest, PendingEndpoint) {
- cache_.SetClient(kOrigin_, kEndpoint_, ReportingClient::Subdomains::EXCLUDE,
- kGroup_, tomorrow());
+ cache()->SetClient(kOrigin_, kEndpoint_, ReportingClient::Subdomains::EXCLUDE,
+ kGroup_, tomorrow());
- manager_.SetEndpointPending(kEndpoint_);
+ endpoint_manager()->SetEndpointPending(kEndpoint_);
GURL endpoint_url;
- bool found_endpoint =
- manager_.FindEndpointForOriginAndGroup(kOrigin_, kGroup_, &endpoint_url);
+ bool found_endpoint = endpoint_manager()->FindEndpointForOriginAndGroup(
+ kOrigin_, kGroup_, &endpoint_url);
EXPECT_FALSE(found_endpoint);
- manager_.ClearEndpointPending(kEndpoint_);
+ endpoint_manager()->ClearEndpointPending(kEndpoint_);
- found_endpoint =
- manager_.FindEndpointForOriginAndGroup(kOrigin_, kGroup_, &endpoint_url);
+ found_endpoint = endpoint_manager()->FindEndpointForOriginAndGroup(
+ kOrigin_, kGroup_, &endpoint_url);
EXPECT_TRUE(found_endpoint);
EXPECT_EQ(kEndpoint_, endpoint_url);
}
TEST_F(ReportingEndpointManagerTest, BackedOffEndpoint) {
- ASSERT_EQ(2.0, backoff_policy_.multiply_factor);
+ ASSERT_EQ(2.0, policy().endpoint_backoff_policy.multiply_factor);
+
+ base::TimeDelta initial_delay = base::TimeDelta::FromMilliseconds(
+ policy().endpoint_backoff_policy.initial_delay_ms);
- cache_.SetClient(kOrigin_, kEndpoint_, ReportingClient::Subdomains::EXCLUDE,
- kGroup_, tomorrow());
+ cache()->SetClient(kOrigin_, kEndpoint_, ReportingClient::Subdomains::EXCLUDE,
+ kGroup_, tomorrow());
- manager_.InformOfEndpointRequest(kEndpoint_, false);
+ endpoint_manager()->InformOfEndpointRequest(kEndpoint_, false);
// After one failure, endpoint is in exponential backoff.
GURL endpoint_url;
- bool found_endpoint =
- manager_.FindEndpointForOriginAndGroup(kOrigin_, kGroup_, &endpoint_url);
+ bool found_endpoint = endpoint_manager()->FindEndpointForOriginAndGroup(
+ kOrigin_, kGroup_, &endpoint_url);
EXPECT_FALSE(found_endpoint);
// After initial delay, endpoint is usable again.
- clock_.Advance(
- base::TimeDelta::FromMilliseconds(backoff_policy_.initial_delay_ms));
+ tick_clock()->Advance(initial_delay);
- found_endpoint =
- manager_.FindEndpointForOriginAndGroup(kOrigin_, kGroup_, &endpoint_url);
+ found_endpoint = endpoint_manager()->FindEndpointForOriginAndGroup(
+ kOrigin_, kGroup_, &endpoint_url);
EXPECT_TRUE(found_endpoint);
EXPECT_EQ(kEndpoint_, endpoint_url);
- manager_.InformOfEndpointRequest(kEndpoint_, false);
+ endpoint_manager()->InformOfEndpointRequest(kEndpoint_, false);
// After a second failure, endpoint is backed off again.
- found_endpoint =
- manager_.FindEndpointForOriginAndGroup(kOrigin_, kGroup_, &endpoint_url);
+ found_endpoint = endpoint_manager()->FindEndpointForOriginAndGroup(
+ kOrigin_, kGroup_, &endpoint_url);
EXPECT_FALSE(found_endpoint);
- clock_.Advance(
- base::TimeDelta::FromMilliseconds(backoff_policy_.initial_delay_ms));
+ tick_clock()->Advance(initial_delay);
// Next backoff is longer -- 2x the first -- so endpoint isn't usable yet.
- found_endpoint =
- manager_.FindEndpointForOriginAndGroup(kOrigin_, kGroup_, &endpoint_url);
+ found_endpoint = endpoint_manager()->FindEndpointForOriginAndGroup(
+ kOrigin_, kGroup_, &endpoint_url);
EXPECT_FALSE(found_endpoint);
- clock_.Advance(
- base::TimeDelta::FromMilliseconds(backoff_policy_.initial_delay_ms));
+ tick_clock()->Advance(initial_delay);
// After 2x the initial delay, the endpoint is usable again.
- found_endpoint =
- manager_.FindEndpointForOriginAndGroup(kOrigin_, kGroup_, &endpoint_url);
+ found_endpoint = endpoint_manager()->FindEndpointForOriginAndGroup(
+ kOrigin_, kGroup_, &endpoint_url);
EXPECT_TRUE(found_endpoint);
EXPECT_EQ(kEndpoint_, endpoint_url);
- manager_.InformOfEndpointRequest(kEndpoint_, true);
- manager_.InformOfEndpointRequest(kEndpoint_, true);
+ endpoint_manager()->InformOfEndpointRequest(kEndpoint_, true);
+ endpoint_manager()->InformOfEndpointRequest(kEndpoint_, true);
// Two more successful requests should reset the backoff to the initial delay
// again.
- manager_.InformOfEndpointRequest(kEndpoint_, false);
+ endpoint_manager()->InformOfEndpointRequest(kEndpoint_, false);
- found_endpoint =
- manager_.FindEndpointForOriginAndGroup(kOrigin_, kGroup_, &endpoint_url);
+ found_endpoint = endpoint_manager()->FindEndpointForOriginAndGroup(
+ kOrigin_, kGroup_, &endpoint_url);
EXPECT_FALSE(found_endpoint);
- clock_.Advance(
- base::TimeDelta::FromMilliseconds(backoff_policy_.initial_delay_ms));
+ tick_clock()->Advance(initial_delay);
- found_endpoint =
- manager_.FindEndpointForOriginAndGroup(kOrigin_, kGroup_, &endpoint_url);
+ found_endpoint = endpoint_manager()->FindEndpointForOriginAndGroup(
+ kOrigin_, kGroup_, &endpoint_url);
EXPECT_TRUE(found_endpoint);
}
// Make sure that multiple endpoints will all be returned at some point, to
// avoid accidentally or intentionally implementing any priority ordering.
TEST_F(ReportingEndpointManagerTest, RandomEndpoint) {
- static const GURL kEndpoint1("https://endpoint1/");
- static const GURL kEndpoint2("https://endpoint2/");
+ static const GURL kEndpoint_1("https://endpoint1/");
+ static const GURL kEndpoint_2("https://endpoint2/");
static const int kMaxAttempts = 20;
- cache_.SetClient(kOrigin_, kEndpoint1, ReportingClient::Subdomains::EXCLUDE,
- kGroup_, tomorrow());
- cache_.SetClient(kOrigin_, kEndpoint2, ReportingClient::Subdomains::EXCLUDE,
- kGroup_, tomorrow());
+ cache()->SetClient(kOrigin_, kEndpoint_1,
+ ReportingClient::Subdomains::EXCLUDE, kGroup_, tomorrow());
+ cache()->SetClient(kOrigin_, kEndpoint_2,
+ ReportingClient::Subdomains::EXCLUDE, kGroup_, tomorrow());
bool endpoint1_seen = false;
bool endpoint2_seen = false;
for (int i = 0; i < kMaxAttempts; i++) {
GURL endpoint_url;
- bool found_endpoint = manager_.FindEndpointForOriginAndGroup(
+ bool found_endpoint = endpoint_manager()->FindEndpointForOriginAndGroup(
kOrigin_, kGroup_, &endpoint_url);
ASSERT_TRUE(found_endpoint);
- ASSERT_TRUE(endpoint_url == kEndpoint1 || endpoint_url == kEndpoint2);
+ ASSERT_TRUE(endpoint_url == kEndpoint_1 || endpoint_url == kEndpoint_2);
- if (endpoint_url == kEndpoint1)
+ if (endpoint_url == kEndpoint_1)
endpoint1_seen = true;
- else if (endpoint_url == kEndpoint2)
+ else if (endpoint_url == kEndpoint_2)
endpoint2_seen = true;
if (endpoint1_seen && endpoint2_seen)

Powered by Google App Engine
This is Rietveld 408576698