Commit f2f448e7 authored by Matt Menke's avatar Matt Menke Committed by Commit Bot

Address NetworkIsolationKey::Todo() in MockPersistentNelStore tests.

Also remove MockPersistentNelStore::GetDebugString(). It's only used
in a single LOG statement in a single test.

Bug: 993805
Change-Id: I03e52c5a327d6ec1c9e7c6913e3869a106664202
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2505939
Commit-Queue: Matt Menke <mmenke@chromium.org>
Reviewed-by: default avatarLily Chen <chlily@chromium.org>
Cr-Commit-Position: refs/heads/master@{#821902}
parent 5f29fcaf
...@@ -132,33 +132,4 @@ MockPersistentNelStore::CommandList MockPersistentNelStore::GetAllCommands() ...@@ -132,33 +132,4 @@ MockPersistentNelStore::CommandList MockPersistentNelStore::GetAllCommands()
return command_list_; return command_list_;
} }
std::string MockPersistentNelStore::GetDebugString() const {
std::ostringstream s;
for (const Command& command : command_list_) {
switch (command.type) {
case Command::Type::LOAD_NEL_POLICIES:
s << "LOAD; ";
break;
case Command::Type::ADD_NEL_POLICY:
s << "ADD(" << command.key.network_isolation_key.ToDebugString() << ", "
<< command.key.origin.Serialize() << "); ";
break;
case Command::Type::UPDATE_NEL_POLICY:
s << "UPDATE(" << command.key.network_isolation_key.ToDebugString()
<< ", " << command.key.origin.Serialize() << "); ";
break;
case Command::Type::DELETE_NEL_POLICY:
s << "DELETE(" << command.key.network_isolation_key.ToDebugString()
<< ", " << command.key.origin.Serialize() << "); ";
break;
case Command::Type::FLUSH:
s << "FLUSH; ";
break;
}
}
return s.str();
}
} // namespace net } // namespace net
...@@ -94,9 +94,6 @@ class MockPersistentNelStore ...@@ -94,9 +94,6 @@ class MockPersistentNelStore
// this were a real store. // this were a real store.
int StoredPoliciesCount() const { return policy_count_; } int StoredPoliciesCount() const { return policy_count_; }
// Generates a string with the list of commands, for ease of debugging.
std::string GetDebugString() const;
private: private:
// List of commands that we have received so far. // List of commands that we have received so far.
CommandList command_list_; CommandList command_list_;
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#include "base/location.h" #include "base/location.h"
#include "base/strings/strcat.h" #include "base/strings/strcat.h"
#include "base/test/bind_test_util.h" #include "base/test/bind_test_util.h"
#include "net/base/network_isolation_key.h"
#include "net/network_error_logging/mock_persistent_nel_store.h" #include "net/network_error_logging/mock_persistent_nel_store.h"
#include "net/network_error_logging/network_error_logging_service.h" #include "net/network_error_logging/network_error_logging_service.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
...@@ -17,15 +18,12 @@ namespace net { ...@@ -17,15 +18,12 @@ namespace net {
namespace { namespace {
// Serialized string of NetworkIsolationKey::Todo() which is used in NetworkErrorLoggingService::NelPolicy MakePolicy(
// NelPolicyKeys for now. const url::Origin& origin,
const char kTodoNikString[] = "null null"; const net::NetworkIsolationKey& network_isolation_key) {
// TODO(chlily): Populate NIK.
NetworkErrorLoggingService::NelPolicy MakePolicyForOrigin(url::Origin origin) {
NetworkErrorLoggingService::NelPolicy policy; NetworkErrorLoggingService::NelPolicy policy;
policy.key = NetworkErrorLoggingService::NelPolicyKey( policy.key =
NetworkIsolationKey::Todo(), origin); NetworkErrorLoggingService::NelPolicyKey(network_isolation_key, origin);
policy.expires = base::Time(); policy.expires = base::Time();
policy.last_used = base::Time(); policy.last_used = base::Time();
...@@ -50,8 +48,23 @@ MakeExpectedRunNelPoliciesLoadedCallback( ...@@ -50,8 +48,23 @@ MakeExpectedRunNelPoliciesLoadedCallback(
policies_out); policies_out);
} }
class MockPersistentNelStoreTest : public testing::Test {
public:
MockPersistentNelStoreTest() = default;
~MockPersistentNelStoreTest() override = default;
protected:
const url::Origin origin_ =
url::Origin::Create(GURL("https://example.test/"));
const NetworkIsolationKey network_isolation_key_ =
NetworkIsolationKey(url::Origin::Create(GURL("https://foo.test/")),
url::Origin::Create(GURL("https://bar.test/")));
const NetworkErrorLoggingService::NelPolicy nel_policy_ =
MakePolicy(origin_, network_isolation_key_);
};
// Test that FinishLoading() runs the callback. // Test that FinishLoading() runs the callback.
TEST(MockPersistentNelStoreTest, FinishLoading) { TEST_F(MockPersistentNelStoreTest, FinishLoading) {
MockPersistentNelStore store; MockPersistentNelStore store;
MockPersistentNelStore::CommandList expected_commands; MockPersistentNelStore::CommandList expected_commands;
std::vector<NetworkErrorLoggingService::NelPolicy> loaded_policies; std::vector<NetworkErrorLoggingService::NelPolicy> loaded_policies;
...@@ -66,13 +79,12 @@ TEST(MockPersistentNelStoreTest, FinishLoading) { ...@@ -66,13 +79,12 @@ TEST(MockPersistentNelStoreTest, FinishLoading) {
EXPECT_EQ(1u, store.GetAllCommands().size()); EXPECT_EQ(1u, store.GetAllCommands().size());
EXPECT_TRUE(store.VerifyCommands(expected_commands)); EXPECT_TRUE(store.VerifyCommands(expected_commands));
EXPECT_EQ("LOAD; ", store.GetDebugString());
// Test should not crash because the callback has been run. // Test should not crash because the callback has been run.
} }
TEST(MockPersistentNelStoreTest, PreStoredPolicies) { TEST_F(MockPersistentNelStoreTest, PreStoredPolicies) {
const url::Origin kOrigin = const url::Origin origin_ =
url::Origin::Create(GURL("https://example.test/")); url::Origin::Create(GURL("https://example.test/"));
MockPersistentNelStore store; MockPersistentNelStore store;
...@@ -80,7 +92,7 @@ TEST(MockPersistentNelStoreTest, PreStoredPolicies) { ...@@ -80,7 +92,7 @@ TEST(MockPersistentNelStoreTest, PreStoredPolicies) {
std::vector<NetworkErrorLoggingService::NelPolicy> loaded_policies; std::vector<NetworkErrorLoggingService::NelPolicy> loaded_policies;
std::vector<NetworkErrorLoggingService::NelPolicy> prestored_policies = { std::vector<NetworkErrorLoggingService::NelPolicy> prestored_policies = {
MakePolicyForOrigin(kOrigin)}; nel_policy_};
store.SetPrestoredPolicies(std::move(prestored_policies)); store.SetPrestoredPolicies(std::move(prestored_policies));
EXPECT_EQ(1, store.StoredPoliciesCount()); EXPECT_EQ(1, store.StoredPoliciesCount());
...@@ -90,21 +102,22 @@ TEST(MockPersistentNelStoreTest, PreStoredPolicies) { ...@@ -90,21 +102,22 @@ TEST(MockPersistentNelStoreTest, PreStoredPolicies) {
MockPersistentNelStore::Command::Type::LOAD_NEL_POLICIES); MockPersistentNelStore::Command::Type::LOAD_NEL_POLICIES);
store.FinishLoading(true /* load_success */); store.FinishLoading(true /* load_success */);
ASSERT_EQ(1u, loaded_policies.size()); ASSERT_EQ(1u, loaded_policies.size());
EXPECT_EQ(kOrigin, loaded_policies[0].key.origin); EXPECT_EQ(origin_, loaded_policies[0].key.origin);
EXPECT_EQ(network_isolation_key_,
loaded_policies[0].key.network_isolation_key);
EXPECT_EQ(1u, store.GetAllCommands().size()); EXPECT_EQ(1u, store.GetAllCommands().size());
EXPECT_TRUE(store.VerifyCommands(expected_commands)); EXPECT_TRUE(store.VerifyCommands(expected_commands));
EXPECT_EQ("LOAD; ", store.GetDebugString());
} }
// Failed load should yield empty vector of policies. // Failed load should yield empty vector of policies.
TEST(MockPersistentNelStoreTest, FailedLoad) { TEST_F(MockPersistentNelStoreTest, FailedLoad) {
MockPersistentNelStore store; MockPersistentNelStore store;
MockPersistentNelStore::CommandList expected_commands; MockPersistentNelStore::CommandList expected_commands;
std::vector<NetworkErrorLoggingService::NelPolicy> loaded_policies; std::vector<NetworkErrorLoggingService::NelPolicy> loaded_policies;
std::vector<NetworkErrorLoggingService::NelPolicy> prestored_policies = { std::vector<NetworkErrorLoggingService::NelPolicy> prestored_policies = {
MakePolicyForOrigin(url::Origin::Create(GURL("https://example.test/")))}; nel_policy_};
store.SetPrestoredPolicies(std::move(prestored_policies)); store.SetPrestoredPolicies(std::move(prestored_policies));
EXPECT_EQ(1, store.StoredPoliciesCount()); EXPECT_EQ(1, store.StoredPoliciesCount());
...@@ -118,13 +131,9 @@ TEST(MockPersistentNelStoreTest, FailedLoad) { ...@@ -118,13 +131,9 @@ TEST(MockPersistentNelStoreTest, FailedLoad) {
EXPECT_EQ(1u, store.GetAllCommands().size()); EXPECT_EQ(1u, store.GetAllCommands().size());
EXPECT_TRUE(store.VerifyCommands(expected_commands)); EXPECT_TRUE(store.VerifyCommands(expected_commands));
EXPECT_EQ("LOAD; ", store.GetDebugString());
} }
TEST(MockPersistentNelStoreTest, Add) { TEST_F(MockPersistentNelStoreTest, Add) {
const url::Origin kOrigin =
url::Origin::Create(GURL("https://example.test/"));
MockPersistentNelStore store; MockPersistentNelStore store;
MockPersistentNelStore::CommandList expected_commands; MockPersistentNelStore::CommandList expected_commands;
std::vector<NetworkErrorLoggingService::NelPolicy> loaded_policies; std::vector<NetworkErrorLoggingService::NelPolicy> loaded_policies;
...@@ -138,7 +147,7 @@ TEST(MockPersistentNelStoreTest, Add) { ...@@ -138,7 +147,7 @@ TEST(MockPersistentNelStoreTest, Add) {
store.FinishLoading(true /* load_success */); store.FinishLoading(true /* load_success */);
EXPECT_EQ(0u, loaded_policies.size()); EXPECT_EQ(0u, loaded_policies.size());
NetworkErrorLoggingService::NelPolicy policy = MakePolicyForOrigin(kOrigin); NetworkErrorLoggingService::NelPolicy policy = nel_policy_;
store.AddNelPolicy(policy); store.AddNelPolicy(policy);
expected_commands.emplace_back( expected_commands.emplace_back(
MockPersistentNelStore::Command::Type::ADD_NEL_POLICY, policy); MockPersistentNelStore::Command::Type::ADD_NEL_POLICY, policy);
...@@ -152,15 +161,9 @@ TEST(MockPersistentNelStoreTest, Add) { ...@@ -152,15 +161,9 @@ TEST(MockPersistentNelStoreTest, Add) {
EXPECT_EQ(3u, store.GetAllCommands().size()); EXPECT_EQ(3u, store.GetAllCommands().size());
EXPECT_TRUE(store.VerifyCommands(expected_commands)); EXPECT_TRUE(store.VerifyCommands(expected_commands));
EXPECT_EQ(base::StrCat({"LOAD; ADD(", kTodoNikString, ", ",
kOrigin.Serialize(), "); FLUSH; "}),
store.GetDebugString());
} }
TEST(MockPersistentNelStoreTest, AddThenDelete) { TEST_F(MockPersistentNelStoreTest, AddThenDelete) {
const url::Origin kOrigin =
url::Origin::Create(GURL("https://example.test/"));
MockPersistentNelStore store; MockPersistentNelStore store;
MockPersistentNelStore::CommandList expected_commands; MockPersistentNelStore::CommandList expected_commands;
std::vector<NetworkErrorLoggingService::NelPolicy> loaded_policies; std::vector<NetworkErrorLoggingService::NelPolicy> loaded_policies;
...@@ -174,7 +177,7 @@ TEST(MockPersistentNelStoreTest, AddThenDelete) { ...@@ -174,7 +177,7 @@ TEST(MockPersistentNelStoreTest, AddThenDelete) {
store.FinishLoading(true /* load_success */); store.FinishLoading(true /* load_success */);
EXPECT_EQ(0u, loaded_policies.size()); EXPECT_EQ(0u, loaded_policies.size());
NetworkErrorLoggingService::NelPolicy policy = MakePolicyForOrigin(kOrigin); NetworkErrorLoggingService::NelPolicy policy = nel_policy_;
store.AddNelPolicy(policy); store.AddNelPolicy(policy);
expected_commands.emplace_back( expected_commands.emplace_back(
MockPersistentNelStore::Command::Type::ADD_NEL_POLICY, policy); MockPersistentNelStore::Command::Type::ADD_NEL_POLICY, policy);
...@@ -191,16 +194,9 @@ TEST(MockPersistentNelStoreTest, AddThenDelete) { ...@@ -191,16 +194,9 @@ TEST(MockPersistentNelStoreTest, AddThenDelete) {
EXPECT_EQ(4u, store.GetAllCommands().size()); EXPECT_EQ(4u, store.GetAllCommands().size());
EXPECT_TRUE(store.VerifyCommands(expected_commands)); EXPECT_TRUE(store.VerifyCommands(expected_commands));
EXPECT_EQ(base::StrCat({"LOAD; ADD(", kTodoNikString, ", ",
kOrigin.Serialize(), "); DELETE(", kTodoNikString,
", ", kOrigin.Serialize(), "); FLUSH; "}),
store.GetDebugString());
} }
TEST(MockPersistentNelStoreTest, AddFlushThenDelete) { TEST_F(MockPersistentNelStoreTest, AddFlushThenDelete) {
const url::Origin kOrigin =
url::Origin::Create(GURL("https://example.test/"));
MockPersistentNelStore store; MockPersistentNelStore store;
MockPersistentNelStore::CommandList expected_commands; MockPersistentNelStore::CommandList expected_commands;
std::vector<NetworkErrorLoggingService::NelPolicy> loaded_policies; std::vector<NetworkErrorLoggingService::NelPolicy> loaded_policies;
...@@ -214,7 +210,7 @@ TEST(MockPersistentNelStoreTest, AddFlushThenDelete) { ...@@ -214,7 +210,7 @@ TEST(MockPersistentNelStoreTest, AddFlushThenDelete) {
store.FinishLoading(true /* load_success */); store.FinishLoading(true /* load_success */);
EXPECT_EQ(0u, loaded_policies.size()); EXPECT_EQ(0u, loaded_policies.size());
NetworkErrorLoggingService::NelPolicy policy = MakePolicyForOrigin(kOrigin); NetworkErrorLoggingService::NelPolicy policy = nel_policy_;
store.AddNelPolicy(policy); store.AddNelPolicy(policy);
expected_commands.emplace_back( expected_commands.emplace_back(
MockPersistentNelStore::Command::Type::ADD_NEL_POLICY, policy); MockPersistentNelStore::Command::Type::ADD_NEL_POLICY, policy);
...@@ -236,17 +232,9 @@ TEST(MockPersistentNelStoreTest, AddFlushThenDelete) { ...@@ -236,17 +232,9 @@ TEST(MockPersistentNelStoreTest, AddFlushThenDelete) {
EXPECT_EQ(5u, store.GetAllCommands().size()); EXPECT_EQ(5u, store.GetAllCommands().size());
EXPECT_TRUE(store.VerifyCommands(expected_commands)); EXPECT_TRUE(store.VerifyCommands(expected_commands));
EXPECT_EQ(
base::StrCat({"LOAD; ADD(", kTodoNikString, ", ", kOrigin.Serialize(),
"); FLUSH; DELETE(", kTodoNikString, ", ",
kOrigin.Serialize(), "); FLUSH; "}),
store.GetDebugString());
} }
TEST(MockPersistentNelStoreTest, AddThenUpdate) { TEST_F(MockPersistentNelStoreTest, AddThenUpdate) {
const url::Origin kOrigin =
url::Origin::Create(GURL("https://example.test/"));
MockPersistentNelStore store; MockPersistentNelStore store;
MockPersistentNelStore::CommandList expected_commands; MockPersistentNelStore::CommandList expected_commands;
std::vector<NetworkErrorLoggingService::NelPolicy> loaded_policies; std::vector<NetworkErrorLoggingService::NelPolicy> loaded_policies;
...@@ -259,7 +247,7 @@ TEST(MockPersistentNelStoreTest, AddThenUpdate) { ...@@ -259,7 +247,7 @@ TEST(MockPersistentNelStoreTest, AddThenUpdate) {
store.FinishLoading(true /* load_success */); store.FinishLoading(true /* load_success */);
NetworkErrorLoggingService::NelPolicy policy = MakePolicyForOrigin(kOrigin); NetworkErrorLoggingService::NelPolicy policy = nel_policy_;
store.AddNelPolicy(policy); store.AddNelPolicy(policy);
expected_commands.emplace_back( expected_commands.emplace_back(
MockPersistentNelStore::Command::Type::ADD_NEL_POLICY, policy); MockPersistentNelStore::Command::Type::ADD_NEL_POLICY, policy);
...@@ -276,10 +264,6 @@ TEST(MockPersistentNelStoreTest, AddThenUpdate) { ...@@ -276,10 +264,6 @@ TEST(MockPersistentNelStoreTest, AddThenUpdate) {
EXPECT_EQ(4u, store.GetAllCommands().size()); EXPECT_EQ(4u, store.GetAllCommands().size());
EXPECT_TRUE(store.VerifyCommands(expected_commands)); EXPECT_TRUE(store.VerifyCommands(expected_commands));
EXPECT_EQ(base::StrCat({"LOAD; ADD(", kTodoNikString, ", ",
kOrigin.Serialize(), "); UPDATE(", kTodoNikString,
", ", kOrigin.Serialize(), "); FLUSH; "}),
store.GetDebugString());
} }
} // namespace } // namespace
......
...@@ -1604,7 +1604,6 @@ TEST_P(NetworkErrorLoggingServiceTest, ...@@ -1604,7 +1604,6 @@ TEST_P(NetworkErrorLoggingServiceTest,
expected_commands.emplace_back( expected_commands.emplace_back(
MockPersistentNelStore::Command::Type::ADD_NEL_POLICY, policy1); MockPersistentNelStore::Command::Type::ADD_NEL_POLICY, policy1);
EXPECT_TRUE(store()->VerifyCommands(expected_commands)); EXPECT_TRUE(store()->VerifyCommands(expected_commands));
LOG(INFO) << store()->GetDebugString();
service()->OnRequest( service()->OnRequest(
MakeRequestDetails(kNik_, kOrigin_.GetURL(), ERR_CONNECTION_REFUSED)); MakeRequestDetails(kNik_, kOrigin_.GetURL(), ERR_CONNECTION_REFUSED));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment