| Index: chrome/browser/extensions/activity_log/hashed_ad_network_database_unittest.cc
|
| diff --git a/chrome/browser/extensions/activity_log/hashed_ad_network_database_unittest.cc b/chrome/browser/extensions/activity_log/hashed_ad_network_database_unittest.cc
|
| index f1e2d776538f71f6f4e5732f67c78d5a888cd4fe..89ba10dfa5215c7b73418247aa566b0eaa3de364 100644
|
| --- a/chrome/browser/extensions/activity_log/hashed_ad_network_database_unittest.cc
|
| +++ b/chrome/browser/extensions/activity_log/hashed_ad_network_database_unittest.cc
|
| @@ -49,6 +49,7 @@ const size_t kDataResourceSize = kChecksumSize + kAdNetworkHostHashesTotalSize;
|
| class HashedAdNetworkDatabaseUnitTest : public testing::Test {
|
| protected:
|
| virtual void SetUp() OVERRIDE;
|
| + virtual void TearDown() OVERRIDE;
|
|
|
| private:
|
| // Generate a piece of memory with a hash structure identical to the real one,
|
| @@ -68,6 +69,11 @@ void HashedAdNetworkDatabaseUnitTest::SetUp() {
|
| scoped_ptr<AdNetworkDatabase>(new HashedAdNetworkDatabase(memory_)));
|
| }
|
|
|
| +void HashedAdNetworkDatabaseUnitTest::TearDown() {
|
| + // Reset the database.
|
| + AdNetworkDatabase::SetForTesting(scoped_ptr<AdNetworkDatabase>());
|
| +}
|
| +
|
| void HashedAdNetworkDatabaseUnitTest::GenerateMockMemory() {
|
| int64 host_hashes[kNumAdNetworkHosts];
|
|
|
| @@ -94,6 +100,9 @@ void HashedAdNetworkDatabaseUnitTest::GenerateMockMemory() {
|
| memory_ = new base::RefCountedStaticMemory(raw_data_, kDataResourceSize);
|
| };
|
|
|
| +// Test that the logic for the Ad Network Database works. That is, the hashing
|
| +// scheme works, correctly reports when URLs are present in the database,
|
| +// treats hosts and sumdomains correctly, etc.
|
| TEST_F(HashedAdNetworkDatabaseUnitTest, HashedAdNetworkDatabaseTest) {
|
| const AdNetworkDatabase* database = AdNetworkDatabase::Get();
|
| ASSERT_TRUE(database);
|
| @@ -130,4 +139,23 @@ TEST_F(HashedAdNetworkDatabaseUnitTest, HashedAdNetworkDatabaseTest) {
|
| GURL("chrome-extension://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")));
|
| }
|
|
|
| +// Test that the HashAdNetworkDatabse test works with the real file. For
|
| +// security and privacy purposes, we cannot verify that real URLs are
|
| +// recognized. However, we can at least verify that the file is recognized and
|
| +// parsed.
|
| +TEST(HashedAdNetworkDatabaseWithRealFileUnitTest,
|
| + HashedAdNetworkDatabaseRealFileTest) {
|
| + // This constructs the database, and, since we didn't mock up any memory, it
|
| + // uses the real file.
|
| + const AdNetworkDatabase* database = AdNetworkDatabase::Get();
|
| + ASSERT_TRUE(database);
|
| + const HashedAdNetworkDatabase* hashed_database =
|
| + static_cast<const HashedAdNetworkDatabase*>(database);
|
| + EXPECT_TRUE(hashed_database->is_valid());
|
| +
|
| + // We can also safely assume that a made-up url is not in the database.
|
| + EXPECT_FALSE(database->IsAdNetwork(
|
| + GURL("http://www.this-is-definitely-not-a-real-site.orarealtld")));
|
| +}
|
| +
|
| } // namespace extensions
|
|
|