summaryrefslogtreecommitdiff
path: root/chromium/net/dns/esni_content_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/net/dns/esni_content_unittest.cc')
-rw-r--r--chromium/net/dns/esni_content_unittest.cc170
1 files changed, 0 insertions, 170 deletions
diff --git a/chromium/net/dns/esni_content_unittest.cc b/chromium/net/dns/esni_content_unittest.cc
deleted file mode 100644
index 50bc5d81dca..00000000000
--- a/chromium/net/dns/esni_content_unittest.cc
+++ /dev/null
@@ -1,170 +0,0 @@
-// Copyright 2019 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "net/dns/esni_content.h"
-
-#include "base/strings/string_number_conversions.h"
-
-#include "testing/gmock/include/gmock/gmock.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace net {
-
-namespace {
-
-IPAddress MakeIPAddress() {
- // Introduce some (deterministic) variation in the IP addresses
- // generated.
- static uint8_t next_octet = 0;
- next_octet += 4;
-
- return IPAddress(next_octet, next_octet + 1, next_octet + 2, next_octet + 3);
-}
-
-// Make sure we can add keys.
-TEST(EsniContentTest, AddKey) {
- EsniContent c1;
- c1.AddKey("a");
- EXPECT_THAT(c1.keys(), ::testing::UnorderedElementsAre("a"));
- c1.AddKey("a");
- EXPECT_THAT(c1.keys(), ::testing::UnorderedElementsAre("a"));
- c1.AddKey("b");
- EXPECT_THAT(c1.keys(), ::testing::UnorderedElementsAre("a", "b"));
-}
-
-// Make sure we can add key-address pairs.
-TEST(EsniContentTest, AddKeyForAddress) {
- EsniContent c1;
- auto address = MakeIPAddress();
- c1.AddKeyForAddress(address, "a");
- EXPECT_THAT(c1.keys(), ::testing::UnorderedElementsAre("a"));
- EXPECT_THAT(c1.keys_for_addresses(),
- ::testing::UnorderedElementsAre(::testing::Pair(
- address, ::testing::UnorderedElementsAre("a"))));
-}
-
-TEST(EsniContentTest, AssociateAddressWithExistingKey) {
- EsniContent c1;
- auto address = MakeIPAddress();
- c1.AddKey("a");
- c1.AddKeyForAddress(address, "a");
- EXPECT_THAT(c1.keys(), ::testing::UnorderedElementsAre("a"));
- EXPECT_THAT(c1.keys_for_addresses(),
- ::testing::UnorderedElementsAre(::testing::Pair(
- address, ::testing::UnorderedElementsAre("a"))));
-}
-
-// Merging to an empty EsniContent should make the result equal the source of
-// the merge.
-TEST(EsniContentTest, MergeToEmpty) {
- EsniContent c1;
- c1.AddKey("c");
- IPAddress address = MakeIPAddress();
-
- c1.AddKeyForAddress(address, "a");
- c1.AddKeyForAddress(address, "b");
- EsniContent empty;
- empty.MergeFrom(c1);
- EXPECT_EQ(c1, empty);
-}
-
-TEST(EsniContentTest, MergeFromEmptyNoOp) {
- EsniContent c1, c2;
- c1.AddKey("a");
- c2.AddKey("a");
- EsniContent empty;
- c1.MergeFrom(empty);
- EXPECT_EQ(c1, c2);
-}
-
-// Test that merging multiple keys corresponding to a single address works.
-TEST(EsniContentTest, MergeKeysForSingleHost) {
- EsniContent c1, c2;
- IPAddress address = MakeIPAddress();
-
- c1.AddKeyForAddress(address, "a");
- c1.AddKeyForAddress(address, "b");
- c2.AddKeyForAddress(address, "b");
- c2.AddKeyForAddress(address, "c");
- c1.MergeFrom(c2);
-
- EXPECT_THAT(c1.keys(), ::testing::UnorderedElementsAre("a", "b", "c"));
- EXPECT_THAT(c1.keys_for_addresses(),
- ::testing::UnorderedElementsAre(::testing::Pair(
- address, ::testing::UnorderedElementsAre("a", "b", "c"))));
-}
-
-// Test that merging multiple addresss corresponding to a single key works.
-TEST(EsniContentTest, MergeHostsForSingleKey) {
- EsniContent c1, c2;
- IPAddress address = MakeIPAddress();
- IPAddress second_address = MakeIPAddress();
- c1.AddKeyForAddress(address, "a");
- c2.AddKeyForAddress(second_address, "a");
- c1.MergeFrom(c2);
-
- EXPECT_THAT(c1.keys(), ::testing::UnorderedElementsAre("a"));
- EXPECT_THAT(
- c1.keys_for_addresses(),
- ::testing::UnorderedElementsAre(
- ::testing::Pair(address, ::testing::UnorderedElementsAre("a")),
- ::testing::Pair(second_address,
- ::testing::UnorderedElementsAre("a"))));
-}
-
-// Test merging some more complex instances of the class.
-TEST(EsniContentTest, MergeSeveralHostsAndKeys) {
- EsniContent c1, c2, expected;
- for (int i = 0; i < 50; ++i) {
- IPAddress address = MakeIPAddress();
- std::string key = base::NumberToString(i);
- switch (i % 3) {
- case 0:
- c1.AddKey(key);
- expected.AddKey(key);
- break;
- case 1:
- c2.AddKey(key);
- expected.AddKey(key);
- break;
- }
- // Associate each address with a subset of the keys seen so far
- {
- int j = 0;
- for (auto key : c1.keys()) {
- if (j % 2) {
- c1.AddKeyForAddress(address, key);
- expected.AddKeyForAddress(address, key);
- }
- ++j;
- }
- }
- {
- int j = 0;
- for (auto key : c2.keys()) {
- if (j % 3 == 1) {
- c2.AddKeyForAddress(address, key);
- expected.AddKeyForAddress(address, key);
- }
- ++j;
- }
- }
- }
- {
- EsniContent merge_dest = c1;
- EsniContent merge_src = c2;
- merge_dest.MergeFrom(merge_src);
- EXPECT_EQ(merge_dest, expected);
- }
- {
- EsniContent merge_dest = c2;
- EsniContent merge_src = c1;
- merge_dest.MergeFrom(merge_src);
- EXPECT_EQ(merge_dest, expected);
- }
-}
-
-} // namespace
-
-} // namespace net