Make database tag mandatory
This CL removes the default value of the `tag` argument on the 2
`sql::Database` constructors, and updates all callers that didn't
explicitly pass a tag to do so.
As a convenience, this CL also defines a common tag for unit tests.
This will allow the implementation and monitoring of per-database
performance metrics (time to open, statement execution time, VMSteps,
etc) without the possibility of having some of the databases
uninstrumented. This is useful for diagnosing issues such as crbug.com/369635654 in the wild, and required for some performance investigations that we have in the pipeline.
The last step of this work item (asserting that the tag is correctly defined in histograms.xml variants) is implemented in https://chromium-review.googlesource.com/c/chromium/src/+/6055279.
Bug: 40949392
Change-Id: I6dec0fb86a5e7b98cd42ac3a9db18e23eaf9e9bd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6039025
Reviewed-by: manuk hovanesian <manukh@chromium.org>
Commit-Queue: Anthony Vallée-Dubois <anthonyvd@chromium.org>
Code-Coverage: findit-for-me@appspot.gserviceaccount.com <findit-for-me@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#1395446}
This commit is contained in:

committed by
Chromium LUCI CQ

parent
2401803bc7
commit
e3c94919c5
chrome
browser
diagnostics
dips
extensions
k_anonymity_service
test
fuzzing
utility
importer
chromeos/ash/components/file_manager
components
affiliations
core
data_sharing
internal
favicon
history
core
offline_pages
core
omnibox
password_manager
core
browser
power_bookmarks
search_engines
segmentation_platform
services
storage
shared_storage
signin
internal
sqlite_proto
user_notes
webdata
content/browser
aggregation_service
attribution_reporting
aggregatable_debug_rate_limit_table_unittest.ccattribution_storage_sql_migrations_unittest.ccattribution_storage_sql_unittest.ccrate_limit_table_unittest.cc
browsing_topics
first_party_sets
interest_group
media
private_aggregation
net/extras/sqlite
sqlite_persistent_cookie_store_unittest.ccsqlite_persistent_reporting_and_nel_store_unittest.ccsqlite_persistent_shared_dictionary_store_unittest.ccsqlite_persistent_store_backend_base.cc
services/network/shared_dictionary
sql
database.ccdatabase.hdatabase_options_unittest.ccdatabase_unittest.cc
fuzzers
meta_table_unittest.ccrecovery.ccrecovery_unittest.ccsql_memory_dump_provider_unittest.ccsqlite_features_unittest.ccstatement_unittest.cctest
transaction_unittest.ccstorage/browser
@ -105,7 +105,8 @@ class SqliteIntegrityTest : public DiagnosticsTest {
|
||||
|
||||
int errors = 0;
|
||||
{ // Scope the statement and database so they close properly.
|
||||
sql::Database database({.page_size = 4096, .cache_size = 500});
|
||||
sql::Database database({.page_size = 4096, .cache_size = 500},
|
||||
/*tag=*/"SQLiteDiagnostics");
|
||||
scoped_refptr<ErrorRecorder> recorder(new ErrorRecorder);
|
||||
|
||||
// Set the error callback so that we can get useful results in a debug
|
||||
|
@ -137,7 +137,7 @@ TEST_F(DIPSDatabaseMigrationTest, MigrateV1ToLatestVersion) {
|
||||
ASSERT_TRUE(LoadDatabase("v1.sql"));
|
||||
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(db_path()));
|
||||
|
||||
// Verify pre-migration conditions.
|
||||
@ -212,7 +212,7 @@ TEST_F(DIPSDatabaseMigrationTest, MigrateV1ToV2) {
|
||||
ASSERT_TRUE(LoadDatabase("v1.sql"));
|
||||
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(db_path()));
|
||||
|
||||
// Verify pre-migration conditions.
|
||||
@ -345,7 +345,7 @@ TEST_F(DIPSDatabaseMigrationTest, MigrateV2ToV3) {
|
||||
ASSERT_TRUE(LoadDatabase("v2.sql"));
|
||||
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(db_path()));
|
||||
|
||||
// Verify pre-migration conditions.
|
||||
@ -399,7 +399,7 @@ TEST_F(DIPSDatabaseMigrationTest, MigrateV3ToV4) {
|
||||
ASSERT_TRUE(LoadDatabase("v3.sql"));
|
||||
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(db_path()));
|
||||
|
||||
// Verify pre-migration conditions.
|
||||
@ -445,7 +445,7 @@ TEST_F(DIPSDatabaseMigrationTest, MigrateV4ToV5) {
|
||||
ASSERT_TRUE(LoadDatabase("v4.sql"));
|
||||
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(db_path()));
|
||||
|
||||
// Verify pre-migration conditions.
|
||||
@ -490,7 +490,7 @@ TEST_F(DIPSDatabaseMigrationTest, MigrateV5ToV6) {
|
||||
ASSERT_TRUE(LoadDatabase("v5.sql"));
|
||||
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(db_path()));
|
||||
|
||||
// Verify pre-migration conditions.
|
||||
@ -532,7 +532,7 @@ TEST_F(DIPSDatabaseMigrationTest, MigrateV6ToV7) {
|
||||
ASSERT_TRUE(LoadDatabase("v6.sql"));
|
||||
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(db_path()));
|
||||
|
||||
// Verify pre-migration conditions.
|
||||
@ -574,7 +574,7 @@ TEST_F(DIPSDatabaseMigrationTest, MigrateV7ToV8) {
|
||||
ASSERT_TRUE(LoadDatabase("v7.sql"));
|
||||
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(db_path()));
|
||||
|
||||
// Verify pre-migration conditions.
|
||||
|
@ -1701,7 +1701,7 @@ TEST_F(DIPSDatabaseInitializationTest, InitializeEmptyDBWithLatestSchema) {
|
||||
|
||||
// Validate aspects of current schema.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(db_path()));
|
||||
ValidateSchemaAndMetadataMatchLatestVersion(&db);
|
||||
}
|
||||
@ -1715,7 +1715,7 @@ TEST_F(DIPSDatabaseInitializationTest, RazeIfIncompatible_TooNew) {
|
||||
//
|
||||
// Verify pre migration conditions.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(db_path()));
|
||||
|
||||
// Matches what is in "v2.sql" file:
|
||||
@ -1752,7 +1752,7 @@ TEST_F(DIPSDatabaseInitializationTest, RazeIfIncompatible_TooNew) {
|
||||
|
||||
// Verify post migration conditions.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(db_path()));
|
||||
|
||||
// We should be on the latest schema version after razing.
|
||||
@ -1771,7 +1771,7 @@ TEST_F(DIPSDatabaseInitializationTest, MigrateOldSchemaToLatestVersion) {
|
||||
ASSERT_NO_FATAL_FAILURE(LoadDatabase("v2.sql"));
|
||||
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(db_path()));
|
||||
|
||||
EXPECT_EQ(GetDatabaseVersion(&db), 2);
|
||||
@ -1781,7 +1781,7 @@ TEST_F(DIPSDatabaseInitializationTest, MigrateOldSchemaToLatestVersion) {
|
||||
InitializeDatabase();
|
||||
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(db_path()));
|
||||
|
||||
ValidateSchemaAndMetadataMatchLatestVersion(&db);
|
||||
|
@ -30,6 +30,7 @@
|
||||
#include "content/public/browser/web_contents.h"
|
||||
#include "extensions/common/dom_action_types.h"
|
||||
#include "sql/statement.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
|
||||
namespace constants = activity_log_constants;
|
||||
@ -161,7 +162,7 @@ TEST_F(ActivityDatabaseTest, Init) {
|
||||
ActivityDatabase* activity_db = OpenDatabase(db_file);
|
||||
activity_db->Close();
|
||||
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(db_file));
|
||||
ASSERT_TRUE(db.DoesTableExist("actions"));
|
||||
db.Close();
|
||||
@ -181,7 +182,7 @@ TEST_F(ActivityDatabaseTest, RecordAction) {
|
||||
Record(activity_db, action);
|
||||
activity_db->Close();
|
||||
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(db_file));
|
||||
|
||||
ASSERT_EQ(1, CountActions(&db, "brewster"));
|
||||
|
@ -2,14 +2,16 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "chrome/browser/extensions/activity_log/database_string_table.h"
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include "base/files/scoped_temp_dir.h"
|
||||
#include "base/strings/stringprintf.h"
|
||||
#include "chrome/browser/extensions/activity_log/database_string_table.h"
|
||||
#include "sql/database.h"
|
||||
#include "sql/statement.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
#include "sql/transaction.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
|
||||
@ -27,7 +29,7 @@ class DatabaseStringTableTest : public testing::Test {
|
||||
void TearDown() override { db_.Close(); }
|
||||
|
||||
base::ScopedTempDir temp_dir_;
|
||||
sql::Database db_;
|
||||
sql::Database db_{sql::test::kTestTag};
|
||||
};
|
||||
|
||||
// Check that initializing the database works.
|
||||
|
@ -45,7 +45,7 @@ class KAnonymityServiceSqlStorage : public KAnonymityServiceStorage {
|
||||
: db_task_runner_(base::ThreadPool::CreateSequencedTaskRunner(
|
||||
{base::MayBlock(), base::TaskPriority::BEST_EFFORT,
|
||||
base::TaskShutdownBehavior::BLOCK_SHUTDOWN})),
|
||||
db_(std::make_unique<sql::Database>(sql::DatabaseOptions{})),
|
||||
db_(std::make_unique<sql::Database>(/*tag=*/"KAnonymityService")),
|
||||
db_storage_path_(std::move(db_storage_path)),
|
||||
table_manager_(base::MakeRefCounted<sqlite_proto::ProtoTableManager>(
|
||||
db_task_runner_)),
|
||||
|
@ -33,6 +33,7 @@
|
||||
#include "chrome/test/fuzzing/in_process_proto_fuzzer.h"
|
||||
#include "sql/database.h"
|
||||
#include "sql/statement.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
#include "testing/libfuzzer/libfuzzer_exports.h"
|
||||
#include "ui/accessibility/platform/inspect/ax_inspect_scenario.h"
|
||||
#include "ui/accessibility/platform/inspect/ax_inspect_utils_auralinux.h"
|
||||
@ -958,11 +959,14 @@ Database* Database::GetInstance() {
|
||||
|
||||
Database::Database() {
|
||||
base::ScopedAllowBlockingForTesting allow_blocking;
|
||||
db_ = std::make_unique<sql::Database>(sql::DatabaseOptions{
|
||||
.exclusive_locking = false, // centipede may run several fuzzers at once
|
||||
.page_size = sql::DatabaseOptions::kDefaultPageSize,
|
||||
.cache_size = 0,
|
||||
});
|
||||
db_ = std::make_unique<sql::Database>(
|
||||
sql::DatabaseOptions{
|
||||
.exclusive_locking =
|
||||
false, // centipede may run several fuzzers at once
|
||||
.page_size = sql::DatabaseOptions::kDefaultPageSize,
|
||||
.cache_size = 0,
|
||||
},
|
||||
sql::test::kTestTag);
|
||||
base::FilePath db_path;
|
||||
CHECK(base::PathService::Get(base::DIR_TEMP, &db_path));
|
||||
db_path = db_path.AppendASCII("atspi_in_process_fuzzer_controls.db");
|
||||
|
@ -34,6 +34,8 @@
|
||||
|
||||
namespace {
|
||||
|
||||
constexpr const char kDatabaseTag[] = "FirefoxImporter";
|
||||
|
||||
// Original definition is in:
|
||||
// toolkit/components/places/nsINavBookmarksService.idl
|
||||
enum BookmarkItemType {
|
||||
@ -180,7 +182,7 @@ void FirefoxImporter::ImportHistory() {
|
||||
if (!base::PathExists(file))
|
||||
return;
|
||||
|
||||
sql::Database db;
|
||||
sql::Database db(kDatabaseTag);
|
||||
if (!db.Open(file))
|
||||
return;
|
||||
|
||||
@ -225,7 +227,7 @@ void FirefoxImporter::ImportBookmarks() {
|
||||
if (!base::PathExists(file))
|
||||
return;
|
||||
|
||||
sql::Database db;
|
||||
sql::Database db(kDatabaseTag);
|
||||
if (!db.Open(file))
|
||||
return;
|
||||
|
||||
@ -425,7 +427,7 @@ void FirefoxImporter::ImportAutofillFormData() {
|
||||
if (!base::PathExists(file))
|
||||
return;
|
||||
|
||||
sql::Database db;
|
||||
sql::Database db(kDatabaseTag);
|
||||
if (!db.Open(file))
|
||||
return;
|
||||
|
||||
@ -598,7 +600,7 @@ void FirefoxImporter::LoadFavicons(
|
||||
if (!base::PathExists(file))
|
||||
return;
|
||||
|
||||
sql::Database db;
|
||||
sql::Database db(kDatabaseTag);
|
||||
if (!db.Open(file))
|
||||
return;
|
||||
|
||||
|
@ -77,6 +77,7 @@ source_set("unit_tests") {
|
||||
"//components/user_manager",
|
||||
"//components/user_manager:test_support",
|
||||
"//sql",
|
||||
"//sql:test_support",
|
||||
"//testing/gmock",
|
||||
"//testing/gtest",
|
||||
"//url",
|
||||
|
@ -7,6 +7,7 @@
|
||||
#include "base/files/file_path.h"
|
||||
#include "base/files/scoped_temp_dir.h"
|
||||
#include "sql/database.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
|
||||
namespace ash::file_manager {
|
||||
@ -19,7 +20,7 @@ class TokenTableTest : public testing::Test {
|
||||
public:
|
||||
void SetUp() override {
|
||||
ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
|
||||
db_ = std::make_unique<sql::Database>(sql::DatabaseOptions());
|
||||
db_ = std::make_unique<sql::Database>(sql::test::kTestTag);
|
||||
ASSERT_TRUE(InitDb(*db_));
|
||||
}
|
||||
|
||||
|
@ -14,6 +14,7 @@
|
||||
#include "base/test/mock_callback.h"
|
||||
#include "sql/database.h"
|
||||
#include "sql/statement.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
#include "testing/gmock/include/gmock/gmock.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
#include "third_party/abseil-cpp/absl/types/variant.h"
|
||||
@ -82,7 +83,7 @@ class SQLTableBuilderTest : public testing::Test {
|
||||
// statement details.
|
||||
void PrintDBError(int code, sql::Statement* statement);
|
||||
|
||||
sql::Database db_;
|
||||
sql::Database db_{sql::test::kTestTag};
|
||||
SQLTableBuilder builder_;
|
||||
SQLTableBuilder child_builder_;
|
||||
};
|
||||
|
@ -78,7 +78,7 @@ GroupDataStore::GroupDataStore(const base::FilePath& db_dir_path,
|
||||
DBLoadedCallback db_loaded_callback)
|
||||
: db_task_runner_(
|
||||
base::ThreadPool::CreateSequencedTaskRunner(kDBTaskTraits)),
|
||||
db_(std::make_unique<sql::Database>(sql::DatabaseOptions{})),
|
||||
db_(std::make_unique<sql::Database>(/*tag=*/"DataSharingGroupStorage")),
|
||||
proto_table_manager_(
|
||||
base::MakeRefCounted<sqlite_proto::ProtoTableManager>(
|
||||
db_task_runner_)),
|
||||
|
@ -1017,7 +1017,7 @@ TEST_F(FaviconDatabaseTest, Recovery) {
|
||||
{
|
||||
EXPECT_TRUE(history::CreateDatabaseFromSQL(file_name_, "Favicons.v8.sql"));
|
||||
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(raw_db.Open(file_name_));
|
||||
VerifyTablesAndColumns(&raw_db);
|
||||
}
|
||||
@ -1037,7 +1037,7 @@ TEST_F(FaviconDatabaseTest, Recovery) {
|
||||
|
||||
// Corrupt the `icon_mapping.page_url` index by zeroing its root page.
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(raw_db.Open(file_name_));
|
||||
ASSERT_EQ("ok", sql::test::IntegrityCheck(raw_db));
|
||||
}
|
||||
@ -1046,7 +1046,7 @@ TEST_F(FaviconDatabaseTest, Recovery) {
|
||||
|
||||
// Database should be corrupt at the SQLite level.
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(raw_db.Open(file_name_));
|
||||
EXPECT_NE("ok", sql::test::IntegrityCheck(raw_db));
|
||||
}
|
||||
@ -1069,7 +1069,7 @@ TEST_F(FaviconDatabaseTest, Recovery) {
|
||||
|
||||
// Check that the database is recovered at the SQLite level.
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(raw_db.Open(file_name_));
|
||||
ASSERT_EQ("ok", sql::test::IntegrityCheck(raw_db));
|
||||
|
||||
@ -1096,7 +1096,7 @@ TEST_F(FaviconDatabaseTest, Recovery) {
|
||||
|
||||
// Database is unusable at the SQLite level.
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
{
|
||||
sql::test::ScopedErrorExpecter expecter;
|
||||
expecter.ExpectError(sql::SqliteResultCode::kCorrupt);
|
||||
@ -1132,7 +1132,7 @@ TEST_F(FaviconDatabaseTest, Recovery7) {
|
||||
|
||||
// Corrupt the `icon_mapping.page_url` index by zeroing its root page.
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(raw_db.Open(file_name_));
|
||||
ASSERT_EQ("ok", sql::test::IntegrityCheck(raw_db));
|
||||
}
|
||||
@ -1141,7 +1141,7 @@ TEST_F(FaviconDatabaseTest, Recovery7) {
|
||||
|
||||
// Database should be corrupt at the SQLite level.
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(raw_db.Open(file_name_));
|
||||
EXPECT_NE("ok", sql::test::IntegrityCheck(raw_db));
|
||||
}
|
||||
@ -1164,7 +1164,7 @@ TEST_F(FaviconDatabaseTest, Recovery7) {
|
||||
|
||||
// Check that the database is recovered at the SQLite level.
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(raw_db.Open(file_name_));
|
||||
ASSERT_EQ("ok", sql::test::IntegrityCheck(raw_db));
|
||||
|
||||
@ -1191,7 +1191,7 @@ TEST_F(FaviconDatabaseTest, Recovery7) {
|
||||
|
||||
// Database is unusable at the SQLite level.
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
{
|
||||
sql::test::ScopedErrorExpecter expecter;
|
||||
expecter.ExpectError(sql::SqliteResultCode::kCorrupt);
|
||||
@ -1232,7 +1232,7 @@ TEST_F(FaviconDatabaseTest, Recovery6) {
|
||||
|
||||
// Database is unusable at the SQLite level.
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
{
|
||||
sql::test::ScopedErrorExpecter expecter;
|
||||
expecter.ExpectError(sql::SqliteResultCode::kCorrupt);
|
||||
@ -1254,7 +1254,7 @@ TEST_F(FaviconDatabaseTest, Recovery6) {
|
||||
// The database should be usable at the SQLite level, with a current schema
|
||||
// and no data.
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(raw_db.Open(file_name_));
|
||||
ASSERT_EQ("ok", sql::test::IntegrityCheck(raw_db));
|
||||
|
||||
@ -1278,7 +1278,7 @@ TEST_F(FaviconDatabaseTest, Recovery5) {
|
||||
|
||||
// Database is unusable at the SQLite level.
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
{
|
||||
sql::test::ScopedErrorExpecter expecter;
|
||||
expecter.ExpectError(sql::SqliteResultCode::kCorrupt);
|
||||
@ -1300,7 +1300,7 @@ TEST_F(FaviconDatabaseTest, Recovery5) {
|
||||
// The database should be usable at the SQLite level, with a current schema
|
||||
// and no data.
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(raw_db.Open(file_name_));
|
||||
ASSERT_EQ("ok", sql::test::IntegrityCheck(raw_db));
|
||||
|
||||
|
@ -17,8 +17,6 @@
|
||||
// has no logic in the getter except threading stuff, which we don't want
|
||||
// to run.
|
||||
|
||||
#include "components/history/core/browser/history_backend.h"
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include <cstdint>
|
||||
@ -37,6 +35,7 @@
|
||||
#include "base/uuid.h"
|
||||
#include "components/history/core/browser/download_constants.h"
|
||||
#include "components/history/core/browser/download_row.h"
|
||||
#include "components/history/core/browser/history_backend.h"
|
||||
#include "components/history/core/browser/history_constants.h"
|
||||
#include "components/history/core/browser/history_database.h"
|
||||
#include "components/history/core/browser/history_types.h"
|
||||
@ -44,6 +43,7 @@
|
||||
#include "components/history/core/browser/page_usage_data.h"
|
||||
#include "components/history/core/test/history_backend_db_base_test.h"
|
||||
#include "components/history/core/test/test_history_database.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
#include "testing/gmock/include/gmock/gmock.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
|
||||
@ -115,7 +115,7 @@ TEST_F(HistoryBackendDBTest, MigrateDownloadsState) {
|
||||
ASSERT_NO_FATAL_FAILURE(CreateDBVersion(22));
|
||||
{
|
||||
// Open the db for manual manipulation.
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
|
||||
// Manually insert corrupted rows; there's infrastructure in place now to
|
||||
@ -145,7 +145,7 @@ TEST_F(HistoryBackendDBTest, MigrateDownloadsState) {
|
||||
DeleteBackend();
|
||||
{
|
||||
// Re-open the db for manual manipulation.
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
{
|
||||
// The version should have been updated.
|
||||
@ -183,7 +183,7 @@ TEST_F(HistoryBackendDBTest, MigrateDownloadsReasonPathsAndDangerType) {
|
||||
ASSERT_NO_FATAL_FAILURE(CreateDBVersion(22));
|
||||
{
|
||||
// Re-open the db for manual manipulation.
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
|
||||
// Manually insert some rows.
|
||||
@ -226,7 +226,7 @@ TEST_F(HistoryBackendDBTest, MigrateDownloadsReasonPathsAndDangerType) {
|
||||
DeleteBackend();
|
||||
{
|
||||
// Re-open the db for manual manipulation.
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
{
|
||||
// The version should have been updated.
|
||||
@ -293,7 +293,7 @@ TEST_F(HistoryBackendDBTest, MigrateReferrer) {
|
||||
base::Time now(base::Time::Now());
|
||||
ASSERT_NO_FATAL_FAILURE(CreateDBVersion(22));
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
sql::Statement s(db.GetUniqueStatement(
|
||||
"INSERT INTO downloads (id, full_path, url, start_time, "
|
||||
@ -317,7 +317,7 @@ TEST_F(HistoryBackendDBTest, MigrateReferrer) {
|
||||
DeleteBackend();
|
||||
{
|
||||
// Re-open the db for manual manipulation.
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
// The version should have been updated.
|
||||
int cur_version = HistoryDatabase::GetCurrentVersion();
|
||||
@ -341,7 +341,7 @@ TEST_F(HistoryBackendDBTest, MigrateDownloadedByExtension) {
|
||||
base::Time now(base::Time::Now());
|
||||
ASSERT_NO_FATAL_FAILURE(CreateDBVersion(26));
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
{
|
||||
sql::Statement s(db.GetUniqueStatement(
|
||||
@ -379,7 +379,7 @@ TEST_F(HistoryBackendDBTest, MigrateDownloadedByExtension) {
|
||||
DeleteBackend();
|
||||
{
|
||||
// Re-open the db for manual manipulation.
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
// The version should have been updated.
|
||||
int cur_version = HistoryDatabase::GetCurrentVersion();
|
||||
@ -404,7 +404,7 @@ TEST_F(HistoryBackendDBTest, MigrateDownloadValidators) {
|
||||
base::Time now(base::Time::Now());
|
||||
ASSERT_NO_FATAL_FAILURE(CreateDBVersion(27));
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
{
|
||||
sql::Statement s(db.GetUniqueStatement(
|
||||
@ -444,7 +444,7 @@ TEST_F(HistoryBackendDBTest, MigrateDownloadValidators) {
|
||||
DeleteBackend();
|
||||
{
|
||||
// Re-open the db for manual manipulation.
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
// The version should have been updated.
|
||||
int cur_version = HistoryDatabase::GetCurrentVersion();
|
||||
@ -469,7 +469,7 @@ TEST_F(HistoryBackendDBTest, MigrateDownloadMimeType) {
|
||||
base::Time now(base::Time::Now());
|
||||
ASSERT_NO_FATAL_FAILURE(CreateDBVersion(28));
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
{
|
||||
sql::Statement s(db.GetUniqueStatement(
|
||||
@ -512,7 +512,7 @@ TEST_F(HistoryBackendDBTest, MigrateDownloadMimeType) {
|
||||
DeleteBackend();
|
||||
{
|
||||
// Re-open the db for manual manipulation.
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
// The version should have been updated.
|
||||
int cur_version = HistoryDatabase::GetCurrentVersion();
|
||||
@ -557,7 +557,7 @@ TEST_F(HistoryBackendDBTest, MigrateHashHttpMethodAndGenerateGuids) {
|
||||
ASSERT_NO_FATAL_FAILURE(CreateDBVersion(29));
|
||||
base::Time now(base::Time::Now());
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
|
||||
// In testing, it appeared that constructing a query where all rows are
|
||||
@ -600,7 +600,7 @@ TEST_F(HistoryBackendDBTest, MigrateHashHttpMethodAndGenerateGuids) {
|
||||
|
||||
{
|
||||
// Re-open the db for manual manipulation.
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
// The version should have been updated.
|
||||
int cur_version = HistoryDatabase::GetCurrentVersion();
|
||||
@ -631,7 +631,7 @@ TEST_F(HistoryBackendDBTest, MigrateHashHttpMethodAndGenerateGuids) {
|
||||
TEST_F(HistoryBackendDBTest, MigrateTabUrls) {
|
||||
ASSERT_NO_FATAL_FAILURE(CreateDBVersion(30));
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
{
|
||||
sql::Statement s(db.GetUniqueStatement(
|
||||
@ -661,7 +661,7 @@ TEST_F(HistoryBackendDBTest, MigrateTabUrls) {
|
||||
DeleteBackend();
|
||||
{
|
||||
// Re-open the db for manual manipulation.
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
// The version should have been updated.
|
||||
int cur_version = HistoryDatabase::GetCurrentVersion();
|
||||
@ -685,7 +685,7 @@ TEST_F(HistoryBackendDBTest, MigrateTabUrls) {
|
||||
TEST_F(HistoryBackendDBTest, MigrateDownloadSiteInstanceUrl) {
|
||||
ASSERT_NO_FATAL_FAILURE(CreateDBVersion(31));
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
{
|
||||
sql::Statement s(db.GetUniqueStatement(
|
||||
@ -716,7 +716,7 @@ TEST_F(HistoryBackendDBTest, MigrateDownloadSiteInstanceUrl) {
|
||||
DeleteBackend();
|
||||
{
|
||||
// Re-open the db for manual manipulation.
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
// The version should have been updated.
|
||||
int cur_version = HistoryDatabase::GetCurrentVersion();
|
||||
@ -738,7 +738,7 @@ TEST_F(HistoryBackendDBTest, MigrateDownloadSiteInstanceUrl) {
|
||||
TEST_F(HistoryBackendDBTest, MigrateEmbedderDownloadData) {
|
||||
ASSERT_NO_FATAL_FAILURE(CreateDBVersion(50));
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
{
|
||||
sql::Statement s(db.GetUniqueStatement(
|
||||
@ -764,7 +764,7 @@ TEST_F(HistoryBackendDBTest, MigrateEmbedderDownloadData) {
|
||||
DeleteBackend();
|
||||
{
|
||||
// Re-open the db for manual manipulation.
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
// The version should have been updated.
|
||||
int cur_version = HistoryDatabase::GetCurrentVersion();
|
||||
@ -790,7 +790,7 @@ TEST_F(HistoryBackendDBTest, MigrateEmbedderDownloadData) {
|
||||
TEST_F(HistoryBackendDBTest, MigrateDownloadsSlicesTable) {
|
||||
ASSERT_NO_FATAL_FAILURE(CreateDBVersion(32));
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
}
|
||||
|
||||
@ -800,7 +800,7 @@ TEST_F(HistoryBackendDBTest, MigrateDownloadsSlicesTable) {
|
||||
DeleteBackend();
|
||||
{
|
||||
// Re-open the db for manual manipulation.
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
// The version should have been updated.
|
||||
int cur_version = HistoryDatabase::GetCurrentVersion();
|
||||
@ -829,7 +829,7 @@ TEST_F(HistoryBackendDBTest, MigrateDownloadsSlicesTable) {
|
||||
TEST_F(HistoryBackendDBTest, MigrateDownloadsLastAccessTimeAndTransient) {
|
||||
ASSERT_NO_FATAL_FAILURE(CreateDBVersion(32));
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
}
|
||||
|
||||
@ -839,7 +839,7 @@ TEST_F(HistoryBackendDBTest, MigrateDownloadsLastAccessTimeAndTransient) {
|
||||
DeleteBackend();
|
||||
{
|
||||
// Re-open the db for manual manipulation.
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
// The version should have been updated.
|
||||
int cur_version = HistoryDatabase::GetCurrentVersion();
|
||||
@ -1063,7 +1063,7 @@ TEST_F(HistoryBackendDBTest, ConfirmDownloadRowCreateAndDelete) {
|
||||
// Confirm that resulted in the correct number of rows in the DB.
|
||||
DeleteBackend();
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
sql::Statement statement(db.GetUniqueStatement(
|
||||
"Select Count(*) from downloads"));
|
||||
@ -1087,7 +1087,7 @@ TEST_F(HistoryBackendDBTest, ConfirmDownloadRowCreateAndDelete) {
|
||||
db_->RemoveDownload(id2);
|
||||
DeleteBackend();
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
sql::Statement statement(db.GetUniqueStatement(
|
||||
"Select Count(*) from downloads"));
|
||||
@ -1140,7 +1140,7 @@ TEST_F(HistoryBackendDBTest, DownloadNukeRecordsMissingURLs) {
|
||||
// Pretend that the URLs were dropped.
|
||||
DeleteBackend();
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
sql::Statement statement(db.GetUniqueStatement(
|
||||
"DELETE FROM downloads_url_chains WHERE id=1"));
|
||||
@ -1154,7 +1154,7 @@ TEST_F(HistoryBackendDBTest, DownloadNukeRecordsMissingURLs) {
|
||||
// QueryDownloads should have nuked the corrupt record.
|
||||
DeleteBackend();
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
{
|
||||
sql::Statement statement(db.GetUniqueStatement(
|
||||
@ -1188,7 +1188,7 @@ TEST_F(HistoryBackendDBTest, ConfirmDownloadInProgressCleanup) {
|
||||
// Confirm that they made it into the DB unchanged.
|
||||
DeleteBackend();
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
sql::Statement statement(db.GetUniqueStatement(
|
||||
"Select Count(*) from downloads"));
|
||||
@ -1218,7 +1218,7 @@ TEST_F(HistoryBackendDBTest, ConfirmDownloadInProgressCleanup) {
|
||||
base::RunLoop().RunUntilIdle();
|
||||
DeleteBackend();
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
sql::Statement statement(db.GetUniqueStatement(
|
||||
"Select Count(*) from downloads"));
|
||||
@ -1451,7 +1451,7 @@ TEST_F(HistoryBackendDBTest, MigratePresentations) {
|
||||
|
||||
{
|
||||
// Re-open the db for manual manipulation.
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
|
||||
// Add an entry to urls.
|
||||
@ -1508,7 +1508,7 @@ TEST_F(HistoryBackendDBTest, MigratePresentations) {
|
||||
TEST_F(HistoryBackendDBTest, CheckLastCompatibleVersion) {
|
||||
ASSERT_NO_FATAL_FAILURE(CreateDBVersion(28));
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
{
|
||||
// Manually set last compatible version to one higher
|
||||
@ -1530,7 +1530,7 @@ TEST_F(HistoryBackendDBTest, CheckLastCompatibleVersion) {
|
||||
// Re-open the db to check that it was not migrated.
|
||||
// Non compatible DB must be ignored.
|
||||
// Check that DB version in file remains the same.
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
{
|
||||
sql::MetaTable meta;
|
||||
@ -1562,7 +1562,7 @@ TEST_F(HistoryBackendDBTest, MigrateVisitSegmentNames) {
|
||||
|
||||
{
|
||||
// Open the db for manual manipulation.
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
|
||||
// Add first entry to urls.
|
||||
@ -1659,7 +1659,7 @@ TEST_F(HistoryBackendDBTest, MigrateVisitSegmentNames) {
|
||||
TEST_F(HistoryBackendDBTest, MigrateDownloadSliceFinished) {
|
||||
ASSERT_NO_FATAL_FAILURE(CreateDBVersion(38));
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
}
|
||||
CreateBackendAndDatabase();
|
||||
@ -1667,7 +1667,7 @@ TEST_F(HistoryBackendDBTest, MigrateDownloadSliceFinished) {
|
||||
|
||||
{
|
||||
// Re-open the db for manual manipulation.
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
// The version should have been updated.
|
||||
int cur_version = HistoryDatabase::GetCurrentVersion();
|
||||
@ -1720,7 +1720,7 @@ TEST_F(HistoryBackendDBTest, MigrateVisitsWithoutIncrementedOmniboxTypedScore) {
|
||||
|
||||
{
|
||||
// Open the db for manual manipulation.
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
|
||||
// Add entries to visits.
|
||||
@ -1783,7 +1783,7 @@ TEST_F(HistoryBackendDBTest,
|
||||
|
||||
{
|
||||
// Open the db for manual manipulation.
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
|
||||
// Add entry to visits.
|
||||
@ -1825,7 +1825,7 @@ TEST_F(HistoryBackendDBTest, MigrateVisitsWithoutPubliclyRoutableColumn) {
|
||||
|
||||
// Open the db for manual manipulation.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
|
||||
const char kInsertVisitStatement[] =
|
||||
@ -1853,7 +1853,7 @@ TEST_F(HistoryBackendDBTest, MigrateVisitsWithoutPubliclyRoutableColumn) {
|
||||
ASSERT_GE(HistoryDatabase::GetCurrentVersion(), 44);
|
||||
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
|
||||
// content_annotations should exist.
|
||||
@ -1894,7 +1894,7 @@ TEST_F(HistoryBackendDBTest, MigrateFlocAllowedToAnnotationsTable) {
|
||||
|
||||
// Open the db for manual manipulation.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
|
||||
const char kInsertVisitStatement[] =
|
||||
@ -1963,7 +1963,7 @@ TEST_F(HistoryBackendDBTest, MigrateFlocAllowedToAnnotationsTable) {
|
||||
ASSERT_GE(HistoryDatabase::GetCurrentVersion(), 44);
|
||||
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
|
||||
// Check the entries in the content_annotations table.
|
||||
@ -2005,7 +2005,7 @@ TEST_F(HistoryBackendDBTest, MigrateReplaceClusterVisitsTable) {
|
||||
ASSERT_NO_FATAL_FAILURE(CreateDBVersion(44));
|
||||
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
|
||||
const char kInsertVisitStatement[] =
|
||||
@ -2049,7 +2049,7 @@ TEST_F(HistoryBackendDBTest, MigrateReplaceClusterVisitsTable) {
|
||||
ASSERT_GE(HistoryDatabase::GetCurrentVersion(), 45);
|
||||
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
|
||||
// Confirm the old `cluster_visits` table no longer exists.
|
||||
@ -2083,7 +2083,7 @@ TEST_F(HistoryBackendDBTest, MigrateKeywordSearchTerms) {
|
||||
base::CollapseWhitespace(lower_term, false);
|
||||
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
sql::Statement insert_statement(
|
||||
db.GetUniqueStatement("INSERT INTO keyword_search_terms (keyword_id, "
|
||||
@ -2115,7 +2115,7 @@ TEST_F(HistoryBackendDBTest, MigrateContentAnnotationsWithoutEntitiesColumn) {
|
||||
|
||||
// Open the db for manual manipulation.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
|
||||
const char kInsertContentAnnotationsStatement[] =
|
||||
@ -2157,7 +2157,7 @@ TEST_F(HistoryBackendDBTest,
|
||||
|
||||
// Open the db for manual manipulation.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
|
||||
const char kInsertContentAnnotationsStatement[] =
|
||||
@ -2203,7 +2203,7 @@ TEST_F(HistoryBackendDBTest,
|
||||
|
||||
// Open the db for manual manipulation.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
|
||||
const char kInsertVisitStatement[] =
|
||||
@ -2240,7 +2240,7 @@ TEST_F(HistoryBackendDBTest,
|
||||
|
||||
// Open the db for manual manipulation.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
|
||||
const char kInsertContextAnnotationsStatement[] =
|
||||
@ -2282,7 +2282,7 @@ TEST_F(HistoryBackendDBTest,
|
||||
|
||||
// Open the db for manual manipulation.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
|
||||
const char kInsertContentAnnotationsStatement[] =
|
||||
@ -2326,7 +2326,7 @@ TEST_F(HistoryBackendDBTest, MigrateContentAnnotationsAddPageMetadataColumns) {
|
||||
|
||||
// Open the db for manual manipulation.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
|
||||
const char kInsertContentAnnotationsStatement[] =
|
||||
@ -2373,7 +2373,7 @@ TEST_F(HistoryBackendDBTest,
|
||||
|
||||
// Open the db for manual manipulation.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
|
||||
const char kInsertVisitStatement[] =
|
||||
@ -2410,7 +2410,7 @@ TEST_F(HistoryBackendDBTest,
|
||||
|
||||
// Open the db for manual manipulation.
|
||||
{
|
||||
sql::Database sql_db;
|
||||
sql::Database sql_db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(sql_db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
|
||||
ASSERT_FALSE(sql_db.DoesColumnExist("visits", "originator_from_visit"));
|
||||
@ -2446,7 +2446,7 @@ TEST_F(HistoryBackendDBTest,
|
||||
|
||||
// Open the db manually again and make sure the new columns exist.
|
||||
{
|
||||
sql::Database sql_db;
|
||||
sql::Database sql_db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(sql_db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
|
||||
EXPECT_TRUE(sql_db.DoesColumnExist("visits", "originator_from_visit"));
|
||||
@ -2458,7 +2458,7 @@ TEST_F(HistoryBackendDBTest, MigrateClustersAddColumns) {
|
||||
ASSERT_NO_FATAL_FAILURE(CreateDBVersion(56));
|
||||
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
|
||||
// Confirm the old 'clusters' columns exist.
|
||||
@ -2491,7 +2491,7 @@ TEST_F(HistoryBackendDBTest, MigrateClustersAddColumns) {
|
||||
ASSERT_GE(HistoryDatabase::GetCurrentVersion(), 57);
|
||||
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
|
||||
// Confirm the tables still exist.
|
||||
@ -2525,7 +2525,7 @@ TEST_F(HistoryBackendDBTest, MigrateAnnotationsAddColumnsForSync) {
|
||||
// Precondition: Open the old version of the DB and make sure the new columns
|
||||
// don't exist yet.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
|
||||
ASSERT_FALSE(db.DoesColumnExist("context_annotations", "browser_type"));
|
||||
@ -2550,7 +2550,7 @@ TEST_F(HistoryBackendDBTest, MigrateAnnotationsAddColumnsForSync) {
|
||||
|
||||
// Open the db manually again and make sure the new columns exist.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
|
||||
// Confirm that the new columns exist now.
|
||||
@ -2573,7 +2573,7 @@ TEST_F(HistoryBackendDBTest, MigrateVisitsAddIsKnownToSyncColumn) {
|
||||
// Open the old version of the DB and make sure the new columns don't exist
|
||||
// yet. Also add some visits marked as from SYNC in the old style.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
ASSERT_FALSE(db.DoesColumnExist("visits", "is_known_to_sync"));
|
||||
}
|
||||
@ -2588,7 +2588,7 @@ TEST_F(HistoryBackendDBTest, MigrateVisitsAddIsKnownToSyncColumn) {
|
||||
|
||||
// Open the db manually again and make sure the new columns exist.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
EXPECT_TRUE(db.DoesColumnExist("visits", "is_known_to_sync"));
|
||||
}
|
||||
@ -2602,7 +2602,7 @@ TEST_F(HistoryBackendDBTest, MigrateClustersAddTriggerabilityCalculatedColumn) {
|
||||
// Open the old version of the DB and make sure the new columns don't exist
|
||||
// yet.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
ASSERT_FALSE(db.DoesColumnExist("clusters", "triggerability_calculated"));
|
||||
|
||||
@ -2630,7 +2630,7 @@ TEST_F(HistoryBackendDBTest, MigrateClustersAddTriggerabilityCalculatedColumn) {
|
||||
|
||||
// Open the db manually again and make sure the new columns exist.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
EXPECT_TRUE(db.DoesColumnExist("clusters", "triggerability_calculated"));
|
||||
}
|
||||
@ -2648,7 +2648,7 @@ TEST_F(HistoryBackendDBTest,
|
||||
|
||||
// Open the db for manual manipulation.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
|
||||
const char kInsertClustersStatement[] =
|
||||
@ -2686,7 +2686,7 @@ TEST_F(HistoryBackendDBTest, MigrateContentAnnotationsAddHasUrlKeyedImage) {
|
||||
|
||||
// Open the db for manual manipulation.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
|
||||
const char kInsertContentAnnotationsStatement[] =
|
||||
@ -2749,7 +2749,7 @@ TEST_F(HistoryBackendDBTest,
|
||||
// Open the old version of the DB and make sure the new columns don't exist
|
||||
// yet.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
ASSERT_FALSE(db.DoesColumnExist("visits", "consider_for_ntp_most_visited"));
|
||||
|
||||
@ -2780,7 +2780,7 @@ TEST_F(HistoryBackendDBTest,
|
||||
|
||||
// Open the db manually again and make sure the new columns exist.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
EXPECT_TRUE(db.DoesColumnExist("visits", "consider_for_ntp_most_visited"));
|
||||
}
|
||||
@ -2792,7 +2792,7 @@ TEST_F(HistoryBackendDBTest, MigrateDownloadByWebApp) {
|
||||
// Precondition: Open the old version of the DB and make sure the new column
|
||||
// doesn't exist yet.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
ASSERT_FALSE(db.DoesColumnExist("downloads", "by_web_app_id"));
|
||||
{
|
||||
@ -2826,7 +2826,7 @@ TEST_F(HistoryBackendDBTest, MigrateDownloadByWebApp) {
|
||||
DeleteBackend();
|
||||
{
|
||||
// Re-open the db for manual manipulation.
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
// The version should have been updated.
|
||||
int cur_version = HistoryDatabase::GetCurrentVersion();
|
||||
@ -2871,7 +2871,7 @@ TEST_F(HistoryBackendDBTest, MigrateClustersAndVisitsAddInteractionState) {
|
||||
// Open the old version of the DB and make sure the new columns don't exist
|
||||
// yet.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
ASSERT_FALSE(
|
||||
db.DoesColumnExist("clusters_and_visits", "interaction_state"));
|
||||
@ -2906,7 +2906,7 @@ TEST_F(HistoryBackendDBTest, MigrateClustersAndVisitsAddInteractionState) {
|
||||
|
||||
// Open the db manually again and make sure the new columns exist.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
EXPECT_TRUE(db.DoesColumnExist("clusters_and_visits", "interaction_state"));
|
||||
}
|
||||
@ -2929,7 +2929,7 @@ TEST_F(HistoryBackendDBTest, MigrateVisitsAddExternalReferrerUrlColumn) {
|
||||
// Open the old version of the DB and make sure the new column doesn't exist
|
||||
// yet.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
ASSERT_FALSE(db.DoesColumnExist("visits", "external_referrer_url"));
|
||||
|
||||
@ -2958,7 +2958,7 @@ TEST_F(HistoryBackendDBTest, MigrateVisitsAddExternalReferrerUrlColumn) {
|
||||
|
||||
// Open the db manually again and make sure the new columns exist.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
EXPECT_TRUE(db.DoesColumnExist("visits", "external_referrer_url"));
|
||||
}
|
||||
@ -2981,7 +2981,7 @@ TEST_F(HistoryBackendDBTest, MigrateVisitsAddVisitedLinkIdColumn) {
|
||||
// Open the old version of the DB and make sure the new column doesn't exist
|
||||
// yet.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
ASSERT_FALSE(db.DoesColumnExist("visits", "visited_link_id"));
|
||||
|
||||
@ -3010,7 +3010,7 @@ TEST_F(HistoryBackendDBTest, MigrateVisitsAddVisitedLinkIdColumn) {
|
||||
|
||||
// Open the db manually again and make sure the new columns exist.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
EXPECT_TRUE(db.DoesColumnExist("visits", "visited_link_id"));
|
||||
}
|
||||
@ -3023,7 +3023,7 @@ TEST_F(HistoryBackendDBTest, MigrateRemoveTypedUrlMetadataTable) {
|
||||
// table exists.
|
||||
const char kTypedUrlMetadataTable[] = "typed_url_sync_metadata";
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
ASSERT_TRUE(db.DoesTableExist(kTypedUrlMetadataTable));
|
||||
}
|
||||
@ -3038,7 +3038,7 @@ TEST_F(HistoryBackendDBTest, MigrateRemoveTypedUrlMetadataTable) {
|
||||
|
||||
// Open the db manually again and make sure the table does not exist anymore.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
EXPECT_FALSE(db.DoesTableExist(kTypedUrlMetadataTable));
|
||||
}
|
||||
@ -3061,7 +3061,7 @@ TEST_F(HistoryBackendDBTest, MigrateVisitsAddAppId) {
|
||||
// Open the old version of the DB and make sure the new column doesn't exist
|
||||
// yet.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
ASSERT_FALSE(db.DoesColumnExist("visits", "app_id"));
|
||||
|
||||
@ -3089,7 +3089,7 @@ TEST_F(HistoryBackendDBTest, MigrateVisitsAddAppId) {
|
||||
|
||||
// Open the db manually again and make sure the new columns exist.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(history_dir_.Append(kHistoryFilename)));
|
||||
EXPECT_TRUE(db.DoesColumnExist("visits", "app_id"));
|
||||
}
|
||||
|
@ -59,6 +59,7 @@
|
||||
#include "components/history/core/test/visit_annotations_test_utils.h"
|
||||
#include "components/sync/base/features.h"
|
||||
#include "sql/sqlite_result_code_values.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
#include "testing/gmock/include/gmock/gmock.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
#include "third_party/skia/include/core/SkBitmap.h"
|
||||
@ -2506,7 +2507,7 @@ TEST_F(HistoryBackendTest, MigrationVisitSource) {
|
||||
// Now the database should already be migrated.
|
||||
// Check version first.
|
||||
int cur_version = HistoryDatabase::GetCurrentVersion();
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(new_history_file));
|
||||
sql::Statement s(
|
||||
db.GetUniqueStatement("SELECT value FROM meta WHERE key='version'"));
|
||||
@ -3078,7 +3079,7 @@ TEST_F(HistoryBackendTest, MigrationVisitDuration) {
|
||||
|
||||
// Check version in history database first.
|
||||
int cur_version = HistoryDatabase::GetCurrentVersion();
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(new_history_file));
|
||||
sql::Statement s(db.GetUniqueStatement(
|
||||
"SELECT value FROM meta WHERE key = 'version'"));
|
||||
|
@ -13,7 +13,8 @@
|
||||
namespace history {
|
||||
|
||||
InMemoryDatabase::InMemoryDatabase()
|
||||
: db_({.page_size = 4096, .cache_size = 500}) {}
|
||||
: db_({.page_size = 4096, .cache_size = 500}, /*tag=*/"HistoryInMemoryDB") {
|
||||
}
|
||||
|
||||
InMemoryDatabase::~InMemoryDatabase() = default;
|
||||
|
||||
|
@ -30,6 +30,7 @@
|
||||
#include "components/sync/test/forwarding_data_type_local_change_processor.h"
|
||||
#include "sql/database.h"
|
||||
#include "sql/meta_table.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
#include "testing/gmock/include/gmock/gmock.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
|
||||
@ -483,7 +484,7 @@ class HistorySyncBridgeTest : public testing::Test {
|
||||
base::test::SingleThreadTaskEnvironment task_environment_{
|
||||
base::test::TaskEnvironment::TimeSource::MOCK_TIME};
|
||||
|
||||
sql::Database db_;
|
||||
sql::Database db_{sql::test::kTestTag};
|
||||
sql::MetaTable meta_table_;
|
||||
HistorySyncMetadataDatabase metadata_db_;
|
||||
|
||||
|
@ -13,6 +13,7 @@
|
||||
#include "components/sync/protocol/entity_metadata.pb.h"
|
||||
#include "sql/meta_table.h"
|
||||
#include "sql/statement.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
|
||||
using sync_pb::DataTypeState;
|
||||
@ -55,7 +56,7 @@ class HistorySyncMetadataDatabaseTest : public testing::Test {
|
||||
void TearDown() override { db_.Close(); }
|
||||
|
||||
private:
|
||||
sql::Database db_;
|
||||
sql::Database db_{sql::test::kTestTag};
|
||||
sql::MetaTable meta_table_;
|
||||
|
||||
HistorySyncMetadataDatabase metadata_db_;
|
||||
|
@ -166,7 +166,7 @@ TEST_F(TopSitesDatabaseTest, Recovery1) {
|
||||
|
||||
// Database is unusable at the SQLite level.
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
{
|
||||
sql::test::ScopedErrorExpecter expecter;
|
||||
expecter.ExpectError(sql::SqliteResultCode::kCorrupt);
|
||||
@ -199,7 +199,7 @@ TEST_F(TopSitesDatabaseTest, Recovery2) {
|
||||
|
||||
// Database is unusable at the SQLite level.
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
{
|
||||
sql::test::ScopedErrorExpecter expecter;
|
||||
expecter.ExpectError(sql::SqliteResultCode::kCorrupt);
|
||||
@ -230,7 +230,7 @@ TEST_F(TopSitesDatabaseTest, Recovery4_CorruptHeader) {
|
||||
|
||||
// Database is unusable at the SQLite level.
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
{
|
||||
sql::test::ScopedErrorExpecter expecter;
|
||||
expecter.ExpectError(sql::SqliteResultCode::kCorrupt);
|
||||
@ -257,7 +257,7 @@ TEST_F(TopSitesDatabaseTest, Recovery4_CorruptHeader) {
|
||||
|
||||
// Double-check database integrity.
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(raw_db.Open(file_name_));
|
||||
EXPECT_EQ("ok", sql::test::IntegrityCheck(raw_db));
|
||||
}
|
||||
@ -274,7 +274,7 @@ TEST_F(TopSitesDatabaseTest, Recovery5_CorruptIndex) {
|
||||
// SQLite can operate on the database, but notices the corruption in integrity
|
||||
// check.
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(raw_db.Open(file_name_));
|
||||
EXPECT_NE("ok", sql::test::IntegrityCheck(raw_db));
|
||||
}
|
||||
@ -298,7 +298,7 @@ TEST_F(TopSitesDatabaseTest, Recovery5_CorruptIndex) {
|
||||
|
||||
// Check that the database is recovered at the SQLite level.
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(raw_db.Open(file_name_));
|
||||
ASSERT_EQ("ok", sql::test::IntegrityCheck(raw_db));
|
||||
}
|
||||
@ -328,7 +328,7 @@ TEST_F(TopSitesDatabaseTest, Recovery5_CorruptIndexAndLostRow) {
|
||||
|
||||
// Delete a row.
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(raw_db.Open(file_name_));
|
||||
EXPECT_TRUE(
|
||||
raw_db.Execute("DELETE FROM top_sites WHERE url = "
|
||||
@ -341,7 +341,7 @@ TEST_F(TopSitesDatabaseTest, Recovery5_CorruptIndexAndLostRow) {
|
||||
// SQLite can operate on the database, but notices the corruption in integrity
|
||||
// check.
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(raw_db.Open(file_name_));
|
||||
EXPECT_NE("ok", sql::test::IntegrityCheck(raw_db));
|
||||
}
|
||||
@ -365,7 +365,7 @@ TEST_F(TopSitesDatabaseTest, Recovery5_CorruptIndexAndLostRow) {
|
||||
|
||||
// Check that the database is recovered at the SQLite level.
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(raw_db.Open(file_name_));
|
||||
ASSERT_EQ("ok", sql::test::IntegrityCheck(raw_db));
|
||||
}
|
||||
|
@ -14,6 +14,7 @@
|
||||
#include "components/history/core/browser/keyword_search_term.h"
|
||||
#include "components/history/core/browser/keyword_search_term_util.h"
|
||||
#include "sql/database.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
|
||||
using base::Time;
|
||||
@ -38,8 +39,6 @@ bool IsURLRowEqual(const URLRow& a,
|
||||
class URLDatabaseTest : public testing::Test,
|
||||
public URLDatabase {
|
||||
public:
|
||||
URLDatabaseTest() = default;
|
||||
|
||||
void CreateVersion33URLTable() {
|
||||
EXPECT_TRUE(GetDB().Execute("DROP TABLE urls"));
|
||||
|
||||
@ -79,7 +78,7 @@ class URLDatabaseTest : public testing::Test,
|
||||
void TearDown() override { db_.Close(); }
|
||||
|
||||
base::ScopedTempDir temp_dir_;
|
||||
sql::Database db_;
|
||||
sql::Database db_{sql::test::kTestTag};
|
||||
};
|
||||
|
||||
// Test add, update, upsert, and query for the URL table in the HistoryDatabase.
|
||||
|
@ -3,6 +3,7 @@
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "components/history/core/browser/visit_annotations_database.h"
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
@ -13,6 +14,7 @@
|
||||
#include "components/history/core/browser/visit_database.h"
|
||||
#include "components/history/core/test/visit_annotations_test_utils.h"
|
||||
#include "sql/database.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
#include "testing/gmock/include/gmock/gmock.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
|
||||
@ -47,10 +49,6 @@ VisitContextAnnotations MakeContextAnnotations(
|
||||
class VisitAnnotationsDatabaseTest : public testing::Test,
|
||||
public VisitAnnotationsDatabase,
|
||||
public VisitDatabase {
|
||||
public:
|
||||
VisitAnnotationsDatabaseTest() = default;
|
||||
~VisitAnnotationsDatabaseTest() override = default;
|
||||
|
||||
protected:
|
||||
VisitID AddVisitWithTime(base::Time visit_time,
|
||||
bool add_context_annotation = true) {
|
||||
@ -103,7 +101,7 @@ class VisitAnnotationsDatabaseTest : public testing::Test,
|
||||
// VisitAnnotationsDatabase:
|
||||
sql::Database& GetDB() override { return db_; }
|
||||
|
||||
sql::Database db_;
|
||||
sql::Database db_{sql::test::kTestTag};
|
||||
};
|
||||
|
||||
TEST_F(VisitAnnotationsDatabaseTest, AddContentAnnotationsForVisit) {
|
||||
|
@ -2,6 +2,8 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "components/history/core/browser/visit_database.h"
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
#include <set>
|
||||
@ -10,9 +12,9 @@
|
||||
#include "base/strings/string_util.h"
|
||||
#include "base/time/time.h"
|
||||
#include "components/history/core/browser/url_database.h"
|
||||
#include "components/history/core/browser/visit_database.h"
|
||||
#include "components/history/core/browser/visited_link_database.h"
|
||||
#include "sql/database.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
#include "testing/gmock/include/gmock/gmock.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
#include "testing/platform_test.h"
|
||||
@ -47,9 +49,6 @@ class VisitDatabaseTest : public PlatformTest,
|
||||
public URLDatabase,
|
||||
public VisitDatabase,
|
||||
public VisitedLinkDatabase {
|
||||
public:
|
||||
VisitDatabaseTest() = default;
|
||||
|
||||
private:
|
||||
// Test setup.
|
||||
void SetUp() override {
|
||||
@ -71,7 +70,7 @@ class VisitDatabaseTest : public PlatformTest,
|
||||
// Provided for URL/VisitDatabase.
|
||||
sql::Database& GetDB() override { return db_; }
|
||||
|
||||
sql::Database db_;
|
||||
sql::Database db_{sql::test::kTestTag};
|
||||
};
|
||||
|
||||
TEST_F(VisitDatabaseTest, Add) {
|
||||
|
@ -11,6 +11,7 @@
|
||||
#include "components/history/core/browser/features.h"
|
||||
#include "components/history/core/browser/url_database.h"
|
||||
#include "sql/database.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
|
||||
using base::Time;
|
||||
@ -29,9 +30,6 @@ bool IsVisitedLinkRowEqual(const VisitedLinkRow& a, const VisitedLinkRow& b) {
|
||||
class VisitedLinkDatabaseTest : public testing::Test,
|
||||
public URLDatabase,
|
||||
public VisitedLinkDatabase {
|
||||
public:
|
||||
VisitedLinkDatabaseTest() = default;
|
||||
|
||||
protected:
|
||||
URLID GetLinkURLID() { return link_url_id_; }
|
||||
// Provided for URL/Visit/VisitedLinksDatabase.
|
||||
@ -76,7 +74,7 @@ class VisitedLinkDatabaseTest : public testing::Test,
|
||||
|
||||
URLID link_url_id_;
|
||||
base::ScopedTempDir temp_dir_;
|
||||
sql::Database db_;
|
||||
sql::Database db_{sql::test::kTestTag};
|
||||
};
|
||||
|
||||
// Test add, update, and delete operations for the
|
||||
|
@ -13,6 +13,7 @@
|
||||
#include "base/strings/string_util.h"
|
||||
#include "base/strings/stringprintf.h"
|
||||
#include "sql/database.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
|
||||
namespace history {
|
||||
|
||||
@ -34,7 +35,7 @@ void HistoryUnitTestBase::ExecuteSQLScript(const base::FilePath& sql_path,
|
||||
sql_time.push_back(base::StringPrintf("%" PRId64, now)); // time_slot
|
||||
sql = base::ReplaceStringPlaceholders(sql, sql_time, nullptr);
|
||||
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(db_path));
|
||||
ASSERT_TRUE(connection.Execute(sql));
|
||||
}
|
||||
|
@ -183,6 +183,7 @@ source_set("unit_tests") {
|
||||
"//base/test:test_support",
|
||||
"//components/offline_pages/task:test_support",
|
||||
"//sql:sql",
|
||||
"//sql:test_support",
|
||||
"//testing/gmock",
|
||||
"//testing/gtest",
|
||||
"//url",
|
||||
|
@ -135,6 +135,7 @@ source_set("unit_tests") {
|
||||
"//services/network:test_support",
|
||||
"//services/network/public/cpp",
|
||||
"//sql:sql",
|
||||
"//sql:test_support",
|
||||
"//testing/gmock",
|
||||
"//testing/gtest",
|
||||
"//url",
|
||||
|
@ -19,6 +19,7 @@
|
||||
#include "components/offline_pages/core/offline_clock.h"
|
||||
#include "sql/database.h"
|
||||
#include "sql/statement.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
|
||||
namespace offline_pages {
|
||||
@ -64,7 +65,7 @@ SavePageRequest GetTestRequest(const GURL& url, const GURL& original_url) {
|
||||
|
||||
void BuildTestStoreWithSchemaFromM57(const base::FilePath& file,
|
||||
const GURL& url) {
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(
|
||||
connection.Open(file.Append(FILE_PATH_LITERAL("RequestQueue.db"))));
|
||||
ASSERT_TRUE(connection.is_open());
|
||||
@ -109,7 +110,7 @@ void BuildTestStoreWithSchemaFromM57(const base::FilePath& file,
|
||||
void BuildTestStoreWithSchemaFromM58(const base::FilePath& file,
|
||||
const GURL& url,
|
||||
const GURL& original_url) {
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(
|
||||
connection.Open(file.Append(FILE_PATH_LITERAL("RequestQueue.db"))));
|
||||
ASSERT_TRUE(connection.is_open());
|
||||
@ -156,7 +157,7 @@ void BuildTestStoreWithSchemaFromM58(const base::FilePath& file,
|
||||
void BuildTestStoreWithSchemaFromM61(const base::FilePath& file,
|
||||
const GURL& url,
|
||||
const GURL& original_url) {
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(
|
||||
connection.Open(file.Append(FILE_PATH_LITERAL("RequestQueue.db"))));
|
||||
ASSERT_TRUE(connection.is_open());
|
||||
@ -205,7 +206,7 @@ void BuildTestStoreWithSchemaFromM61(const base::FilePath& file,
|
||||
void BuildTestStoreWithSchemaFromM72(const base::FilePath& file,
|
||||
const GURL& url,
|
||||
const GURL& original_url) {
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(
|
||||
connection.Open(file.Append(FILE_PATH_LITERAL("RequestQueue.db"))));
|
||||
ASSERT_TRUE(connection.is_open());
|
||||
|
@ -5,6 +5,7 @@
|
||||
#include "components/offline_pages/core/offline_page_metadata_store.h"
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include <memory>
|
||||
#include <set>
|
||||
#include <string>
|
||||
@ -29,6 +30,7 @@
|
||||
#include "sql/database.h"
|
||||
#include "sql/meta_table.h"
|
||||
#include "sql/statement.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
#include "sql/transaction.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
|
||||
@ -62,7 +64,7 @@ OfflinePageVisuals TestVisuals() {
|
||||
|
||||
// Build a store with outdated schema to simulate the upgrading process.
|
||||
void BuildTestStoreWithSchemaFromM52(const base::FilePath& file) {
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(
|
||||
connection.Open(file.Append(FILE_PATH_LITERAL("OfflinePages.db"))));
|
||||
ASSERT_TRUE(connection.is_open());
|
||||
@ -109,7 +111,7 @@ void BuildTestStoreWithSchemaFromM52(const base::FilePath& file) {
|
||||
}
|
||||
|
||||
void BuildTestStoreWithSchemaFromM53(const base::FilePath& file) {
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(
|
||||
connection.Open(file.Append(FILE_PATH_LITERAL("OfflinePages.db"))));
|
||||
ASSERT_TRUE(connection.is_open());
|
||||
@ -158,7 +160,7 @@ void BuildTestStoreWithSchemaFromM53(const base::FilePath& file) {
|
||||
}
|
||||
|
||||
void BuildTestStoreWithSchemaFromM54(const base::FilePath& file) {
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(
|
||||
connection.Open(file.Append(FILE_PATH_LITERAL("OfflinePages.db"))));
|
||||
ASSERT_TRUE(connection.is_open());
|
||||
@ -214,7 +216,7 @@ void BuildTestStoreWithSchemaFromM54(const base::FilePath& file) {
|
||||
}
|
||||
|
||||
void BuildTestStoreWithSchemaFromM55(const base::FilePath& file) {
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(
|
||||
connection.Open(file.Append(FILE_PATH_LITERAL("OfflinePages.db"))));
|
||||
ASSERT_TRUE(connection.is_open());
|
||||
@ -262,7 +264,7 @@ void BuildTestStoreWithSchemaFromM55(const base::FilePath& file) {
|
||||
}
|
||||
|
||||
void BuildTestStoreWithSchemaFromM56(const base::FilePath& file) {
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(
|
||||
connection.Open(file.Append(FILE_PATH_LITERAL("OfflinePages.db"))));
|
||||
ASSERT_TRUE(connection.is_open());
|
||||
@ -311,7 +313,7 @@ void BuildTestStoreWithSchemaFromM56(const base::FilePath& file) {
|
||||
}
|
||||
|
||||
void BuildTestStoreWithSchemaFromM57(const base::FilePath& file) {
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(
|
||||
connection.Open(file.Append(FILE_PATH_LITERAL("OfflinePages.db"))));
|
||||
ASSERT_TRUE(connection.is_open());
|
||||
@ -357,7 +359,7 @@ void BuildTestStoreWithSchemaFromM57(const base::FilePath& file) {
|
||||
}
|
||||
|
||||
void BuildTestStoreWithSchemaFromM61(const base::FilePath& file) {
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(
|
||||
connection.Open(file.Append(FILE_PATH_LITERAL("OfflinePages.db"))));
|
||||
ASSERT_TRUE(connection.is_open());
|
||||
@ -435,7 +437,7 @@ void InjectItemInM62Store(sql::Database* db, const OfflinePageItem& item) {
|
||||
}
|
||||
|
||||
void BuildTestStoreWithSchemaFromM62(const base::FilePath& file) {
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(
|
||||
connection.Open(file.Append(FILE_PATH_LITERAL("OfflinePages.db"))));
|
||||
ASSERT_TRUE(connection.is_open());
|
||||
@ -478,7 +480,7 @@ void BuildTestStoreWithSchemaFromM62(const base::FilePath& file) {
|
||||
|
||||
void BuildTestStoreWithSchemaVersion1(const base::FilePath& file) {
|
||||
BuildTestStoreWithSchemaFromM62(file);
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(
|
||||
connection.Open(file.Append(FILE_PATH_LITERAL("OfflinePages.db"))));
|
||||
ASSERT_TRUE(connection.is_open());
|
||||
@ -507,7 +509,7 @@ void BuildTestStoreWithSchemaVersion1(const base::FilePath& file) {
|
||||
|
||||
void BuildTestStoreWithSchemaVersion2(const base::FilePath& file) {
|
||||
BuildTestStoreWithSchemaVersion1(file);
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(file.Append(FILE_PATH_LITERAL("OfflinePages.db"))));
|
||||
sql::MetaTable meta_table;
|
||||
ASSERT_TRUE(
|
||||
@ -529,7 +531,7 @@ bool InsertVisualsVersion3(sql::Database* db,
|
||||
|
||||
void BuildTestStoreWithSchemaVersion3(const base::FilePath& file) {
|
||||
BuildTestStoreWithSchemaVersion2(file);
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(file.Append(FILE_PATH_LITERAL("OfflinePages.db"))));
|
||||
sql::MetaTable meta_table;
|
||||
ASSERT_TRUE(
|
||||
@ -679,7 +681,7 @@ class OfflinePageMetadataStoreTest : public testing::Test {
|
||||
}
|
||||
|
||||
void VerifyMetaVersions() {
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(temp_directory_.GetPath().Append(
|
||||
FILE_PATH_LITERAL("OfflinePages.db"))));
|
||||
ASSERT_TRUE(connection.is_open());
|
||||
|
@ -68,7 +68,7 @@ typedef testing::Test ShortcutsDatabaseMigrationTest;
|
||||
|
||||
// Checks that the database at |db_path| has the version 0 columns iff |is_v0|.
|
||||
void CheckV0ColumnExistence(const base::FilePath& db_path, bool is_v0) {
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(db_path));
|
||||
EXPECT_EQ(is_v0,
|
||||
connection.DoesColumnExist("omni_box_shortcuts", "fill_into_edit"));
|
||||
@ -88,7 +88,7 @@ void CheckV2Migration(base::FilePath sql_path) {
|
||||
|
||||
// Check document_type column does not yet exist.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(db_path));
|
||||
EXPECT_FALSE(
|
||||
connection.DoesColumnExist("omni_box_shortcuts", "document_type"));
|
||||
@ -101,7 +101,7 @@ void CheckV2Migration(base::FilePath sql_path) {
|
||||
db->Init();
|
||||
}
|
||||
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(db_path));
|
||||
|
||||
// Check a meta table was created.
|
||||
@ -290,7 +290,7 @@ TEST(ShortcutsDatabaseMigrationTest, MigrateTableAddFillIntoEdit) {
|
||||
|
||||
CheckV0ColumnExistence(db_path, true);
|
||||
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(db_path));
|
||||
|
||||
// Check a meta table was created.
|
||||
@ -332,7 +332,7 @@ TEST(ShortcutsDatabaseMigrationTest, MigrateV0ToV1) {
|
||||
}
|
||||
|
||||
// Check that all the old type values got converted to new values.
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(db_path));
|
||||
|
||||
// Check a meta table was created.
|
||||
@ -368,7 +368,7 @@ TEST(ShortcutsDatabaseMigrationTest, Recovery1) {
|
||||
static const char kCountSql[] = "SELECT COUNT(*) FROM omni_box_shortcuts";
|
||||
int row_count;
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(db_path));
|
||||
sql::Statement statement(connection.GetUniqueStatement(kCountSql));
|
||||
ASSERT_TRUE(statement.is_valid());
|
||||
@ -385,7 +385,7 @@ TEST(ShortcutsDatabaseMigrationTest, Recovery1) {
|
||||
sql::test::ScopedErrorExpecter expecter;
|
||||
expecter.ExpectError(SQLITE_CORRUPT);
|
||||
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_FALSE(connection.Open(db_path));
|
||||
sql::Statement statement(connection.GetUniqueStatement(kCountSql));
|
||||
ASSERT_FALSE(statement.is_valid());
|
||||
@ -411,7 +411,7 @@ TEST(ShortcutsDatabaseMigrationTest, Recovery1) {
|
||||
// The previously-broken statement works and all of the data should have been
|
||||
// recovered.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(db_path));
|
||||
sql::Statement statement(connection.GetUniqueStatement(kCountSql));
|
||||
ASSERT_TRUE(statement.is_valid());
|
||||
|
@ -334,7 +334,7 @@ class LoginDatabaseMigrationToOSCryptTest : public LoginDatabaseIOSTest {
|
||||
}
|
||||
|
||||
std::vector<std::string> GetEncryptedPasswordValues() const {
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
CHECK(db.Open(database_path_));
|
||||
|
||||
sql::Statement s(db.GetCachedStatement(
|
||||
@ -352,7 +352,7 @@ class LoginDatabaseMigrationToOSCryptTest : public LoginDatabaseIOSTest {
|
||||
}
|
||||
|
||||
std::vector<std::string> GetEncryptedPasswordNoteValues() const {
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
CHECK(db.Open(database_path_));
|
||||
|
||||
sql::Statement s(db.GetCachedStatement(SQL_FROM_HERE,
|
||||
@ -370,7 +370,7 @@ class LoginDatabaseMigrationToOSCryptTest : public LoginDatabaseIOSTest {
|
||||
}
|
||||
|
||||
void ReplacePasswordValue(const std::string& new_value) {
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
CHECK(db.Open(get_database_path()));
|
||||
sql::Statement new_password_value(db.GetCachedStatement(
|
||||
SQL_FROM_HERE, "UPDATE logins SET password_value = ?"));
|
||||
@ -379,7 +379,7 @@ class LoginDatabaseMigrationToOSCryptTest : public LoginDatabaseIOSTest {
|
||||
}
|
||||
|
||||
void ReplaceNoteValue(const std::string& new_value) {
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
CHECK(db.Open(get_database_path()));
|
||||
sql::Statement new_note_value(db.GetCachedStatement(
|
||||
SQL_FROM_HERE, "UPDATE password_notes SET value = ?"));
|
||||
|
@ -188,7 +188,7 @@ template <>
|
||||
template <class T>
|
||||
std::vector<T> GetColumnValuesFromDatabase(const base::FilePath& database_path,
|
||||
const std::string& column_name) {
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
std::vector<T> results;
|
||||
CHECK(db.Open(database_path));
|
||||
|
||||
@ -210,7 +210,7 @@ std::vector<T> GetColumnValuesFromDatabase(const base::FilePath& database_path,
|
||||
void UpdatePasswordValueForUsername(const base::FilePath& database_path,
|
||||
const std::u16string& username,
|
||||
const std::u16string& password) {
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
CHECK(db.Open(database_path));
|
||||
|
||||
sql::Statement s(db.GetCachedStatement(
|
||||
@ -2022,7 +2022,7 @@ TEST_P(LoginDatabaseTest, Init_NoCrashOnFailedRollback) {
|
||||
// current version (in reality, this could happen if, e.g., someone opened a
|
||||
// Canary-created profile with Chrome Stable.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
sql::MetaTable meta_table;
|
||||
ASSERT_TRUE(connection.Open(database_path));
|
||||
ASSERT_TRUE(meta_table.Init(&connection, kCurrentVersionNumber + 1,
|
||||
@ -2054,7 +2054,7 @@ TEST_P(LoginDatabaseTest, ShouldNotDowngradeDatabaseVersion) {
|
||||
}
|
||||
{
|
||||
// Overwrite the current version to be |kDBFutureVersion|
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
sql::MetaTable meta_table;
|
||||
ASSERT_TRUE(connection.Open(database_path));
|
||||
// Set the DB version to be coming from the future.
|
||||
@ -2071,7 +2071,7 @@ TEST_P(LoginDatabaseTest, ShouldNotDowngradeDatabaseVersion) {
|
||||
}
|
||||
{
|
||||
// The DB version should remain the same.
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
sql::MetaTable meta_table;
|
||||
ASSERT_TRUE(connection.Open(database_path));
|
||||
ASSERT_TRUE(meta_table.Init(&connection, kDBFutureVersion,
|
||||
@ -2205,7 +2205,7 @@ void LoginDatabaseMigrationTest::MigrationToVCurrent(
|
||||
{
|
||||
// On versions < 15 |kCompatibleVersionNumber| was set to 1, but
|
||||
// the migration should bring it to the correct value.
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
sql::MetaTable meta_table;
|
||||
ASSERT_TRUE(db.Open(database_path_));
|
||||
ASSERT_TRUE(
|
||||
@ -2329,7 +2329,7 @@ PasswordForm LoginDatabaseUndecryptableLoginsTest::AddDummyLogin(
|
||||
}
|
||||
|
||||
if (should_be_corrupted) {
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(database_path()));
|
||||
|
||||
// Change encrypted password in the database if the login should be
|
||||
|
@ -13,6 +13,7 @@
|
||||
#include "base/functional/callback_helpers.h"
|
||||
#include "base/strings/utf_string_conversions.h"
|
||||
#include "sql/database.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
#include "testing/gmock/include/gmock/gmock.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
#include "url/gurl.h"
|
||||
@ -49,7 +50,8 @@ class StatisticsTableTest : public testing::Test {
|
||||
base::FilePath file = temp_dir_.GetPath().AppendASCII("TestDatabase");
|
||||
db_ = std::make_unique<StatisticsTable>();
|
||||
connection_ = std::make_unique<sql::Database>(
|
||||
sql::DatabaseOptions{.page_size = 4096, .cache_size = 500});
|
||||
sql::DatabaseOptions{.page_size = 4096, .cache_size = 500},
|
||||
sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection_->Open(file));
|
||||
db_->Init(connection_.get());
|
||||
ASSERT_TRUE(db_->CreateTableIfNecessary());
|
||||
|
@ -94,7 +94,7 @@ class PowerBookmarkDatabaseImplTest : public testing::Test {
|
||||
base::HistogramTester* histogram() { return &histogram_; }
|
||||
|
||||
void InsertBadlyFormattedProtoToDB() {
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(db_file_path()));
|
||||
|
||||
static constexpr char kCreatePowerSaveSql[] =
|
||||
@ -179,7 +179,7 @@ TEST_F(PowerBookmarkDatabaseImplTest, InitDatabase) {
|
||||
}
|
||||
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(db_file_path()));
|
||||
|
||||
// Database should have 4 tables: meta, saves, blobs and sync_meta.
|
||||
@ -210,7 +210,7 @@ TEST_F(PowerBookmarkDatabaseImplTest, DatabaseNewVersion) {
|
||||
|
||||
// Create an empty database with a newer schema version (version=1000000).
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(db_file_path()));
|
||||
|
||||
sql::MetaTable meta_table;
|
||||
@ -242,7 +242,7 @@ TEST_F(PowerBookmarkDatabaseImplTest, DatabaseHasSchemaNoMeta) {
|
||||
|
||||
// Drop meta table.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(db_file_path()));
|
||||
sql::MetaTable::DeleteTableForTesting(&db);
|
||||
}
|
||||
|
@ -237,6 +237,7 @@ source_set("unit_tests") {
|
||||
"//services/network:test_support",
|
||||
"//services/network/public/cpp",
|
||||
"//sql",
|
||||
"//sql:test_support",
|
||||
"//testing/gmock",
|
||||
"//testing/gtest",
|
||||
"//ui/base",
|
||||
|
@ -22,6 +22,7 @@
|
||||
#include "components/search_engines/template_url_data.h"
|
||||
#include "components/webdata/common/web_database.h"
|
||||
#include "sql/statement.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
|
||||
using base::ASCIIToUTF16;
|
||||
@ -322,7 +323,7 @@ TEST_P(KeywordTableTestEncryption, KeywordBadHash) {
|
||||
}
|
||||
CloseDatabase();
|
||||
if (GetParam().tamper) {
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(file_));
|
||||
EXPECT_TRUE(
|
||||
db.Execute("UPDATE keywords SET url='http://bad.com/' WHERE id=1"));
|
||||
|
@ -10,6 +10,7 @@
|
||||
#include "components/segmentation_platform/internal/database/ukm_database_test_utils.h"
|
||||
#include "sql/database.h"
|
||||
#include "sql/statement.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
|
||||
namespace segmentation_platform {
|
||||
@ -37,8 +38,7 @@ class UkmMetricsTableTest : public testing::Test {
|
||||
~UkmMetricsTableTest() override = default;
|
||||
|
||||
void SetUp() override {
|
||||
sql::DatabaseOptions options;
|
||||
db_ = std::make_unique<sql::Database>(options);
|
||||
db_ = std::make_unique<sql::Database>(sql::test::kTestTag);
|
||||
bool opened = db_->OpenInMemory();
|
||||
ASSERT_TRUE(opened);
|
||||
metrics_table_ = std::make_unique<UkmMetricsTable>(db_.get());
|
||||
|
@ -8,6 +8,7 @@
|
||||
#include "sql/database.h"
|
||||
#include "sql/statement.h"
|
||||
#include "sql/test/scoped_error_expecter.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
|
||||
namespace segmentation_platform {
|
||||
@ -24,8 +25,7 @@ class UkmUrlTableTest : public testing::Test {
|
||||
~UkmUrlTableTest() override = default;
|
||||
|
||||
void SetUp() override {
|
||||
sql::DatabaseOptions options;
|
||||
db_ = std::make_unique<sql::Database>(options);
|
||||
db_ = std::make_unique<sql::Database>(sql::test::kTestTag);
|
||||
bool opened = db_->OpenInMemory();
|
||||
ASSERT_TRUE(opened);
|
||||
url_table_ = std::make_unique<UkmUrlTable>(db_.get());
|
||||
|
@ -11,6 +11,7 @@
|
||||
#include "components/segmentation_platform/internal/database/ukm_types.h"
|
||||
#include "sql/database.h"
|
||||
#include "sql/statement.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
|
||||
namespace segmentation_platform {
|
||||
@ -37,7 +38,7 @@ class UmaMetricsTableTest : public testing::Test {
|
||||
|
||||
void SetUp() override {
|
||||
sql::DatabaseOptions options;
|
||||
db_ = std::make_unique<sql::Database>(options);
|
||||
db_ = std::make_unique<sql::Database>(options, sql::test::kTestTag);
|
||||
bool opened = db_->OpenInMemory();
|
||||
ASSERT_TRUE(opened);
|
||||
metrics_table_ = std::make_unique<UmaMetricsTable>(db_.get());
|
||||
|
@ -74,7 +74,7 @@ class SharedStorageDatabaseMigrationsTest : public testing::Test {
|
||||
temp_dir_.GetPath().Append(FILE_PATH_LITERAL("TestCurrentVersion.db"));
|
||||
EXPECT_TRUE(CreateDatabaseFromSQL(current_version_path,
|
||||
GetTestFileNameForCurrentVersion()));
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(current_version_path));
|
||||
return db.GetSchema();
|
||||
}
|
||||
@ -119,7 +119,7 @@ TEST_F(SharedStorageDatabaseMigrationsTest, MigrateEmptyToCurrent) {
|
||||
|
||||
// Verify schema is current.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(file_name_));
|
||||
|
||||
// Check version.
|
||||
@ -145,7 +145,7 @@ TEST_F(SharedStorageDatabaseMigrationsTest,
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(file_name_));
|
||||
|
||||
// Check version.
|
||||
@ -163,7 +163,7 @@ TEST_F(SharedStorageDatabaseMigrationsTest,
|
||||
|
||||
// Verify schema is current.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(file_name_));
|
||||
|
||||
// Check version.
|
||||
@ -189,7 +189,7 @@ TEST_F(SharedStorageDatabaseMigrationsTest, MigrateTooNewVersionToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(file_name_));
|
||||
|
||||
// Check compatible version.
|
||||
@ -207,7 +207,7 @@ TEST_F(SharedStorageDatabaseMigrationsTest, MigrateTooNewVersionToCurrent) {
|
||||
|
||||
// Verify schema is current.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(file_name_));
|
||||
|
||||
// Check version.
|
||||
@ -238,7 +238,7 @@ TEST_F(SharedStorageDatabaseMigrationsTest, MigrateVersion5ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(file_name_));
|
||||
|
||||
// `context_origin`, `creation_time`, `length`, and `num_bytes`.
|
||||
@ -268,7 +268,7 @@ TEST_F(SharedStorageDatabaseMigrationsTest, MigrateVersion5ToCurrent) {
|
||||
|
||||
// Verify schema is current.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(file_name_));
|
||||
|
||||
// Check version.
|
||||
@ -319,7 +319,7 @@ TEST_F(SharedStorageDatabaseMigrationsTest, MigrateVersion4ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(file_name_));
|
||||
|
||||
// `context_origin`, `creation_time`, and `length`.
|
||||
@ -369,7 +369,7 @@ TEST_F(SharedStorageDatabaseMigrationsTest, MigrateVersion4ToCurrent) {
|
||||
|
||||
// Verify schema is current.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(file_name_));
|
||||
|
||||
// Check version.
|
||||
@ -426,7 +426,7 @@ TEST_F(SharedStorageDatabaseMigrationsTest, MigrateVersion3ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(file_name_));
|
||||
|
||||
// `id`, `context_origin`, `time_stamp`, and `bits_debit`.
|
||||
@ -454,7 +454,7 @@ TEST_F(SharedStorageDatabaseMigrationsTest, MigrateVersion3ToCurrent) {
|
||||
|
||||
// Verify schema is current.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(file_name_));
|
||||
|
||||
// Check version.
|
||||
@ -501,7 +501,7 @@ TEST_F(SharedStorageDatabaseMigrationsTest, MigrateVersion2ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(file_name_));
|
||||
|
||||
// `context_origin`, `key`, `value`, and `last_used_time`.
|
||||
@ -537,7 +537,7 @@ TEST_F(SharedStorageDatabaseMigrationsTest, MigrateVersion2ToCurrent) {
|
||||
|
||||
// Verify schema is current.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(file_name_));
|
||||
|
||||
// Check version.
|
||||
@ -591,7 +591,7 @@ TEST_F(SharedStorageDatabaseMigrationsTest, MigrateVersion1ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(file_name_));
|
||||
|
||||
// `context_origin`, `key`, and `value`.
|
||||
@ -614,7 +614,7 @@ TEST_F(SharedStorageDatabaseMigrationsTest, MigrateVersion1ToCurrent) {
|
||||
|
||||
// Verify schema is current.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(file_name_));
|
||||
|
||||
// Check version.
|
||||
@ -652,7 +652,7 @@ TEST_F(SharedStorageDatabaseMigrationsTest,
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(file_name_));
|
||||
|
||||
// `meta`, `values_mapping`, and `per_origin_mapping`.
|
||||
@ -679,7 +679,7 @@ TEST_F(SharedStorageDatabaseMigrationsTest,
|
||||
|
||||
// Verify schema is current.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(file_name_));
|
||||
|
||||
// Check version.
|
||||
|
@ -195,6 +195,7 @@ source_set("unit_tests") {
|
||||
"//net:test_support",
|
||||
"//services/network:test_support",
|
||||
"//services/network/public/cpp",
|
||||
"//sql:test_support",
|
||||
"//testing/gmock",
|
||||
"//testing/gtest",
|
||||
]
|
||||
|
@ -52,6 +52,7 @@
|
||||
#include "services/network/public/cpp/shared_url_loader_factory.h"
|
||||
#include "services/network/test/test_network_connection_tracker.h"
|
||||
#include "sql/statement.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
#include "testing/gmock/include/gmock/gmock.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
|
||||
@ -1566,7 +1567,7 @@ TEST_F(MutableProfileOAuth2TokenServiceDelegateTest, TokenReencryption) {
|
||||
// the only way to verify the ciphertext is to inspect the database
|
||||
// manually. This is safe to do here because the database has been
|
||||
// unloaded above.
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(
|
||||
db.Open(temp_dir_.GetPath().AppendASCII(kTestTokenDatabase)));
|
||||
sql::Statement s(db.GetUniqueStatement(
|
||||
|
@ -39,6 +39,7 @@ source_set("unit_tests") {
|
||||
"//base",
|
||||
"//base/test:test_support",
|
||||
"//sql",
|
||||
"//sql:test_support",
|
||||
"//testing/gmock",
|
||||
"//testing/gtest",
|
||||
]
|
||||
|
@ -7,6 +7,7 @@
|
||||
#include "base/memory/scoped_refptr.h"
|
||||
#include "components/sqlite_proto/test_proto.pb.h"
|
||||
#include "sql/database.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
#include "testing/gmock/include/gmock/gmock.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
|
||||
@ -47,7 +48,7 @@ class KeyValueTableTest : public ::testing::Test {
|
||||
~KeyValueTableTest() override = default;
|
||||
|
||||
protected:
|
||||
sql::Database db_;
|
||||
sql::Database db_{sql::test::kTestTag};
|
||||
KeyValueTable<TestProto> table_{"my_table"};
|
||||
};
|
||||
|
||||
|
@ -15,6 +15,7 @@
|
||||
#include "components/sqlite_proto/test_proto.pb.h"
|
||||
#include "sql/database.h"
|
||||
#include "sql/meta_table.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
#include "testing/gmock/include/gmock/gmock.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
|
||||
@ -43,7 +44,7 @@ TEST(ProtoTableTest, PutReinitializeAndGet) {
|
||||
// existing database state.
|
||||
|
||||
base::test::TaskEnvironment env;
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
CHECK(db.OpenInMemory());
|
||||
|
||||
auto manager = base::MakeRefCounted<ProtoTableManager>(
|
||||
@ -100,7 +101,7 @@ TEST(ProtoTableTest, ReinitializingWithDifferentVersionClearsTables) {
|
||||
// existing database state.
|
||||
|
||||
base::test::TaskEnvironment env;
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
CHECK(db.OpenInMemory());
|
||||
|
||||
constexpr int kInitialVersion = 1;
|
||||
@ -153,7 +154,7 @@ TEST(ProtoTableTest, InitializingWithoutWrittenVersionClearsTables) {
|
||||
// ProtoTableManager correctly clears the database.
|
||||
|
||||
base::test::TaskEnvironment env;
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
CHECK(db.OpenInMemory());
|
||||
|
||||
constexpr int kInitialVersion = 1;
|
||||
@ -209,7 +210,7 @@ TEST(ProtoTableTest, LoadingUnexpectedlyLargeVersionClearsTables) {
|
||||
// correctly clears the database.
|
||||
|
||||
base::test::TaskEnvironment env;
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
CHECK(db.OpenInMemory());
|
||||
|
||||
constexpr int kInitialVersion = 1;
|
||||
|
@ -91,7 +91,7 @@ TEST_F(UserNoteDatabaseTest, InitDatabase) {
|
||||
}
|
||||
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(db_file_path()));
|
||||
|
||||
// Should have 4 tables and 6 indexes
|
||||
@ -108,7 +108,7 @@ TEST_F(UserNoteDatabaseTest, DatabaseNewVersion) {
|
||||
|
||||
// Create an empty database with a newer schema version (version=1000000).
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(db_file_path()));
|
||||
|
||||
sql::MetaTable meta_table;
|
||||
@ -140,7 +140,7 @@ TEST_F(UserNoteDatabaseTest, DatabaseHasSchemaNoMeta) {
|
||||
|
||||
// Drop meta table.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(db_file_path()));
|
||||
sql::MetaTable::DeleteTableForTesting(&db);
|
||||
}
|
||||
|
@ -56,6 +56,7 @@ source_set("unit_tests") {
|
||||
"//components/plus_addresses/webdata",
|
||||
"//components/search_engines",
|
||||
"//components/signin/public/webdata",
|
||||
"//sql:test_support",
|
||||
"//testing/gtest",
|
||||
]
|
||||
if (is_ios) {
|
||||
|
@ -33,6 +33,7 @@
|
||||
#include "components/signin/public/webdata/token_service_table.h"
|
||||
#include "components/webdata/common/web_database.h"
|
||||
#include "sql/statement.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
|
||||
namespace {
|
||||
@ -158,7 +159,7 @@ void WebDatabaseMigrationTest::LoadDatabase(
|
||||
std::string contents;
|
||||
ASSERT_TRUE(GetWebDatabaseData(base::FilePath(file), &contents));
|
||||
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(connection.Execute(contents));
|
||||
}
|
||||
@ -190,7 +191,7 @@ TEST_F(WebDatabaseMigrationTest, VersionXxSqlFilesAreGolden) {
|
||||
const base::FilePath db_path = GetDatabasePath();
|
||||
std::string expected_schema;
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(db_path));
|
||||
expected_schema = connection.GetSchema();
|
||||
ASSERT_TRUE(connection.Raze());
|
||||
@ -205,7 +206,7 @@ TEST_F(WebDatabaseMigrationTest, VersionXxSqlFilesAreGolden) {
|
||||
<< "Failed to load " << file_name.MaybeAsASCII();
|
||||
{
|
||||
// Check that the database file contains the right version.
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
EXPECT_EQ(i, VersionFromConnection(&connection)) << "For version " << i;
|
||||
}
|
||||
@ -213,7 +214,7 @@ TEST_F(WebDatabaseMigrationTest, VersionXxSqlFilesAreGolden) {
|
||||
DoMigration();
|
||||
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(db_path));
|
||||
EXPECT_EQ(NormalizeSchemaForComparison(expected_schema),
|
||||
NormalizeSchemaForComparison(connection.GetSchema()))
|
||||
@ -230,7 +231,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateEmptyToCurrent) {
|
||||
// Verify post-conditions. These are expectations for current version of the
|
||||
// database.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
|
||||
// Check version.
|
||||
@ -262,7 +263,7 @@ TEST_F(WebDatabaseMigrationTest, RazeDeprecatedVersionAndReinit) {
|
||||
// Verify pre-conditions. These are expectations for version 82 of the
|
||||
// database.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -277,7 +278,7 @@ TEST_F(WebDatabaseMigrationTest, RazeDeprecatedVersionAndReinit) {
|
||||
// Check post-conditions of version 104. This ensures that the migration has
|
||||
// happened.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -297,7 +298,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion83ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -316,7 +317,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion83ToCurrent) {
|
||||
|
||||
// Verify post-conditions.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -341,7 +342,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion84ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -356,7 +357,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion84ToCurrent) {
|
||||
|
||||
// Verify post-conditions.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -376,7 +377,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion86ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -390,7 +391,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion86ToCurrent) {
|
||||
|
||||
// Verify post-conditions.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -413,7 +414,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion88ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -428,7 +429,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion88ToCurrent) {
|
||||
|
||||
// Verify post-conditions.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -448,7 +449,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion93ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -466,7 +467,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion93ToCurrent) {
|
||||
|
||||
// Verify post-conditions.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -490,7 +491,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion94ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -507,7 +508,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion94ToCurrent) {
|
||||
|
||||
// Verify post-conditions.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -534,7 +535,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion96ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -548,7 +549,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion96ToCurrent) {
|
||||
|
||||
// Verify post-conditions.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -565,7 +566,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion97ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -580,7 +581,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion97ToCurrent) {
|
||||
|
||||
// Verify post-conditions.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -598,7 +599,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion98ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -613,7 +614,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion98ToCurrent) {
|
||||
|
||||
// Verify post-conditions.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -634,7 +635,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion100ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -649,7 +650,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion100ToCurrent) {
|
||||
|
||||
// Verify post-conditions.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -671,7 +672,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion102ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -685,7 +686,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion102ToCurrent) {
|
||||
|
||||
// Verify post-conditions.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -703,7 +704,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion103ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -718,7 +719,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion103ToCurrent) {
|
||||
|
||||
// Verify post-conditions.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -738,7 +739,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion104ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -756,7 +757,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion104ToCurrent) {
|
||||
|
||||
// Verify post-conditions.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -775,7 +776,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion105ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -797,7 +798,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion105ToCurrent) {
|
||||
|
||||
// Verify post-conditions.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -824,7 +825,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion107ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -839,7 +840,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion107ToCurrent) {
|
||||
|
||||
// Verify post-conditions.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -859,7 +860,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion108ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -874,7 +875,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion108ToCurrent) {
|
||||
|
||||
// Verify post-conditions.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -896,7 +897,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion108ToCurrent) {
|
||||
TEST_F(WebDatabaseMigrationTest, MigrateVersion110ToCurrent) {
|
||||
ASSERT_NO_FATAL_FAILURE(LoadDatabase(FILE_PATH_LITERAL("version_110.sql")));
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -906,7 +907,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion110ToCurrent) {
|
||||
}
|
||||
DoMigration();
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -921,7 +922,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion110ToCurrent) {
|
||||
TEST_F(WebDatabaseMigrationTest, MigrateVersion111ToCurrent) {
|
||||
ASSERT_NO_FATAL_FAILURE(LoadDatabase(FILE_PATH_LITERAL("version_111.sql")));
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -930,7 +931,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion111ToCurrent) {
|
||||
}
|
||||
DoMigration();
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -948,7 +949,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion111ToCurrent) {
|
||||
TEST_F(WebDatabaseMigrationTest, MigrateVersion114ToCurrent) {
|
||||
ASSERT_NO_FATAL_FAILURE(LoadDatabase(FILE_PATH_LITERAL("version_114.sql")));
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -957,7 +958,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion114ToCurrent) {
|
||||
}
|
||||
DoMigration();
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -974,7 +975,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion115ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -990,7 +991,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion115ToCurrent) {
|
||||
|
||||
// Verify post-conditions.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -1012,7 +1013,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion115ToCurrent) {
|
||||
TEST_F(WebDatabaseMigrationTest, MigrateVersion117ToCurrent) {
|
||||
ASSERT_NO_FATAL_FAILURE(LoadDatabase(FILE_PATH_LITERAL("version_117.sql")));
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -1021,7 +1022,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion117ToCurrent) {
|
||||
}
|
||||
DoMigration();
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -1038,7 +1039,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion118ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
EXPECT_EQ(118, VersionFromConnection(&connection));
|
||||
@ -1053,7 +1054,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion118ToCurrent) {
|
||||
|
||||
// Verify post-conditions.
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -1074,7 +1075,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion118ToCurrent) {
|
||||
TEST_F(WebDatabaseMigrationTest, MigrateVersion120ToCurrent) {
|
||||
ASSERT_NO_FATAL_FAILURE(LoadDatabase(FILE_PATH_LITERAL("version_120.sql")));
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -1084,7 +1085,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion120ToCurrent) {
|
||||
}
|
||||
DoMigration();
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -1099,7 +1100,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion120ToCurrent) {
|
||||
TEST_F(WebDatabaseMigrationTest, MigrateVersion121ToCurrent) {
|
||||
ASSERT_NO_FATAL_FAILURE(LoadDatabase(FILE_PATH_LITERAL("version_121.sql")));
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -1108,7 +1109,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion121ToCurrent) {
|
||||
}
|
||||
DoMigration();
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -1124,7 +1125,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion121ToCurrent) {
|
||||
TEST_F(WebDatabaseMigrationTest, MigrateVersion122ToCurrent) {
|
||||
ASSERT_NO_FATAL_FAILURE(LoadDatabase(FILE_PATH_LITERAL("version_122.sql")));
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -1137,7 +1138,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion122ToCurrent) {
|
||||
}
|
||||
DoMigration();
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -1175,7 +1176,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion122ToCurrent) {
|
||||
TEST_F(WebDatabaseMigrationTest, MigrateVersion123ToCurrent) {
|
||||
ASSERT_NO_FATAL_FAILURE(LoadDatabase(FILE_PATH_LITERAL("version_123.sql")));
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -1192,7 +1193,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion123ToCurrent) {
|
||||
}
|
||||
DoMigration();
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -1213,7 +1214,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion123ToCurrent) {
|
||||
TEST_F(WebDatabaseMigrationTest, MigrateVersion124ToCurrent) {
|
||||
ASSERT_NO_FATAL_FAILURE(LoadDatabase(FILE_PATH_LITERAL("version_124.sql")));
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -1224,7 +1225,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion124ToCurrent) {
|
||||
}
|
||||
DoMigration();
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
||||
|
||||
@ -1239,14 +1240,14 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion124ToCurrent) {
|
||||
TEST_F(WebDatabaseMigrationTest, MigrateVersion125ToCurrent) {
|
||||
ASSERT_NO_FATAL_FAILURE(LoadDatabase(FILE_PATH_LITERAL("version_125.sql")));
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
EXPECT_EQ(125, VersionFromConnection(&connection));
|
||||
EXPECT_FALSE(connection.DoesTableExist("plus_addresses"));
|
||||
}
|
||||
DoMigration();
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
EXPECT_EQ(WebDatabase::kCurrentVersionNumber,
|
||||
VersionFromConnection(&connection));
|
||||
@ -1257,7 +1258,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion125ToCurrent) {
|
||||
TEST_F(WebDatabaseMigrationTest, MigrateVersion126ToCurrent) {
|
||||
ASSERT_NO_FATAL_FAILURE(LoadDatabase(FILE_PATH_LITERAL("version_126.sql")));
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
EXPECT_EQ(126, VersionFromConnection(&connection));
|
||||
EXPECT_FALSE(connection.DoesColumnExist("plus_addresses", "profile_id"));
|
||||
@ -1268,7 +1269,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion126ToCurrent) {
|
||||
}
|
||||
DoMigration();
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
EXPECT_EQ(WebDatabase::kCurrentVersionNumber,
|
||||
VersionFromConnection(&connection));
|
||||
@ -1284,7 +1285,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion126ToCurrent) {
|
||||
TEST_F(WebDatabaseMigrationTest, MigrateVersion127ToCurrent) {
|
||||
ASSERT_NO_FATAL_FAILURE(LoadDatabase(FILE_PATH_LITERAL("version_127.sql")));
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
EXPECT_EQ(127, VersionFromConnection(&connection));
|
||||
EXPECT_NE(
|
||||
@ -1294,7 +1295,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion127ToCurrent) {
|
||||
}
|
||||
DoMigration();
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
EXPECT_EQ(WebDatabase::kCurrentVersionNumber,
|
||||
VersionFromConnection(&connection));
|
||||
@ -1308,14 +1309,14 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion127ToCurrent) {
|
||||
TEST_F(WebDatabaseMigrationTest, MigrateVersion128ToCurrent) {
|
||||
ASSERT_NO_FATAL_FAILURE(LoadDatabase(FILE_PATH_LITERAL("version_128.sql")));
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
EXPECT_EQ(128, VersionFromConnection(&connection));
|
||||
EXPECT_FALSE(connection.DoesTableExist("generic_payment_instruments"));
|
||||
}
|
||||
DoMigration();
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
EXPECT_EQ(WebDatabase::kCurrentVersionNumber,
|
||||
VersionFromConnection(&connection));
|
||||
@ -1326,14 +1327,14 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion128ToCurrent) {
|
||||
TEST_F(WebDatabaseMigrationTest, MigrateVersion129ToCurrent) {
|
||||
ASSERT_NO_FATAL_FAILURE(LoadDatabase(FILE_PATH_LITERAL("version_129.sql")));
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
EXPECT_EQ(129, VersionFromConnection(&connection));
|
||||
EXPECT_FALSE(connection.DoesColumnExist("token_service", "binding_key"));
|
||||
}
|
||||
DoMigration();
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
EXPECT_EQ(WebDatabase::kCurrentVersionNumber,
|
||||
VersionFromConnection(&connection));
|
||||
@ -1344,7 +1345,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion129ToCurrent) {
|
||||
TEST_F(WebDatabaseMigrationTest, MigrateVersion130ToCurrent) {
|
||||
ASSERT_NO_FATAL_FAILURE(LoadDatabase(FILE_PATH_LITERAL("version_130.sql")));
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
EXPECT_EQ(130, VersionFromConnection(&connection));
|
||||
EXPECT_TRUE(connection.DoesColumnExist("generic_payment_instruments",
|
||||
@ -1352,7 +1353,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion130ToCurrent) {
|
||||
}
|
||||
DoMigration();
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
EXPECT_EQ(WebDatabase::kCurrentVersionNumber,
|
||||
VersionFromConnection(&connection));
|
||||
@ -1368,14 +1369,14 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion130ToCurrent) {
|
||||
TEST_F(WebDatabaseMigrationTest, MigrateVersion132ToCurrent) {
|
||||
ASSERT_NO_FATAL_FAILURE(LoadDatabase(FILE_PATH_LITERAL("version_132.sql")));
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
EXPECT_EQ(132, VersionFromConnection(&connection));
|
||||
EXPECT_TRUE(connection.DoesColumnExist("masked_ibans", "length"));
|
||||
}
|
||||
DoMigration();
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
EXPECT_EQ(WebDatabase::kCurrentVersionNumber,
|
||||
VersionFromConnection(&connection));
|
||||
@ -1389,7 +1390,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion132ToCurrent) {
|
||||
TEST_F(WebDatabaseMigrationTest, MigrateVersion133ToCurrent) {
|
||||
ASSERT_NO_FATAL_FAILURE(LoadDatabase(FILE_PATH_LITERAL("version_133.sql")));
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
EXPECT_EQ(133, VersionFromConnection(&connection));
|
||||
EXPECT_TRUE(connection.DoesTableExist("contact_info"));
|
||||
@ -1414,7 +1415,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion133ToCurrent) {
|
||||
}
|
||||
DoMigration();
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
EXPECT_EQ(WebDatabase::kCurrentVersionNumber,
|
||||
VersionFromConnection(&connection));
|
||||
@ -1464,7 +1465,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion133ToCurrent) {
|
||||
TEST_F(WebDatabaseMigrationTest, MigrateVersion134ToCurrent) {
|
||||
ASSERT_NO_FATAL_FAILURE(LoadDatabase(FILE_PATH_LITERAL("version_134.sql")));
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
EXPECT_EQ(134, VersionFromConnection(&connection));
|
||||
EXPECT_FALSE(connection.DoesColumnExist(
|
||||
@ -1472,7 +1473,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion134ToCurrent) {
|
||||
}
|
||||
DoMigration();
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
EXPECT_EQ(WebDatabase::kCurrentVersionNumber,
|
||||
VersionFromConnection(&connection));
|
||||
@ -1486,7 +1487,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion134ToCurrent) {
|
||||
TEST_F(WebDatabaseMigrationTest, MigrateVersion135ToCurrent) {
|
||||
ASSERT_NO_FATAL_FAILURE(LoadDatabase(FILE_PATH_LITERAL("version_135.sql")));
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
EXPECT_EQ(135, VersionFromConnection(&connection));
|
||||
EXPECT_FALSE(
|
||||
@ -1494,7 +1495,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion135ToCurrent) {
|
||||
}
|
||||
DoMigration();
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
EXPECT_EQ(WebDatabase::kCurrentVersionNumber,
|
||||
VersionFromConnection(&connection));
|
||||
@ -1528,7 +1529,7 @@ TEST_P(WebDatabaseMigrationTestEncryption, MigrateVersion136ToCurrent) {
|
||||
const char kTestUrl[] = "chrome://test/?q={searchTerms}";
|
||||
const TemplateURLID kTestId = 1;
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
EXPECT_EQ(136, VersionFromConnection(&connection));
|
||||
EXPECT_FALSE(connection.DoesColumnExist("keywords", "url_hash"));
|
||||
@ -1546,7 +1547,7 @@ TEST_P(WebDatabaseMigrationTestEncryption, MigrateVersion136ToCurrent) {
|
||||
true, 1);
|
||||
}
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
||||
EXPECT_EQ(WebDatabase::kCurrentVersionNumber,
|
||||
VersionFromConnection(&connection));
|
||||
|
@ -211,7 +211,7 @@ TEST_F(AggregationServiceStorageSqlTest,
|
||||
base::ThreadTicks::IsSupported() ? 1 : 0);
|
||||
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(raw_db.Open(db_path()));
|
||||
|
||||
// [urls], [keys], [report_requests], [meta], [sqlite_sequence] (for
|
||||
@ -478,7 +478,7 @@ TEST_F(AggregationServiceStorageSqlTest, VersionTooNew_RazesDB) {
|
||||
CloseDatabase();
|
||||
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(raw_db.Open(db_path()));
|
||||
|
||||
sql::MetaTable meta;
|
||||
@ -1451,7 +1451,7 @@ class AggregationServiceStorageSqlMigrationsTest
|
||||
std::string contents = GetDatabaseData(version_id);
|
||||
ASSERT_FALSE(contents.empty());
|
||||
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
// Use `db_path()` if none is specified.
|
||||
ASSERT_TRUE(db.Open(db_path ? *db_path : this->db_path()));
|
||||
ASSERT_TRUE(db.Execute(contents));
|
||||
@ -1462,7 +1462,7 @@ class AggregationServiceStorageSqlMigrationsTest
|
||||
FILE_PATH_LITERAL("TestCurrentVersion.db"));
|
||||
LoadDatabase(AggregationServiceStorageSql::kCurrentVersionNumber,
|
||||
¤t_version_path);
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(current_version_path));
|
||||
return db.GetSchema();
|
||||
}
|
||||
@ -1507,7 +1507,7 @@ TEST_F(AggregationServiceStorageSqlMigrationsTest, MigrateEmptyToCurrent) {
|
||||
|
||||
// Verify schema is current.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(db_path()));
|
||||
|
||||
EXPECT_EQ(VersionFromDatabase(&db),
|
||||
@ -1537,7 +1537,7 @@ TEST_F(AggregationServiceStorageSqlMigrationsTest, MigrateVersion1ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(db_path()));
|
||||
ASSERT_FALSE(db.DoesTableExist("report_requests"));
|
||||
|
||||
@ -1552,7 +1552,7 @@ TEST_F(AggregationServiceStorageSqlMigrationsTest, MigrateVersion1ToCurrent) {
|
||||
|
||||
// Verify schema is current.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(db_path()));
|
||||
|
||||
EXPECT_EQ(VersionFromDatabase(&db),
|
||||
@ -1582,7 +1582,7 @@ TEST_F(AggregationServiceStorageSqlMigrationsTest, MigrateVersion2ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(db_path()));
|
||||
ASSERT_TRUE(db.DoesTableExist("report_requests"));
|
||||
ASSERT_FALSE(db.DoesIndexExist("reporting_origin_idx"));
|
||||
@ -1599,7 +1599,7 @@ TEST_F(AggregationServiceStorageSqlMigrationsTest, MigrateVersion2ToCurrent) {
|
||||
|
||||
// Verify schema is current.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(db_path()));
|
||||
|
||||
EXPECT_EQ(VersionFromDatabase(&db),
|
||||
|
@ -22,6 +22,7 @@
|
||||
#include "sql/database.h"
|
||||
#include "sql/statement.h"
|
||||
#include "sql/statement_id.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
#include "testing/gmock/include/gmock/gmock.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
#include "third_party/blink/public/common/storage_key/storage_key.h"
|
||||
@ -99,7 +100,7 @@ class AggregatableDebugRateLimitTableTest : public testing::Test {
|
||||
base::test::SingleThreadTaskEnvironment task_environment_{
|
||||
base::test::TaskEnvironment::TimeSource::MOCK_TIME};
|
||||
|
||||
sql::Database db_;
|
||||
sql::Database db_{sql::test::kTestTag};
|
||||
ConfigurableStorageDelegate delegate_;
|
||||
AggregatableDebugRateLimitTable table_{&delegate_};
|
||||
};
|
||||
|
@ -86,7 +86,7 @@ class AttributionStorageSqlMigrationsTest : public testing::Test {
|
||||
LoadDatabase(
|
||||
GetVersionFilePath(AttributionStorageSql::kCurrentVersionNumber),
|
||||
current_version_path);
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(current_version_path));
|
||||
return db.GetSchema();
|
||||
}
|
||||
@ -127,7 +127,7 @@ class AttributionStorageSqlMigrationsTest : public testing::Test {
|
||||
std::string contents;
|
||||
ASSERT_TRUE(GetDatabaseData(file, &contents));
|
||||
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(db_path));
|
||||
ASSERT_TRUE(db.Execute(contents));
|
||||
}
|
||||
@ -150,7 +150,7 @@ TEST_F(AttributionStorageSqlMigrationsTest, MigrateEmptyToCurrent) {
|
||||
|
||||
// Verify schema is current.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(DbPath()));
|
||||
|
||||
CheckVersionNumbers(&db);
|
||||
@ -176,7 +176,7 @@ TEST_F(AttributionStorageSqlMigrationsTest, MigrateLatestDeprecatedToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(DbPath()));
|
||||
|
||||
sql::Statement s(db.GetUniqueStatement("SELECT COUNT(*) FROM rate_limits"));
|
||||
@ -189,7 +189,7 @@ TEST_F(AttributionStorageSqlMigrationsTest, MigrateLatestDeprecatedToCurrent) {
|
||||
|
||||
// Verify schema is current.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(DbPath()));
|
||||
|
||||
CheckVersionNumbers(&db);
|
||||
@ -215,7 +215,7 @@ TEST_F(AttributionStorageSqlMigrationsTest, MigrateVersion54ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(DbPath()));
|
||||
|
||||
sql::Statement s(
|
||||
@ -227,7 +227,7 @@ TEST_F(AttributionStorageSqlMigrationsTest, MigrateVersion54ToCurrent) {
|
||||
|
||||
// Verify schema is current.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(DbPath()));
|
||||
|
||||
CheckVersionNumbers(&db);
|
||||
@ -260,7 +260,7 @@ TEST_F(AttributionStorageSqlMigrationsTest, MigrateVersion55ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(DbPath()));
|
||||
ASSERT_FALSE(db.DoesColumnExist("sources", "read_only_source_data"));
|
||||
}
|
||||
@ -268,7 +268,7 @@ TEST_F(AttributionStorageSqlMigrationsTest, MigrateVersion55ToCurrent) {
|
||||
|
||||
// Verify schema is current.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(DbPath()));
|
||||
|
||||
CheckVersionNumbers(&db);
|
||||
@ -306,7 +306,7 @@ TEST_F(AttributionStorageSqlMigrationsTest, MigrateVersion56ToCurrent) {
|
||||
|
||||
{
|
||||
// Verify pre-conditions.
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(DbPath()));
|
||||
}
|
||||
{
|
||||
@ -324,7 +324,7 @@ TEST_F(AttributionStorageSqlMigrationsTest, MigrateVersion56ToCurrent) {
|
||||
|
||||
// Verify schema is current.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(DbPath()));
|
||||
|
||||
CheckVersionNumbers(&db);
|
||||
@ -362,7 +362,7 @@ TEST_F(AttributionStorageSqlMigrationsTest, MigrateVersion58ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(DbPath()));
|
||||
|
||||
sql::Statement s(db.GetUniqueStatement(
|
||||
@ -379,7 +379,7 @@ TEST_F(AttributionStorageSqlMigrationsTest, MigrateVersion58ToCurrent) {
|
||||
|
||||
// Verify schema is current.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(DbPath()));
|
||||
|
||||
CheckVersionNumbers(&db);
|
||||
@ -418,7 +418,7 @@ TEST_F(AttributionStorageSqlMigrationsTest, MigrateVersion59ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(DbPath()));
|
||||
|
||||
sql::Statement s(
|
||||
@ -433,7 +433,7 @@ TEST_F(AttributionStorageSqlMigrationsTest, MigrateVersion59ToCurrent) {
|
||||
|
||||
// Verify schema is current.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(DbPath()));
|
||||
|
||||
CheckVersionNumbers(&db);
|
||||
@ -463,7 +463,7 @@ TEST_F(AttributionStorageSqlMigrationsTest, MigrateVersion60ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(DbPath()));
|
||||
ASSERT_FALSE(
|
||||
db.DoesColumnExist("sources", "remaining_aggregatable_debug_budget"));
|
||||
@ -474,7 +474,7 @@ TEST_F(AttributionStorageSqlMigrationsTest, MigrateVersion60ToCurrent) {
|
||||
|
||||
// Verify schema is current.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(DbPath()));
|
||||
|
||||
CheckVersionNumbers(&db);
|
||||
@ -504,7 +504,7 @@ TEST_F(AttributionStorageSqlMigrationsTest, MigrateVersion61ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(DbPath()));
|
||||
ASSERT_FALSE(db.DoesTableExist("aggregatable_debug_rate_limits"));
|
||||
}
|
||||
@ -512,7 +512,7 @@ TEST_F(AttributionStorageSqlMigrationsTest, MigrateVersion61ToCurrent) {
|
||||
|
||||
// Verify schema is current.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(DbPath()));
|
||||
|
||||
CheckVersionNumbers(&db);
|
||||
@ -540,7 +540,7 @@ TEST_F(AttributionStorageSqlMigrationsTest, MigrateVersion62ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(DbPath()));
|
||||
ASSERT_FALSE(db.DoesColumnExist(
|
||||
"rate_limits", "deactivated_for_source_destination_limit"));
|
||||
@ -551,7 +551,7 @@ TEST_F(AttributionStorageSqlMigrationsTest, MigrateVersion62ToCurrent) {
|
||||
|
||||
// Verify schema is current.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(DbPath()));
|
||||
|
||||
CheckVersionNumbers(&db);
|
||||
@ -581,7 +581,7 @@ TEST_F(AttributionStorageSqlMigrationsTest, MigrateVersion63ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(DbPath()));
|
||||
ASSERT_FALSE(db.DoesColumnExist("sources", "attribution_scopes_data"));
|
||||
}
|
||||
@ -589,7 +589,7 @@ TEST_F(AttributionStorageSqlMigrationsTest, MigrateVersion63ToCurrent) {
|
||||
|
||||
// Verify schema is current.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(DbPath()));
|
||||
|
||||
CheckVersionNumbers(&db);
|
||||
@ -615,7 +615,7 @@ TEST_F(AttributionStorageSqlMigrationsTest, MigrateVersion64ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(DbPath()));
|
||||
ASSERT_FALSE(db.DoesIndexExist(
|
||||
"rate_limit_attribution_destination_reporting_site_idx"));
|
||||
@ -624,7 +624,7 @@ TEST_F(AttributionStorageSqlMigrationsTest, MigrateVersion64ToCurrent) {
|
||||
|
||||
// Verify schema is current.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(DbPath()));
|
||||
|
||||
CheckVersionNumbers(&db);
|
||||
@ -647,7 +647,7 @@ TEST_F(AttributionStorageSqlMigrationsTest, MigrateVersion65ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(DbPath()));
|
||||
ASSERT_FALSE(db.DoesColumnExist("sources", "aggregatable_named_budgets"));
|
||||
}
|
||||
@ -655,7 +655,7 @@ TEST_F(AttributionStorageSqlMigrationsTest, MigrateVersion65ToCurrent) {
|
||||
|
||||
// Verify schema is current.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(DbPath()));
|
||||
|
||||
CheckVersionNumbers(&db);
|
||||
@ -682,7 +682,7 @@ TEST_F(AttributionStorageSqlMigrationsTest, MigrateVersion66ToCurrent) {
|
||||
// Test Setup. This is done here to avoid corrupted fields within the inserted
|
||||
// report, which would result in being deleted otherwise.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(DbPath()));
|
||||
|
||||
sql::Statement insert_source(db.GetUniqueStatement(
|
||||
@ -717,7 +717,7 @@ TEST_F(AttributionStorageSqlMigrationsTest, MigrateVersion66ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(DbPath()));
|
||||
sql::Statement s(
|
||||
db.GetUniqueStatement("SELECT context_origin FROM reports"));
|
||||
@ -728,7 +728,7 @@ TEST_F(AttributionStorageSqlMigrationsTest, MigrateVersion66ToCurrent) {
|
||||
|
||||
// Verify schema is current.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(DbPath()));
|
||||
|
||||
CheckVersionNumbers(&db);
|
||||
|
@ -302,7 +302,7 @@ class AttributionStorageSqlTest : public testing::Test {
|
||||
}
|
||||
|
||||
void ExpectAllTablesEmpty() {
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(raw_db.Open(db_path()));
|
||||
|
||||
static constexpr const char* kTables[] = {
|
||||
@ -326,7 +326,7 @@ class AttributionStorageSqlTest : public testing::Test {
|
||||
ConfigurableStorageDelegate* delegate() { return delegate_; }
|
||||
|
||||
void ExpectImpressionRows(size_t expected) {
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(raw_db.Open(db_path()));
|
||||
size_t rows;
|
||||
sql::test::CountTableRows(&raw_db, "sources", &rows);
|
||||
@ -339,7 +339,7 @@ class AttributionStorageSqlTest : public testing::Test {
|
||||
}
|
||||
|
||||
void StoreAttributionSource(const AttributionSourceRecord& record) {
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(raw_db.Open(db_path()));
|
||||
|
||||
static constexpr char kStoreSourceSql[] =
|
||||
@ -383,7 +383,7 @@ class AttributionStorageSqlTest : public testing::Test {
|
||||
}
|
||||
|
||||
void StoreAttributionReport(const AttributionReportRecord& record) {
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(raw_db.Open(db_path()));
|
||||
|
||||
static constexpr char kStoreReportSql[] =
|
||||
@ -495,7 +495,7 @@ TEST_F(AttributionStorageSqlTest, VersionTooNew_RazesDB) {
|
||||
CloseDatabase();
|
||||
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(raw_db.Open(db_path()));
|
||||
|
||||
sql::MetaTable meta;
|
||||
@ -754,7 +754,7 @@ TEST_F(AttributionStorageSqlTest, ClearData_KeepRateLimitData) {
|
||||
|
||||
CloseDatabase();
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(raw_db.Open(db_path()));
|
||||
size_t impression_rows;
|
||||
sql::test::CountTableRows(&raw_db, "sources", &impression_rows);
|
||||
@ -772,7 +772,7 @@ TEST_F(AttributionStorageSqlTest, ClearData_KeepRateLimitData) {
|
||||
CloseDatabase();
|
||||
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(raw_db.Open(db_path()));
|
||||
size_t impression_rows;
|
||||
sql::test::CountTableRows(&raw_db, "sources", &impression_rows);
|
||||
@ -808,7 +808,7 @@ TEST_F(AttributionStorageSqlTest, DeleteAttributionDataByDataKey) {
|
||||
|
||||
CloseDatabase();
|
||||
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(raw_db.Open(db_path()));
|
||||
{
|
||||
sql::Statement s(raw_db.GetUniqueStatement("SELECT * FROM reports"));
|
||||
@ -830,7 +830,7 @@ TEST_F(AttributionStorageSqlTest, MaxSourcesPerOrigin) {
|
||||
MaybeCreateAndStoreEventLevelReport(DefaultTrigger()));
|
||||
|
||||
CloseDatabase();
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(raw_db.Open(db_path()));
|
||||
size_t impression_rows;
|
||||
sql::test::CountTableRows(&raw_db, "sources", &impression_rows);
|
||||
@ -854,7 +854,7 @@ TEST_F(AttributionStorageSqlTest, MaxReportsPerDestination) {
|
||||
MaybeCreateAndStoreEventLevelReport(DefaultTrigger()));
|
||||
|
||||
CloseDatabase();
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(raw_db.Open(db_path()));
|
||||
size_t conversion_rows;
|
||||
sql::test::CountTableRows(&raw_db, "reports", &conversion_rows);
|
||||
@ -1110,7 +1110,7 @@ TEST_F(AttributionStorageSqlTest, NegativeTriggerMoment_HistogramRecorded) {
|
||||
CloseDatabase();
|
||||
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(raw_db.Open(db_path()));
|
||||
|
||||
sql::Statement statement(raw_db.GetUniqueStatement(sql));
|
||||
@ -1236,7 +1236,7 @@ TEST_F(AttributionStorageSqlTest,
|
||||
CloseDatabase();
|
||||
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(raw_db.Open(db_path())) << test_case.sql;
|
||||
|
||||
sql::Statement statement(raw_db.GetUniqueStatement(test_case.sql));
|
||||
@ -1287,7 +1287,7 @@ TEST_F(AttributionStorageSqlTest, DeserializeFilterData_RemovesReservedKeys) {
|
||||
}
|
||||
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(raw_db.Open(db_path()));
|
||||
|
||||
static constexpr char kUpdateSql[] = "UPDATE sources SET filter_data=?";
|
||||
@ -1337,7 +1337,7 @@ TEST_F(AttributionStorageSqlTest, ReportTablesStoreDestinationOrigin) {
|
||||
|
||||
CloseDatabase();
|
||||
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(raw_db.Open(db_path()));
|
||||
|
||||
{
|
||||
@ -1365,7 +1365,7 @@ TEST_F(AttributionStorageSqlTest, FakeReportUsesSourceOriginAsContext) {
|
||||
|
||||
CloseDatabase();
|
||||
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(raw_db.Open(db_path()));
|
||||
|
||||
{
|
||||
@ -1417,7 +1417,7 @@ TEST_F(AttributionStorageSqlTest,
|
||||
CloseDatabase();
|
||||
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(raw_db.Open(db_path()))
|
||||
<< update_sql << "," << test_case.time_from_source;
|
||||
|
||||
@ -1446,7 +1446,7 @@ TEST_F(AttributionStorageSqlTest, EpsilonNotStored_RecalculatedWhenHandled) {
|
||||
}
|
||||
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(raw_db.Open(db_path()));
|
||||
|
||||
static constexpr char kGetSql[] =
|
||||
@ -1499,7 +1499,7 @@ TEST_F(AttributionStorageSqlTest,
|
||||
}
|
||||
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(raw_db.Open(db_path()));
|
||||
|
||||
static constexpr char kGetSql[] =
|
||||
@ -2490,7 +2490,7 @@ TEST_F(AttributionStorageSqlTest, SourceRemainingAggregatableBudget) {
|
||||
CloseDatabase();
|
||||
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(raw_db.Open(db_path()));
|
||||
|
||||
sql::Statement update_statement(raw_db.GetUniqueStatement(kUpdateSql));
|
||||
@ -2572,7 +2572,7 @@ TEST_F(AttributionStorageSqlTest,
|
||||
CloseDatabase();
|
||||
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(raw_db.Open(db_path()));
|
||||
|
||||
sql::Statement read_statement(raw_db.GetUniqueStatement(kReadSql));
|
||||
|
@ -33,6 +33,7 @@
|
||||
#include "net/base/schemeful_site.h"
|
||||
#include "sql/database.h"
|
||||
#include "sql/statement.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
#include "third_party/blink/public/common/storage_key/storage_key.h"
|
||||
|
||||
@ -286,7 +287,7 @@ class RateLimitTableTest : public testing::Test {
|
||||
base::test::SingleThreadTaskEnvironment task_environment_{
|
||||
base::test::TaskEnvironment::TimeSource::MOCK_TIME};
|
||||
|
||||
sql::Database db_;
|
||||
sql::Database db_{sql::test::kTestTag};
|
||||
ConfigurableStorageDelegate delegate_;
|
||||
RateLimitTable table_{&delegate_};
|
||||
};
|
||||
|
@ -120,7 +120,7 @@ TEST_F(BrowsingTopicsSiteDataStorageTest,
|
||||
|
||||
EXPECT_TRUE(base::PathExists(DbPath()));
|
||||
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(DbPath()));
|
||||
|
||||
// [browsing_topics_api_usages],
|
||||
@ -161,7 +161,7 @@ TEST_F(BrowsingTopicsSiteDataStorageTest, LoadFromFile_CurrentVersion_Success) {
|
||||
/*begin_time=*/base::Time(), /*end_time=*/base::Time());
|
||||
CloseDatabase();
|
||||
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(DbPath()));
|
||||
EXPECT_EQ(3u, sql::test::CountSQLTables(&db));
|
||||
EXPECT_EQ(1, VersionFromMetaTable(db));
|
||||
@ -189,7 +189,7 @@ TEST_F(BrowsingTopicsSiteDataStorageTest,
|
||||
/*begin_time=*/base::Time(), /*end_time=*/base::Time());
|
||||
CloseDatabase();
|
||||
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(DbPath()));
|
||||
EXPECT_EQ(3u, sql::test::CountSQLTables(&db));
|
||||
EXPECT_EQ(1, VersionFromMetaTable(db));
|
||||
@ -216,7 +216,7 @@ TEST_F(BrowsingTopicsSiteDataStorageTest, LoadFromFile_VersionTooOld_Failure) {
|
||||
|
||||
// Expect that the initialization was unsuccessful. The original database was
|
||||
// unaffected.
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(DbPath()));
|
||||
EXPECT_EQ(2u, sql::test::CountSQLTables(&db));
|
||||
EXPECT_EQ(0, VersionFromMetaTable(db));
|
||||
@ -240,7 +240,7 @@ TEST_F(BrowsingTopicsSiteDataStorageTest, LoadFromFile_VersionTooNew_Failure) {
|
||||
|
||||
// Expect that the initialization was successful. The original database was
|
||||
// razed and re-initialized.
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(DbPath()));
|
||||
EXPECT_EQ(3u, sql::test::CountSQLTables(&db));
|
||||
EXPECT_EQ(1, VersionFromMetaTable(db));
|
||||
@ -258,7 +258,7 @@ TEST_F(BrowsingTopicsSiteDataStorageTest, OnBrowsingTopicsApiUsed_SingleEntry) {
|
||||
/*context_domain=*/"456.com", base::Time::Now());
|
||||
CloseDatabase();
|
||||
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(DbPath()));
|
||||
EXPECT_EQ(1u, CountApiUsagesEntries(db));
|
||||
EXPECT_EQ(1u, CountContextDomainsEntries(db));
|
||||
@ -321,7 +321,7 @@ TEST_F(BrowsingTopicsSiteDataStorageTest,
|
||||
/*context_domain=*/"789.com", base::Time::Now());
|
||||
CloseDatabase();
|
||||
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(DbPath()));
|
||||
EXPECT_EQ(4u, CountApiUsagesEntries(db));
|
||||
// 789 should not be a duplicate entry in the context domains table.
|
||||
@ -514,7 +514,7 @@ TEST_F(BrowsingTopicsSiteDataStorageTest, ExpireDataBefore) {
|
||||
topics_storage()->ExpireDataBefore(base::Time::Now() - base::Seconds(1));
|
||||
CloseDatabase();
|
||||
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(DbPath()));
|
||||
EXPECT_EQ(1u, CountApiUsagesEntries(db));
|
||||
EXPECT_EQ(1u, CountContextDomainsEntries(db));
|
||||
@ -579,7 +579,7 @@ TEST_F(BrowsingTopicsSiteDataStorageTest,
|
||||
topics_storage()->ExpireDataBefore(base::Time::Now() - base::Seconds(1));
|
||||
CloseDatabase();
|
||||
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(DbPath()));
|
||||
EXPECT_EQ(2u, CountApiUsagesEntries(db));
|
||||
EXPECT_EQ(2u, CountContextDomainsEntries(db));
|
||||
@ -661,7 +661,7 @@ TEST_F(BrowsingTopicsSiteDataStorageTest, ClearContextDomain) {
|
||||
topics_storage()->ClearContextDomain(browsing_topics::HashedDomain(123));
|
||||
CloseDatabase();
|
||||
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(DbPath()));
|
||||
EXPECT_EQ(1u, CountApiUsagesEntries(db));
|
||||
|
||||
@ -746,7 +746,7 @@ TEST_F(BrowsingTopicsSiteDataStorageMaxEntriesToLoadTest, MaxEntriesToLoad) {
|
||||
EXPECT_EQ(result.api_usage_contexts[0].time,
|
||||
base::Time::Now() - base::Seconds(1));
|
||||
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(DbPath()));
|
||||
EXPECT_EQ(2u, CountApiUsagesEntries(db));
|
||||
EXPECT_EQ(2u, CountContextDomainsEntries(db));
|
||||
|
@ -166,7 +166,7 @@ TEST_F(FirstPartySetsDatabaseTest, CreateDB_TablesAndIndexesLazilyInitialized) {
|
||||
CloseDatabase();
|
||||
|
||||
// Create a db handle to the existing db file to verify schemas.
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(db_path()));
|
||||
// [public_sets], [browser_context_sets_version], [policy_configurations],
|
||||
// [manual_configurations], [browser_context_sites_to_clear],
|
||||
@ -206,7 +206,7 @@ TEST_F(FirstPartySetsDatabaseTest, LoadDBFile_CurrentVersion_Success) {
|
||||
EXPECT_TRUE(db()->InsertSitesToClear("b", {}));
|
||||
CloseDatabase();
|
||||
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(db_path()));
|
||||
EXPECT_EQ(kTableCount, sql::test::CountSQLTables(&db));
|
||||
EXPECT_EQ(2u, CountPublicSetsEntries(&db));
|
||||
@ -235,7 +235,7 @@ TEST_F(FirstPartySetsDatabaseTest, LoadDBFile_RecreateOnTooOld) {
|
||||
|
||||
// Expect that the original database was razed and the initialization is
|
||||
// successful with newly inserted data.
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(db_path()));
|
||||
EXPECT_EQ(kTableCount, sql::test::CountSQLTables(&db));
|
||||
EXPECT_EQ(kCurrentVersionNumber, VersionFromMetaTable(db));
|
||||
@ -264,7 +264,7 @@ TEST_F(FirstPartySetsDatabaseTest, LoadDBFile_RecreateOnTooNew) {
|
||||
|
||||
// Expect that the original database was razed and the initialization is
|
||||
// successful with newly inserted data.
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(db_path()));
|
||||
EXPECT_EQ(kTableCount, sql::test::CountSQLTables(&db));
|
||||
EXPECT_EQ(kCurrentVersionNumber, VersionFromMetaTable(db));
|
||||
@ -292,7 +292,7 @@ TEST_F(FirstPartySetsDatabaseTest, LoadDBFile_InvalidRunCount_Fail) {
|
||||
CloseDatabase();
|
||||
|
||||
// The original database was destroyed.
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(db_path()));
|
||||
EXPECT_EQ(0u, sql::test::CountSQLTables(&db));
|
||||
histograms.ExpectUniqueSample("FirstPartySets.Database.InitStatus",
|
||||
@ -345,7 +345,7 @@ TEST_F(FirstPartySetsDatabaseTest, PersistSets_NoPreExistingDB) {
|
||||
EXPECT_TRUE(db()->PersistSets(browser_context_id, global_sets, config));
|
||||
CloseDatabase();
|
||||
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(db_path()));
|
||||
EXPECT_EQ(2u, CountPublicSetsEntries(&db));
|
||||
EXPECT_EQ(2u, CountManualConfigurationsEntries(&db));
|
||||
@ -460,7 +460,7 @@ TEST_F(FirstPartySetsDatabaseTest, PersistSets_NoPreExistingDB_NoPublicSets) {
|
||||
EXPECT_TRUE(db()->PersistSets(browser_context_id, global_sets, config));
|
||||
CloseDatabase();
|
||||
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(db_path()));
|
||||
EXPECT_EQ(0u, CountPublicSetsEntries(&db));
|
||||
EXPECT_EQ(2u, CountManualConfigurationsEntries(&db));
|
||||
@ -506,7 +506,7 @@ TEST_F(FirstPartySetsDatabaseTest, PersistSets_PreExistingDB) {
|
||||
const std::string browser_context_id = "b2";
|
||||
// Verify data in the pre-existing DB.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(db_path()));
|
||||
ASSERT_EQ(kTableCount, sql::test::CountSQLTables(&db));
|
||||
ASSERT_EQ(2u, CountPublicSetsEntries(&db));
|
||||
@ -608,7 +608,7 @@ TEST_F(FirstPartySetsDatabaseTest, PersistSets_PreExistingDB) {
|
||||
CloseDatabase();
|
||||
|
||||
// Verify data is inserted.
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(db_path()));
|
||||
EXPECT_EQ(4u, CountPublicSetsEntries(&db));
|
||||
EXPECT_EQ(2u, CountPolicyConfigurationsEntries(&db));
|
||||
@ -687,7 +687,7 @@ TEST_F(FirstPartySetsDatabaseTest, PersistSets_PreExistingVersion) {
|
||||
const std::string bbb = "https://bbb.test";
|
||||
// Verify data in the pre-existing DB.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(db_path()));
|
||||
ASSERT_EQ(kTableCount, sql::test::CountSQLTables(&db));
|
||||
ASSERT_EQ(2u, CountPublicSetsEntries(&db));
|
||||
@ -721,7 +721,7 @@ TEST_F(FirstPartySetsDatabaseTest, PersistSets_PreExistingVersion) {
|
||||
CloseDatabase();
|
||||
|
||||
// Verify data is not overwritten with the same version.
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(db_path()));
|
||||
EXPECT_EQ(2u, CountPublicSetsEntries(&db));
|
||||
|
||||
@ -755,7 +755,7 @@ TEST_F(FirstPartySetsDatabaseTest, InsertSitesToClear_NoPreExistingDB) {
|
||||
EXPECT_TRUE(db()->InsertSitesToClear("b", input));
|
||||
CloseDatabase();
|
||||
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(db_path()));
|
||||
EXPECT_EQ(2u, CountBrowserContextSitesToClearEntries(&db));
|
||||
|
||||
@ -785,7 +785,7 @@ TEST_F(FirstPartySetsDatabaseTest, InsertSitesToClear_PreExistingDB) {
|
||||
int64_t pre_run_count = 0;
|
||||
// Verify data in the pre-existing DB, and set `pre_run_count`.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(db_path()));
|
||||
EXPECT_EQ(kTableCount, sql::test::CountSQLTables(&db));
|
||||
EXPECT_EQ(2u, CountBrowserContextSitesToClearEntries(&db));
|
||||
@ -813,7 +813,7 @@ TEST_F(FirstPartySetsDatabaseTest, InsertSitesToClear_PreExistingDB) {
|
||||
|
||||
int64_t expected_run_count = 2;
|
||||
// Verify the inserted data.
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(db_path()));
|
||||
EXPECT_EQ(4u, CountBrowserContextSitesToClearEntries(&db));
|
||||
|
||||
@ -846,7 +846,7 @@ TEST_F(FirstPartySetsDatabaseTest,
|
||||
EXPECT_TRUE(db()->InsertBrowserContextCleared(browser_context_id));
|
||||
CloseDatabase();
|
||||
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(db_path()));
|
||||
EXPECT_EQ(1u, CountBrowserContextsClearedEntries(&db));
|
||||
|
||||
@ -866,7 +866,7 @@ TEST_F(FirstPartySetsDatabaseTest, InsertBrowserContextCleared_PreExistingDB) {
|
||||
int64_t pre_run_count = 0;
|
||||
// Verify data in the pre-existing DB, and set `pre_run_count`.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(db_path()));
|
||||
EXPECT_EQ(kTableCount, sql::test::CountSQLTables(&db));
|
||||
EXPECT_EQ(1u, CountBrowserContextsClearedEntries(&db));
|
||||
@ -888,7 +888,7 @@ TEST_F(FirstPartySetsDatabaseTest, InsertBrowserContextCleared_PreExistingDB) {
|
||||
CloseDatabase();
|
||||
|
||||
// Verify the inserted data has the updated `cleared_at_run` value.
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(db_path()));
|
||||
EXPECT_EQ(2u, CountBrowserContextsClearedEntries(&db));
|
||||
|
||||
@ -922,7 +922,7 @@ TEST_F(FirstPartySetsDatabaseTest, GetSitesToClearFilters) {
|
||||
|
||||
// Verify data in the pre-existing DB.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(db_path()));
|
||||
|
||||
const char kSelectSql[] =
|
||||
@ -1023,7 +1023,7 @@ TEST_F(FirstPartySetsDatabaseTest, GetSets_PublicSetsHaveSingleton) {
|
||||
|
||||
// Verify data in the pre-existing DB.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(db_path()));
|
||||
EXPECT_EQ(4u, CountPublicSetsEntries(&db));
|
||||
EXPECT_EQ(1u, CountBrowserContextSetsVersionEntries(&db));
|
||||
@ -1056,7 +1056,7 @@ TEST_F(FirstPartySetsDatabaseTest, GetSets_PublicSetsHaveOrphan) {
|
||||
|
||||
// Verify data in the pre-existing DB.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(db_path()));
|
||||
EXPECT_EQ(4u, CountPublicSetsEntries(&db));
|
||||
EXPECT_EQ(1u, CountBrowserContextSetsVersionEntries(&db));
|
||||
@ -1089,7 +1089,7 @@ TEST_F(FirstPartySetsDatabaseTest, GetSets) {
|
||||
|
||||
// Verify data in the pre-existing DB.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(db_path()));
|
||||
EXPECT_EQ(2u, CountPublicSetsEntries(&db));
|
||||
EXPECT_EQ(3u, CountBrowserContextSetsVersionEntries(&db));
|
||||
@ -1131,7 +1131,7 @@ TEST_F(FirstPartySetsDatabaseTest, HasEntryInBrowserContextsClearedForTesting) {
|
||||
|
||||
// Verify data in the pre-existing DB.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(db_path()));
|
||||
EXPECT_EQ(1u, CountBrowserContextsClearedEntries(&db));
|
||||
}
|
||||
@ -1217,7 +1217,7 @@ TEST_F(FirstPartySetsDatabaseMigrationsTest, MigrateEmptyToCurrent) {
|
||||
|
||||
// Verify schema is current.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(db_path()));
|
||||
|
||||
// Check version.
|
||||
@ -1235,7 +1235,7 @@ TEST_F(FirstPartySetsDatabaseMigrationsTest, MigrateVersion2ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(db_path()));
|
||||
|
||||
ASSERT_EQ(2, VersionFromMetaTable(db));
|
||||
@ -1245,7 +1245,7 @@ TEST_F(FirstPartySetsDatabaseMigrationsTest, MigrateVersion2ToCurrent) {
|
||||
|
||||
// Verify schema is current.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(db_path()));
|
||||
|
||||
// Check version.
|
||||
@ -1270,7 +1270,7 @@ TEST_F(FirstPartySetsDatabaseMigrationsTest, MigrateVersion3ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(db_path()));
|
||||
|
||||
ASSERT_EQ(3, VersionFromMetaTable(db));
|
||||
@ -1280,7 +1280,7 @@ TEST_F(FirstPartySetsDatabaseMigrationsTest, MigrateVersion3ToCurrent) {
|
||||
|
||||
// Verify schema is current.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(db_path()));
|
||||
|
||||
// Check version.
|
||||
@ -1302,7 +1302,7 @@ TEST_F(FirstPartySetsDatabaseMigrationsTest, MigrateVersion4ToCurrent) {
|
||||
|
||||
// Verify pre-conditions.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(db_path()));
|
||||
|
||||
ASSERT_EQ(4, VersionFromMetaTable(db));
|
||||
@ -1312,7 +1312,7 @@ TEST_F(FirstPartySetsDatabaseMigrationsTest, MigrateVersion4ToCurrent) {
|
||||
|
||||
// Verify schema is current.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(db_path()));
|
||||
|
||||
// Check version.
|
||||
|
@ -401,7 +401,7 @@ TEST_F(InterestGroupStorageTest, DatabaseInitialized_CreateDatabase) {
|
||||
EXPECT_TRUE(base::PathExists(db_path()));
|
||||
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(raw_db.Open(db_path()));
|
||||
|
||||
// [interest_groups], [join_history], [bid_history], [win_history],
|
||||
@ -416,7 +416,7 @@ TEST_F(InterestGroupStorageTest, DatabaseRazesOldVersion) {
|
||||
|
||||
// Create an empty database with old schema version (version=1).
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(raw_db.Open(db_path()));
|
||||
|
||||
sql::MetaTable meta_table;
|
||||
@ -438,7 +438,7 @@ TEST_F(InterestGroupStorageTest, DatabaseRazesOldVersion) {
|
||||
}
|
||||
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(raw_db.Open(db_path()));
|
||||
|
||||
// [interest_groups], [join_history], [bid_history], [win_history],
|
||||
@ -453,7 +453,7 @@ TEST_F(InterestGroupStorageTest, DatabaseRazesNewVersion) {
|
||||
|
||||
// Create an empty database with a newer schema version (version=1000000).
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(raw_db.Open(db_path()));
|
||||
|
||||
sql::MetaTable meta_table;
|
||||
@ -475,7 +475,7 @@ TEST_F(InterestGroupStorageTest, DatabaseRazesNewVersion) {
|
||||
}
|
||||
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(raw_db.Open(db_path()));
|
||||
|
||||
// [interest_groups], [join_history], [bid_history], [win_history],
|
||||
|
@ -53,7 +53,8 @@ CdmStorageDatabase::CdmStorageDatabase(const base::FilePath& path)
|
||||
// bytes) and that we'll typically only be pulling one file at a time
|
||||
// (playback), specify a large page size to allow inner nodes can pack
|
||||
// many keys, to keep the index B-tree flat.
|
||||
db_(sql::DatabaseOptions{.page_size = 32768, .cache_size = 8}) {
|
||||
db_(sql::DatabaseOptions{.page_size = 32768, .cache_size = 8},
|
||||
/*tag=*/"CdmStorage") {
|
||||
// base::Unretained is safe because `db_` is owned by `this`
|
||||
db_.set_error_callback(base::BindRepeating(
|
||||
&CdmStorageDatabase::OnDatabaseError, base::Unretained(this)));
|
||||
|
@ -2,19 +2,22 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "content/browser/media/cdm_storage_database.h"
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "base/files/file_path.h"
|
||||
#include "base/files/scoped_temp_dir.h"
|
||||
#include "base/test/metrics/histogram_tester.h"
|
||||
#include "content/browser/media/cdm_storage_database.h"
|
||||
#include "content/public/browser/browsing_data_filter_builder.h"
|
||||
#include "media/cdm/cdm_type.h"
|
||||
#include "sql/database.h"
|
||||
#include "sql/meta_table.h"
|
||||
#include "sql/statement.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
#include "third_party/blink/public/common/storage_key/storage_key.h"
|
||||
|
||||
@ -93,7 +96,8 @@ class MockCdmStorageDatabaseV1 {
|
||||
public:
|
||||
// The database will be in-memory if `path` is empty.
|
||||
explicit MockCdmStorageDatabaseV1()
|
||||
: db_(sql::DatabaseOptions{.page_size = 32768, .cache_size = 8}) {}
|
||||
: db_(sql::DatabaseOptions{.page_size = 32768, .cache_size = 8},
|
||||
sql::test::kTestTag) {}
|
||||
~MockCdmStorageDatabaseV1() = default;
|
||||
|
||||
void OpenDatabase(const base::FilePath& path) {
|
||||
|
@ -34,7 +34,8 @@ MediaLicenseDatabase::MediaLicenseDatabase(const base::FilePath& path)
|
||||
// bytes) and that we'll typically only be pulling one file at a time
|
||||
// (playback), specify a large page size to allow inner nodes can pack
|
||||
// many keys, to keep the index B-tree flat.
|
||||
db_(sql::DatabaseOptions{.page_size = 32768, .cache_size = 8}) {}
|
||||
db_(sql::DatabaseOptions{.page_size = 32768, .cache_size = 8},
|
||||
/*tag=*/"MediaLicense") {}
|
||||
|
||||
MediaLicenseDatabase::~MediaLicenseDatabase() = default;
|
||||
|
||||
|
@ -26,6 +26,7 @@
|
||||
#include "content/browser/private_aggregation/proto/private_aggregation_budgets.pb.h"
|
||||
#include "sql/database.h"
|
||||
#include "sql/meta_table.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
|
||||
namespace content {
|
||||
@ -309,7 +310,7 @@ TEST_F(PrivateAggregationBudgetStorageTest,
|
||||
task_environment().RunUntilIdle();
|
||||
|
||||
{
|
||||
sql::Database raw_db;
|
||||
sql::Database raw_db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(raw_db.Open(db_path()));
|
||||
|
||||
sql::MetaTable meta;
|
||||
|
@ -49,6 +49,7 @@
|
||||
#include "sql/database.h"
|
||||
#include "sql/meta_table.h"
|
||||
#include "sql/statement.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
#include "sql/transaction.h"
|
||||
#include "testing/gmock/include/gmock/gmock-matchers.h"
|
||||
#include "testing/gmock/include/gmock/gmock.h"
|
||||
@ -362,7 +363,7 @@ TEST_F(SQLitePersistentCookieStoreTest, TestInvalidVersionRecovery) {
|
||||
|
||||
// Now make the version too old to initialize from.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(temp_dir_.GetPath().Append(kCookieFilename)));
|
||||
sql::MetaTable meta_table;
|
||||
ASSERT_TRUE(meta_table.Init(&db, 1, 1));
|
||||
@ -404,7 +405,7 @@ TEST_F(SQLitePersistentCookieStoreTest, TestInvalidMetaTableRecovery) {
|
||||
|
||||
// Now corrupt the meta table.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(temp_dir_.GetPath().Append(kCookieFilename)));
|
||||
sql::MetaTable meta_table;
|
||||
ASSERT_TRUE(meta_table.Init(&db, 1, 1));
|
||||
@ -768,7 +769,8 @@ TEST_F(SQLitePersistentCookieStoreTest, FilterBadCookiesAndFixupDb) {
|
||||
|
||||
// Add some cookies in by hand.
|
||||
base::FilePath store_name(temp_dir_.GetPath().Append(kCookieFilename));
|
||||
std::unique_ptr<sql::Database> db(std::make_unique<sql::Database>());
|
||||
std::unique_ptr<sql::Database> db(
|
||||
std::make_unique<sql::Database>(sql::test::kTestTag));
|
||||
ASSERT_TRUE(db->Open(store_name));
|
||||
sql::Statement stmt(db->GetUniqueStatement(
|
||||
"INSERT INTO cookies (creation_utc, host_key, top_frame_site_key, name, "
|
||||
@ -830,7 +832,7 @@ TEST_F(SQLitePersistentCookieStoreTest, FilterBadCookiesAndFixupDb) {
|
||||
DestroyStore();
|
||||
|
||||
// Make sure that we only have one row left.
|
||||
db = std::make_unique<sql::Database>();
|
||||
db = std::make_unique<sql::Database>(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db->Open(store_name));
|
||||
sql::Statement verify_stmt(db->GetUniqueStatement("SELECT * FROM COOKIES"));
|
||||
ASSERT_TRUE(verify_stmt.is_valid());
|
||||
@ -1034,7 +1036,7 @@ TEST_F(SQLitePersistentCookieStoreTest, SameSiteExtendedTreatedAsUnspecified) {
|
||||
DestroyStore();
|
||||
|
||||
// Open db.
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(temp_dir_.GetPath().Append(kCookieFilename)));
|
||||
std::string update_stmt(
|
||||
"UPDATE cookies SET samesite=3" // 3 is Extended.
|
||||
@ -1150,7 +1152,7 @@ TEST_F(SQLitePersistentCookieStoreTest, UpdateToEncryption) {
|
||||
DestroyStore();
|
||||
|
||||
// Examine the real record to make sure plaintext version doesn't exist.
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
sql::Statement smt;
|
||||
|
||||
ASSERT_TRUE(db.Open(temp_dir_.GetPath().Append(kCookieFilename)));
|
||||
@ -2175,7 +2177,7 @@ void ConfirmCookiesAfterMigrationTest(
|
||||
|
||||
void ConfirmDatabaseVersionAfterMigration(const base::FilePath path,
|
||||
int version) {
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(path));
|
||||
ASSERT_GE(GetDBCurrentVersionNumber(&connection), version);
|
||||
}
|
||||
@ -2185,7 +2187,7 @@ TEST_F(SQLitePersistentCookieStoreTest, UpgradeToSchemaVersion19) {
|
||||
const base::FilePath database_path =
|
||||
temp_dir_.GetPath().Append(kCookieFilename);
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(database_path));
|
||||
ASSERT_TRUE(CreateV18Schema(&connection));
|
||||
ASSERT_EQ(GetDBCurrentVersionNumber(&connection), 18);
|
||||
@ -2208,7 +2210,7 @@ TEST_F(SQLitePersistentCookieStoreTest, UpgradeToSchemaVersion20) {
|
||||
const base::FilePath database_path =
|
||||
temp_dir_.GetPath().Append(kCookieFilename);
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(database_path));
|
||||
// V19's schema is the same as V18, so we can reuse the creation function.
|
||||
ASSERT_TRUE(CreateV18Schema(&connection));
|
||||
@ -2232,7 +2234,7 @@ TEST_F(SQLitePersistentCookieStoreTest, UpgradeToSchemaVersion21) {
|
||||
const base::FilePath database_path =
|
||||
temp_dir_.GetPath().Append(kCookieFilename);
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(database_path));
|
||||
ASSERT_TRUE(CreateV20Schema(&connection));
|
||||
ASSERT_EQ(GetDBCurrentVersionNumber(&connection), 20);
|
||||
@ -2255,7 +2257,7 @@ TEST_F(SQLitePersistentCookieStoreTest, UpgradeToSchemaVersion22) {
|
||||
const base::FilePath database_path =
|
||||
temp_dir_.GetPath().Append(kCookieFilename);
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(database_path));
|
||||
ASSERT_TRUE(CreateV21Schema(&connection));
|
||||
ASSERT_EQ(GetDBCurrentVersionNumber(&connection), 21);
|
||||
@ -2278,7 +2280,7 @@ TEST_F(SQLitePersistentCookieStoreTest, UpgradeToSchemaVersion23) {
|
||||
const base::FilePath database_path =
|
||||
temp_dir_.GetPath().Append(kCookieFilename);
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(database_path));
|
||||
ASSERT_TRUE(CreateV22Schema(&connection));
|
||||
ASSERT_EQ(GetDBCurrentVersionNumber(&connection), 22);
|
||||
@ -2324,7 +2326,7 @@ TEST_P(SQLitePersistentCookieStorev24UpgradeTest, UpgradeToSchemaVersion24) {
|
||||
const base::FilePath database_path =
|
||||
temp_dir_.GetPath().Append(kCookieFilename);
|
||||
{
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(database_path));
|
||||
ASSERT_TRUE(CreateV23Schema(&connection));
|
||||
ASSERT_EQ(GetDBCurrentVersionNumber(&connection), 23);
|
||||
@ -2401,7 +2403,7 @@ TEST_F(SQLitePersistentCookieStoreTest, CannotModifyHostName) {
|
||||
temp_dir_.GetPath().Append(kCookieFilename);
|
||||
// Simulate an attacker modifying hostname to attacker controlled, to
|
||||
// perform a cookie replay attack.
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(database_path));
|
||||
sql::Transaction transaction(&connection);
|
||||
ASSERT_TRUE(transaction.Begin());
|
||||
@ -2452,7 +2454,7 @@ TEST_F(SQLitePersistentCookieStoreTest, ShortHash) {
|
||||
temp_dir_.GetPath().Append(kCookieFilename);
|
||||
// Simulate an attacker modifying hostname to attacker controlled, to
|
||||
// perform a cookie replay attack.
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(database_path));
|
||||
sql::Transaction transaction(&connection);
|
||||
sql::Statement set_encrypted_value(connection.GetUniqueStatement(
|
||||
@ -2518,7 +2520,7 @@ TEST_F(SQLitePersistentCookieStoreTest,
|
||||
|
||||
// Open database, populate and close db.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(database_path));
|
||||
ASSERT_TRUE(CreateV22Schema(&db));
|
||||
ASSERT_EQ(GetDBCurrentVersionNumber(&db), 22);
|
||||
@ -2531,7 +2533,7 @@ TEST_F(SQLitePersistentCookieStoreTest,
|
||||
EXPECT_EQ(read_in_cookies.size(), cookies.size());
|
||||
|
||||
// Reopen database for testing.
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(database_path));
|
||||
ASSERT_GE(GetDBCurrentVersionNumber(&connection), 23);
|
||||
for (const auto& cookie : cookies) {
|
||||
@ -2707,7 +2709,8 @@ TEST_F(SQLitePersistentCookieStoreTest, LoadingPartitionedCookies) {
|
||||
|
||||
// Insert a partitioned cookie into the database manually.
|
||||
base::FilePath store_name(temp_dir_.GetPath().Append(kCookieFilename));
|
||||
std::unique_ptr<sql::Database> db(std::make_unique<sql::Database>());
|
||||
std::unique_ptr<sql::Database> db(
|
||||
std::make_unique<sql::Database>(sql::test::kTestTag));
|
||||
ASSERT_TRUE(db->Open(store_name));
|
||||
|
||||
sql::Statement stmt(db->GetUniqueStatement(
|
||||
@ -2834,7 +2837,7 @@ TEST_F(SQLitePersistentCookieStoreTest,
|
||||
}
|
||||
// Open database, populate and close db.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(database_path));
|
||||
ASSERT_TRUE(CreateV22Schema(&db));
|
||||
ASSERT_EQ(GetDBCurrentVersionNumber(&db), 22);
|
||||
@ -2847,7 +2850,7 @@ TEST_F(SQLitePersistentCookieStoreTest,
|
||||
EXPECT_EQ(read_in_cookies.size(), cookies.size());
|
||||
|
||||
// Reopen database for testing.
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(database_path));
|
||||
ASSERT_GE(GetDBCurrentVersionNumber(&connection), 23);
|
||||
|
||||
@ -2895,7 +2898,7 @@ TEST_F(SQLitePersistentCookieStoreTest,
|
||||
/*restore_old_session_cookies=*/false);
|
||||
EXPECT_EQ(cookies_.size(), cookies_and_expected_values.size());
|
||||
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(temp_dir_.GetPath().Append(kCookieFilename)));
|
||||
ASSERT_GT(GetDBCurrentVersionNumber(&connection), 23);
|
||||
|
||||
@ -2995,7 +2998,7 @@ TEST_P(SQLitePersistentCookieStoreTestWithDropDupDataFeature,
|
||||
{
|
||||
const base::FilePath database_path =
|
||||
temp_dir_.GetPath().Append(kCookieFilename);
|
||||
sql::Database connection;
|
||||
sql::Database connection(sql::test::kTestTag);
|
||||
ASSERT_TRUE(connection.Open(database_path));
|
||||
sql::Transaction transaction(&connection);
|
||||
ASSERT_TRUE(transaction.Begin());
|
||||
|
@ -29,6 +29,7 @@
|
||||
#include "net/test/test_with_task_environment.h"
|
||||
#include "sql/database.h"
|
||||
#include "sql/meta_table.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
|
||||
namespace net {
|
||||
@ -293,7 +294,7 @@ TEST_F(SQLitePersistentReportingAndNelStoreTest, TestInvalidMetaTableRecovery) {
|
||||
|
||||
// Now corrupt the meta table.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(
|
||||
db.Open(temp_dir_.GetPath().Append(kReportingAndNELStoreFilename)));
|
||||
sql::MetaTable meta_table;
|
||||
|
@ -610,7 +610,7 @@ class SQLitePersistentSharedDictionaryStoreTest : public ::testing::Test,
|
||||
ASSERT_FALSE(store_);
|
||||
|
||||
std::unique_ptr<sql::Database> db =
|
||||
std::make_unique<sql::Database>(sql::DatabaseOptions{});
|
||||
std::make_unique<sql::Database>(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db->Open(GetStroeFilePath()));
|
||||
|
||||
sql::MetaTable meta_table;
|
||||
@ -3059,7 +3059,7 @@ TEST_F(SQLitePersistentSharedDictionaryStoreTest,
|
||||
|
||||
TEST_F(SQLitePersistentSharedDictionaryStoreTest, MigrateFromV1ToV3) {
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(GetStroeFilePath()));
|
||||
CreateV1Schema(&db);
|
||||
ASSERT_EQ(GetDBCurrentVersionNumber(&db), 1);
|
||||
@ -3068,7 +3068,7 @@ TEST_F(SQLitePersistentSharedDictionaryStoreTest, MigrateFromV1ToV3) {
|
||||
EXPECT_EQ(GetTotalDictionarySize(), 0u);
|
||||
DestroyStore();
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(GetStroeFilePath()));
|
||||
ASSERT_EQ(GetDBCurrentVersionNumber(&db), 3);
|
||||
}
|
||||
@ -3076,7 +3076,7 @@ TEST_F(SQLitePersistentSharedDictionaryStoreTest, MigrateFromV1ToV3) {
|
||||
|
||||
TEST_F(SQLitePersistentSharedDictionaryStoreTest, MigrateFromV2ToV3) {
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(GetStroeFilePath()));
|
||||
CreateV2Schema(&db);
|
||||
ASSERT_EQ(GetDBCurrentVersionNumber(&db), 2);
|
||||
@ -3085,7 +3085,7 @@ TEST_F(SQLitePersistentSharedDictionaryStoreTest, MigrateFromV2ToV3) {
|
||||
EXPECT_EQ(GetTotalDictionarySize(), 0u);
|
||||
DestroyStore();
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(GetStroeFilePath()));
|
||||
ASSERT_EQ(GetDBCurrentVersionNumber(&db), 3);
|
||||
}
|
||||
|
@ -221,7 +221,7 @@ bool SQLitePersistentStoreBackendBase::MigrateDatabaseSchema() {
|
||||
// Metatable is corrupted. Try to recover.
|
||||
if (cur_version.value() < current_version_number_) {
|
||||
meta_table_.Reset();
|
||||
db_ = std::make_unique<sql::Database>();
|
||||
db_ = std::make_unique<sql::Database>(histogram_tag_);
|
||||
bool recovered = sql::Database::Delete(path_) && db()->Open(path_) &&
|
||||
meta_table_.Init(db(), current_version_number_,
|
||||
compatible_version_number_);
|
||||
|
@ -251,7 +251,7 @@ class SharedDictionaryManagerOnDiskTest : public ::testing::Test {
|
||||
|
||||
void ManipulateDatabase(const std::vector<std::string>& queries) {
|
||||
std::unique_ptr<sql::Database> db =
|
||||
std::make_unique<sql::Database>(sql::DatabaseOptions{});
|
||||
std::make_unique<sql::Database>(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db->Open(database_path_));
|
||||
|
||||
sql::MetaTable meta_table;
|
||||
|
@ -1071,12 +1071,14 @@ bool Database::Raze() {
|
||||
return false;
|
||||
}
|
||||
|
||||
sql::Database null_db(sql::DatabaseOptions{
|
||||
.exclusive_locking = true,
|
||||
.page_size = options_.page_size,
|
||||
.cache_size = 0,
|
||||
.enable_views_discouraged = options_.enable_views_discouraged,
|
||||
});
|
||||
sql::Database null_db(
|
||||
sql::DatabaseOptions{
|
||||
.exclusive_locking = true,
|
||||
.page_size = options_.page_size,
|
||||
.cache_size = 0,
|
||||
.enable_views_discouraged = options_.enable_views_discouraged,
|
||||
},
|
||||
"RazeNullDB");
|
||||
if (!null_db.OpenInMemory()) {
|
||||
DLOG(FATAL) << "Unable to open in-memory database.";
|
||||
return false;
|
||||
|
@ -280,10 +280,16 @@ class COMPONENT_EXPORT(SQL) Database {
|
||||
//
|
||||
// Most operations on the new instance will fail until Open() / OpenInMemory()
|
||||
// is called.
|
||||
explicit Database(DatabaseOptions options, std::string_view tag = {});
|
||||
//
|
||||
// `tag` is a string uniquely identifying this database for metrics. This
|
||||
// class automatically uses `tag` to determine which histogram to record to
|
||||
// for timing and error histograms. Tests that don't care about those
|
||||
// histograms values can use `sql::test::kTestTag` from
|
||||
// sql/test/test_helpers.h.
|
||||
Database(DatabaseOptions options, std::string_view tag);
|
||||
|
||||
// Convenience constructor for callers that use default options.
|
||||
explicit Database(std::string_view tag = {});
|
||||
explicit Database(std::string_view tag);
|
||||
|
||||
Database(const Database&) = delete;
|
||||
Database& operator=(const Database&) = delete;
|
||||
|
@ -95,29 +95,33 @@ TEST_P(DatabaseOptionsTest, FlushToDisk_FalseByDefault) {
|
||||
};
|
||||
EXPECT_FALSE(options.flush_to_media) << "Invalid test assumption";
|
||||
|
||||
Database db(options);
|
||||
Database db(options, test::kTestTag);
|
||||
OpenDatabase(db);
|
||||
|
||||
EXPECT_EQ("0", sql::test::ExecuteWithResult(&db, "PRAGMA fullfsync"));
|
||||
}
|
||||
|
||||
TEST_P(DatabaseOptionsTest, FlushToDisk_True) {
|
||||
Database db(DatabaseOptions{
|
||||
.exclusive_locking = exclusive_locking(),
|
||||
.wal_mode = wal_mode(),
|
||||
.flush_to_media = true,
|
||||
});
|
||||
Database db(
|
||||
DatabaseOptions{
|
||||
.exclusive_locking = exclusive_locking(),
|
||||
.wal_mode = wal_mode(),
|
||||
.flush_to_media = true,
|
||||
},
|
||||
test::kTestTag);
|
||||
OpenDatabase(db);
|
||||
|
||||
EXPECT_EQ("1", sql::test::ExecuteWithResult(&db, "PRAGMA fullfsync"));
|
||||
}
|
||||
|
||||
TEST_P(DatabaseOptionsTest, FlushToDisk_False_DoesNotCrash) {
|
||||
Database db(DatabaseOptions{
|
||||
.exclusive_locking = exclusive_locking(),
|
||||
.wal_mode = wal_mode(),
|
||||
.flush_to_media = false,
|
||||
});
|
||||
Database db(
|
||||
DatabaseOptions{
|
||||
.exclusive_locking = exclusive_locking(),
|
||||
.wal_mode = wal_mode(),
|
||||
.flush_to_media = false,
|
||||
},
|
||||
test::kTestTag);
|
||||
OpenDatabase(db);
|
||||
|
||||
EXPECT_EQ("0", sql::test::ExecuteWithResult(&db, "PRAGMA fullfsync"))
|
||||
@ -126,11 +130,13 @@ TEST_P(DatabaseOptionsTest, FlushToDisk_False_DoesNotCrash) {
|
||||
}
|
||||
|
||||
TEST_P(DatabaseOptionsTest, FlushToDisk_True_DoesNotCrash) {
|
||||
Database db(DatabaseOptions{
|
||||
.exclusive_locking = exclusive_locking(),
|
||||
.wal_mode = wal_mode(),
|
||||
.flush_to_media = true,
|
||||
});
|
||||
Database db(
|
||||
DatabaseOptions{
|
||||
.exclusive_locking = exclusive_locking(),
|
||||
.wal_mode = wal_mode(),
|
||||
.flush_to_media = true,
|
||||
},
|
||||
test::kTestTag);
|
||||
OpenDatabase(db);
|
||||
|
||||
EXPECT_EQ("1", sql::test::ExecuteWithResult(&db, "PRAGMA fullfsync"))
|
||||
@ -141,11 +147,13 @@ TEST_P(DatabaseOptionsTest, FlushToDisk_True_DoesNotCrash) {
|
||||
TEST_P(DatabaseOptionsTest, PageSize_Default) {
|
||||
static_assert(DatabaseOptions::kDefaultPageSize == 4096,
|
||||
"The page size numbers in this test file need to change");
|
||||
Database db(DatabaseOptions{
|
||||
.exclusive_locking = exclusive_locking(),
|
||||
.wal_mode = wal_mode(),
|
||||
.page_size = 4096,
|
||||
});
|
||||
Database db(
|
||||
DatabaseOptions{
|
||||
.exclusive_locking = exclusive_locking(),
|
||||
.wal_mode = wal_mode(),
|
||||
.page_size = 4096,
|
||||
},
|
||||
test::kTestTag);
|
||||
|
||||
OpenDatabase(db);
|
||||
EXPECT_EQ("4096", sql::test::ExecuteWithResult(&db, "PRAGMA page_size"));
|
||||
@ -160,11 +168,13 @@ TEST_P(DatabaseOptionsTest, PageSize_Default) {
|
||||
TEST_P(DatabaseOptionsTest, PageSize_Large) {
|
||||
static_assert(DatabaseOptions::kDefaultPageSize < 16384,
|
||||
"The page size numbers in this test file need to change");
|
||||
Database db(DatabaseOptions{
|
||||
.exclusive_locking = exclusive_locking(),
|
||||
.wal_mode = wal_mode(),
|
||||
.page_size = 16384,
|
||||
});
|
||||
Database db(
|
||||
DatabaseOptions{
|
||||
.exclusive_locking = exclusive_locking(),
|
||||
.wal_mode = wal_mode(),
|
||||
.page_size = 16384,
|
||||
},
|
||||
test::kTestTag);
|
||||
|
||||
OpenDatabase(db);
|
||||
EXPECT_EQ("16384", sql::test::ExecuteWithResult(&db, "PRAGMA page_size"));
|
||||
@ -179,11 +189,13 @@ TEST_P(DatabaseOptionsTest, PageSize_Large) {
|
||||
TEST_P(DatabaseOptionsTest, PageSize_Small) {
|
||||
static_assert(DatabaseOptions::kDefaultPageSize > 1024,
|
||||
"The page size numbers in this test file need to change");
|
||||
Database db(DatabaseOptions{
|
||||
.exclusive_locking = exclusive_locking(),
|
||||
.wal_mode = wal_mode(),
|
||||
.page_size = 1024,
|
||||
});
|
||||
Database db(
|
||||
DatabaseOptions{
|
||||
.exclusive_locking = exclusive_locking(),
|
||||
.wal_mode = wal_mode(),
|
||||
.page_size = 1024,
|
||||
},
|
||||
test::kTestTag);
|
||||
|
||||
OpenDatabase(db);
|
||||
EXPECT_EQ("1024", sql::test::ExecuteWithResult(&db, "PRAGMA page_size"));
|
||||
@ -196,32 +208,38 @@ TEST_P(DatabaseOptionsTest, PageSize_Small) {
|
||||
}
|
||||
|
||||
TEST_P(DatabaseOptionsTest, CacheSize_Legacy) {
|
||||
Database db(DatabaseOptions{
|
||||
.exclusive_locking = exclusive_locking(),
|
||||
.wal_mode = wal_mode(),
|
||||
.cache_size = 0,
|
||||
});
|
||||
Database db(
|
||||
DatabaseOptions{
|
||||
.exclusive_locking = exclusive_locking(),
|
||||
.wal_mode = wal_mode(),
|
||||
.cache_size = 0,
|
||||
},
|
||||
test::kTestTag);
|
||||
OpenDatabase(db);
|
||||
|
||||
EXPECT_EQ("-2000", sql::test::ExecuteWithResult(&db, "PRAGMA cache_size"));
|
||||
}
|
||||
|
||||
TEST_P(DatabaseOptionsTest, CacheSize_Small) {
|
||||
Database db(DatabaseOptions{
|
||||
.exclusive_locking = exclusive_locking(),
|
||||
.wal_mode = wal_mode(),
|
||||
.cache_size = 16,
|
||||
});
|
||||
Database db(
|
||||
DatabaseOptions{
|
||||
.exclusive_locking = exclusive_locking(),
|
||||
.wal_mode = wal_mode(),
|
||||
.cache_size = 16,
|
||||
},
|
||||
test::kTestTag);
|
||||
OpenDatabase(db);
|
||||
EXPECT_EQ("16", sql::test::ExecuteWithResult(&db, "PRAGMA cache_size"));
|
||||
}
|
||||
|
||||
TEST_P(DatabaseOptionsTest, CacheSize_Large) {
|
||||
Database db(DatabaseOptions{
|
||||
.exclusive_locking = exclusive_locking(),
|
||||
.wal_mode = wal_mode(),
|
||||
.cache_size = 1000,
|
||||
});
|
||||
Database db(
|
||||
DatabaseOptions{
|
||||
.exclusive_locking = exclusive_locking(),
|
||||
.wal_mode = wal_mode(),
|
||||
.cache_size = 1000,
|
||||
},
|
||||
test::kTestTag);
|
||||
OpenDatabase(db);
|
||||
EXPECT_EQ("1000", sql::test::ExecuteWithResult(&db, "PRAGMA cache_size"));
|
||||
}
|
||||
@ -233,7 +251,7 @@ TEST_P(DatabaseOptionsTest, EnableViewsDiscouraged_FalseByDefault) {
|
||||
};
|
||||
EXPECT_FALSE(options.enable_views_discouraged) << "Invalid test assumption";
|
||||
|
||||
Database db(options);
|
||||
Database db(options, test::kTestTag);
|
||||
OpenDatabase(db);
|
||||
|
||||
// sqlite3_db_config() currently only disables querying views. Schema
|
||||
@ -254,11 +272,13 @@ TEST_P(DatabaseOptionsTest, EnableViewsDiscouraged_FalseByDefault) {
|
||||
}
|
||||
|
||||
TEST_P(DatabaseOptionsTest, EnableViewsDiscouraged_True) {
|
||||
Database db(DatabaseOptions{
|
||||
.exclusive_locking = exclusive_locking(),
|
||||
.wal_mode = wal_mode(),
|
||||
.enable_views_discouraged = true,
|
||||
});
|
||||
Database db(
|
||||
DatabaseOptions{
|
||||
.exclusive_locking = exclusive_locking(),
|
||||
.wal_mode = wal_mode(),
|
||||
.enable_views_discouraged = true,
|
||||
},
|
||||
test::kTestTag);
|
||||
OpenDatabase(db);
|
||||
|
||||
ASSERT_TRUE(db.Execute("CREATE VIEW view(id) AS SELECT 1"));
|
||||
|
@ -141,7 +141,7 @@ class SQLDatabaseTest : public testing::Test,
|
||||
db_.reset();
|
||||
ASSERT_TRUE(base::DeleteFile(db_path_));
|
||||
|
||||
db_ = std::make_unique<Database>(GetDBOptions());
|
||||
db_ = std::make_unique<Database>(GetDBOptions(), test::kTestTag);
|
||||
ASSERT_TRUE(db_->Open(db_path_));
|
||||
ASSERT_TRUE(base::PathExists(db_path_));
|
||||
}
|
||||
@ -449,7 +449,7 @@ TEST_P(SQLDatabaseTest, SchemaIntrospectionUsesErrorExpecter) {
|
||||
ASSERT_FALSE(db_->DoesTableExist("foo"));
|
||||
ASSERT_FALSE(db_->DoesColumnExist("foo", "id"));
|
||||
ASSERT_TRUE(expecter.SawExpectedErrors());
|
||||
tester.ExpectUniqueSample("Sql.Database.Open.FirstAttempt.Error.NoTag",
|
||||
tester.ExpectUniqueSample("Sql.Database.Open.FirstAttempt.Error.Test",
|
||||
SqliteResultCode::kCorrupt, 1);
|
||||
}
|
||||
}
|
||||
@ -707,7 +707,7 @@ TEST_P(SQLDatabaseTest, UseVfs) {
|
||||
|
||||
DatabaseOptions options = GetDBOptions();
|
||||
options.vfs_name_discouraged = kVFSName;
|
||||
Database other_db(options);
|
||||
Database other_db(options, test::kTestTag);
|
||||
|
||||
// Since the vfs's Open function is not implemented `Open()` will fail.
|
||||
ASSERT_FALSE(other_db.Open(db_path_));
|
||||
@ -1049,7 +1049,7 @@ void TestPageSize(const base::FilePath& db_prefix,
|
||||
const base::FilePath db_path = db_prefix.InsertBeforeExtensionASCII(
|
||||
base::NumberToString(initial_page_size));
|
||||
Database::Delete(db_path);
|
||||
Database db({.page_size = initial_page_size});
|
||||
Database db({.page_size = initial_page_size}, test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(db_path));
|
||||
ASSERT_TRUE(db.Execute(kCreateSql));
|
||||
ASSERT_TRUE(db.Execute(kInsertSql1));
|
||||
@ -1059,7 +1059,7 @@ void TestPageSize(const base::FilePath& db_prefix,
|
||||
db.Close();
|
||||
|
||||
// Re-open the database while setting a new |options.page_size| in the object.
|
||||
Database razed_db({.page_size = final_page_size});
|
||||
Database razed_db({.page_size = final_page_size}, test::kTestTag);
|
||||
ASSERT_TRUE(razed_db.Open(db_path));
|
||||
// Raze will use the page size set in the connection object, which may not
|
||||
// match the file's page size.
|
||||
@ -1110,7 +1110,7 @@ TEST_P(SQLDatabaseTest, RazeMultiple) {
|
||||
"CREATE TABLE foo (id INTEGER PRIMARY KEY, value)";
|
||||
ASSERT_TRUE(db_->Execute(kCreateSql));
|
||||
|
||||
Database other_db(GetDBOptions());
|
||||
Database other_db(GetDBOptions(), test::kTestTag);
|
||||
ASSERT_TRUE(other_db.Open(db_path_));
|
||||
|
||||
// Check that the second connection sees the table.
|
||||
@ -1125,7 +1125,7 @@ TEST_P(SQLDatabaseTest, RazeMultiple) {
|
||||
TEST_P(SQLDatabaseTest, Raze_OtherConnectionHasWriteLock) {
|
||||
ASSERT_TRUE(db_->Execute("CREATE TABLE rows(id INTEGER PRIMARY KEY)"));
|
||||
|
||||
Database other_db(GetDBOptions());
|
||||
Database other_db(GetDBOptions(), test::kTestTag);
|
||||
ASSERT_TRUE(other_db.Open(db_path_));
|
||||
|
||||
Transaction other_db_transaction(&other_db);
|
||||
@ -1150,7 +1150,7 @@ TEST_P(SQLDatabaseTest, Raze_OtherConnectionHasReadLock) {
|
||||
return;
|
||||
}
|
||||
|
||||
Database other_db(GetDBOptions());
|
||||
Database other_db(GetDBOptions(), test::kTestTag);
|
||||
ASSERT_TRUE(other_db.Open(db_path_));
|
||||
|
||||
Statement select(other_db.GetUniqueStatement("SELECT id FROM rows"));
|
||||
@ -1255,7 +1255,7 @@ TEST_P(SQLDatabaseTest, RazeCallbackReopen) {
|
||||
base::HistogramTester tester;
|
||||
expecter.ExpectError(SQLITE_CORRUPT);
|
||||
ASSERT_FALSE(db_->Open(db_path_));
|
||||
tester.ExpectUniqueSample("Sql.Database.Open.FirstAttempt.Error.NoTag",
|
||||
tester.ExpectUniqueSample("Sql.Database.Open.FirstAttempt.Error.Test",
|
||||
SqliteResultCode::kCorrupt, 1);
|
||||
ASSERT_FALSE(db_->Execute("PRAGMA auto_vacuum"));
|
||||
db_->Close();
|
||||
@ -1715,7 +1715,7 @@ TEST_P(SQLDatabaseTest, AttachDatabase) {
|
||||
db_path_.DirName().AppendASCII("attach_database_test.db");
|
||||
static constexpr char kAttachmentPoint[] = "other";
|
||||
{
|
||||
Database other_db;
|
||||
Database other_db(test::kTestTag);
|
||||
ASSERT_TRUE(other_db.Open(attach_path));
|
||||
ASSERT_TRUE(
|
||||
other_db.Execute("CREATE TABLE rows(id INTEGER PRIMARY KEY NOT NULL)"));
|
||||
@ -1749,7 +1749,7 @@ TEST_P(SQLDatabaseTest, AttachDatabaseWithOpenTransaction) {
|
||||
db_path_.DirName().AppendASCII("attach_database_test.db");
|
||||
static constexpr char kAttachmentPoint[] = "other";
|
||||
{
|
||||
Database other_db;
|
||||
Database other_db(test::kTestTag);
|
||||
ASSERT_TRUE(other_db.Open(attach_path));
|
||||
ASSERT_TRUE(
|
||||
other_db.Execute("CREATE TABLE rows(id INTEGER PRIMARY KEY NOT NULL)"));
|
||||
@ -1940,7 +1940,7 @@ TEST_P(SQLDatabaseTest, MmapInitiallyEnabledAltStatus) {
|
||||
DatabaseOptions options = GetDBOptions();
|
||||
options.mmap_alt_status_discouraged = true;
|
||||
options.enable_views_discouraged = true;
|
||||
db_ = std::make_unique<Database>(options);
|
||||
db_ = std::make_unique<Database>(options, test::kTestTag);
|
||||
ASSERT_TRUE(db_->Open(db_path_));
|
||||
|
||||
{
|
||||
@ -2025,7 +2025,7 @@ TEST_P(SQLDatabaseTest, ComputeMmapSizeForOpenAltStatus) {
|
||||
DatabaseOptions options = GetDBOptions();
|
||||
options.mmap_alt_status_discouraged = true;
|
||||
options.enable_views_discouraged = true;
|
||||
db_ = std::make_unique<Database>(options);
|
||||
db_ = std::make_unique<Database>(options, test::kTestTag);
|
||||
ASSERT_TRUE(db_->Open(db_path_));
|
||||
|
||||
ASSERT_GT(db_->ComputeMmapSizeForOpen(), kMmapAlot);
|
||||
@ -2197,7 +2197,7 @@ TEST_P(SQLDatabaseTest, ReOpenWithDifferentJournalMode) {
|
||||
}
|
||||
#endif // BUILDFLAG(IS_FUCHSIA)
|
||||
|
||||
db_ = std::make_unique<Database>(options);
|
||||
db_ = std::make_unique<Database>(options, test::kTestTag);
|
||||
ASSERT_TRUE(db_->Open(db_path_));
|
||||
|
||||
// The value for the last inserted row should be valid.
|
||||
@ -2222,7 +2222,7 @@ class SQLDatabaseTestExclusiveFileLockMode
|
||||
~SQLDatabaseTestExclusiveFileLockMode() override = default;
|
||||
|
||||
void SetUp() override {
|
||||
db_ = std::make_unique<Database>(GetDBOptions());
|
||||
db_ = std::make_unique<Database>(GetDBOptions(), test::kTestTag);
|
||||
ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
|
||||
db_path_ = temp_dir_.GetPath().AppendASCII("maybelocked.sqlite");
|
||||
ASSERT_TRUE(db_->Open(db_path_));
|
||||
@ -2275,7 +2275,7 @@ TEST(SQLInvalidDatabaseFlagsDeathTest, ExclusiveDatabaseLock) {
|
||||
ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
|
||||
auto db_path = temp_dir.GetPath().AppendASCII("database_test_locked.sqlite");
|
||||
|
||||
Database db({.exclusive_database_file_lock = true});
|
||||
Database db({.exclusive_database_file_lock = true}, test::kTestTag);
|
||||
|
||||
EXPECT_CHECK_DEATH_WITH(
|
||||
{ std::ignore = db.Open(db_path); },
|
||||
@ -2290,7 +2290,7 @@ class SQLDatabaseTestExclusiveMode : public testing::Test,
|
||||
~SQLDatabaseTestExclusiveMode() override = default;
|
||||
|
||||
void SetUp() override {
|
||||
db_ = std::make_unique<Database>(GetDBOptions());
|
||||
db_ = std::make_unique<Database>(GetDBOptions(), test::kTestTag);
|
||||
ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
|
||||
db_path_ = temp_dir_.GetPath().AppendASCII("recovery_test.sqlite");
|
||||
ASSERT_TRUE(db_->Open(db_path_));
|
||||
@ -2372,7 +2372,7 @@ TEST_P(SQLDatabaseTest, OpenFailsAfterCorruptSizeInHeader) {
|
||||
base::HistogramTester tester;
|
||||
expecter.ExpectError(SQLITE_CORRUPT);
|
||||
ASSERT_FALSE(db_->Open(db_path_));
|
||||
tester.ExpectUniqueSample("Sql.Database.Open.FirstAttempt.Error.NoTag",
|
||||
tester.ExpectUniqueSample("Sql.Database.Open.FirstAttempt.Error.Test",
|
||||
SqliteResultCode::kCorrupt, 1);
|
||||
EXPECT_TRUE(expecter.SawExpectedErrors());
|
||||
}
|
||||
@ -2414,10 +2414,10 @@ TEST_P(SQLDatabaseTest, OpenWithRecoveryHandlesCorruption) {
|
||||
// thus `Database::Open()`'s second attempt at opening the database will
|
||||
// succeed.
|
||||
ASSERT_EQ(db_->Open(db_path_), !corrupt_after_recovery);
|
||||
tester.ExpectUniqueSample("Sql.Database.Open.FirstAttempt.Error.NoTag",
|
||||
tester.ExpectUniqueSample("Sql.Database.Open.FirstAttempt.Error.Test",
|
||||
SqliteResultCode::kCorrupt, 1);
|
||||
if (corrupt_after_recovery) {
|
||||
tester.ExpectUniqueSample("Sql.Database.Open.SecondAttempt.Error.NoTag",
|
||||
tester.ExpectUniqueSample("Sql.Database.Open.SecondAttempt.Error.Test",
|
||||
SqliteResultCode::kCorrupt, 1);
|
||||
}
|
||||
EXPECT_TRUE(expecter.SawExpectedErrors());
|
||||
@ -2441,7 +2441,7 @@ TEST_P(SQLDatabaseTest, ExecuteFailsAfterCorruptSizeInHeader) {
|
||||
base::HistogramTester tester;
|
||||
expecter.ExpectError(SQLITE_CORRUPT);
|
||||
ASSERT_FALSE(db_->Open(db_path_));
|
||||
tester.ExpectUniqueSample("Sql.Database.Open.FirstAttempt.Error.NoTag",
|
||||
tester.ExpectUniqueSample("Sql.Database.Open.FirstAttempt.Error.Test",
|
||||
SqliteResultCode::kCorrupt, 1);
|
||||
EXPECT_TRUE(expecter.SawExpectedErrors())
|
||||
<< "Database::Open() did not encounter SQLITE_CORRUPT";
|
||||
@ -2468,7 +2468,7 @@ TEST_P(SQLDatabaseTest, SchemaFailsAfterCorruptSizeInHeader) {
|
||||
base::HistogramTester tester;
|
||||
expecter.ExpectError(SQLITE_CORRUPT);
|
||||
ASSERT_FALSE(db_->Open(db_path_));
|
||||
tester.ExpectUniqueSample("Sql.Database.Open.FirstAttempt.Error.NoTag",
|
||||
tester.ExpectUniqueSample("Sql.Database.Open.FirstAttempt.Error.Test",
|
||||
SqliteResultCode::kCorrupt, 1);
|
||||
EXPECT_TRUE(expecter.SawExpectedErrors())
|
||||
<< "Database::Open() did not encounter SQLITE_CORRUPT";
|
||||
@ -2483,7 +2483,7 @@ TEST_P(SQLDatabaseTest, SchemaFailsAfterCorruptSizeInHeader) {
|
||||
}
|
||||
|
||||
TEST(SQLEmptyPathDatabaseTest, EmptyPathTest) {
|
||||
Database db;
|
||||
Database db(test::kTestTag);
|
||||
EXPECT_TRUE(db.OpenInMemory());
|
||||
EXPECT_TRUE(db.is_open());
|
||||
EXPECT_TRUE(db.DbPath().empty());
|
||||
|
@ -12,6 +12,7 @@ fuzzer_test("sql_recovery_lpm_fuzzer") {
|
||||
"//base",
|
||||
"//base/test:test_support",
|
||||
"//sql",
|
||||
"//sql:test_support",
|
||||
"//third_party/libprotobuf-mutator",
|
||||
"//third_party/sqlite:sql_query_proto_to_string",
|
||||
"//third_party/sqlite:sqlite3_lpm_fuzzer_input",
|
||||
|
@ -47,6 +47,7 @@
|
||||
#include "sql/fuzzers/sql_disk_corruption.pb.h"
|
||||
#include "sql/recovery.h"
|
||||
#include "sql/statement.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
#include "testing/libfuzzer/proto/lpm_interface.h"
|
||||
#include "third_party/sqlite/fuzz/sql_query_grammar.pb.h"
|
||||
#include "third_party/sqlite/fuzz/sql_query_proto_to_string.h"
|
||||
@ -279,7 +280,7 @@ DEFINE_PROTO_FUZZER(const sql_fuzzers::RecoveryFuzzerTestCase& fuzzer_input) {
|
||||
|
||||
sql::DatabaseOptions database_options;
|
||||
database_options.wal_mode = test_case.wal_mode();
|
||||
sql::Database database(database_options);
|
||||
sql::Database database(database_options, sql::test::kTestTag);
|
||||
CHECK(database.Open(env.db_path()));
|
||||
|
||||
// Bootstrap the database with SQL queries derived from `fuzzer_input`.
|
||||
|
@ -11,6 +11,7 @@
|
||||
#include "base/files/file_path.h"
|
||||
#include "base/files/scoped_temp_dir.h"
|
||||
#include "sql/database.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
|
||||
namespace sql {
|
||||
@ -19,8 +20,6 @@ namespace {
|
||||
|
||||
class SQLMetaTableTest : public testing::Test {
|
||||
public:
|
||||
~SQLMetaTableTest() override = default;
|
||||
|
||||
void SetUp() override {
|
||||
ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
|
||||
ASSERT_TRUE(
|
||||
@ -29,7 +28,7 @@ class SQLMetaTableTest : public testing::Test {
|
||||
|
||||
protected:
|
||||
base::ScopedTempDir temp_dir_;
|
||||
Database db_;
|
||||
Database db_{test::kTestTag};
|
||||
};
|
||||
|
||||
TEST_F(SQLMetaTableTest, DoesTableExist) {
|
||||
|
@ -73,10 +73,12 @@ bool Recovery::RecoverIfPossible(Database* database,
|
||||
Recovery::Recovery(Database* database, Strategy strategy)
|
||||
: strategy_(strategy),
|
||||
db_(database),
|
||||
recover_db_(sql::DatabaseOptions{
|
||||
.page_size = database ? database->page_size() : 0,
|
||||
.cache_size = 0,
|
||||
}) {
|
||||
recover_db_(
|
||||
sql::DatabaseOptions{
|
||||
.page_size = database ? database->page_size() : 0,
|
||||
.cache_size = 0,
|
||||
},
|
||||
"Recovery") {
|
||||
CHECK(db_);
|
||||
CHECK(db_->is_open());
|
||||
// Recovery is likely to be used in error handling. To prevent re-entry due to
|
||||
|
@ -131,7 +131,7 @@ TEST_P(SqlRecoveryTest, ShouldAttemptRecovery) {
|
||||
EXPECT_FALSE(Recovery::ShouldAttemptRecovery(nullptr, SQLITE_CORRUPT));
|
||||
|
||||
// Do not attempt to recover closed databases.
|
||||
Database invalid_db;
|
||||
Database invalid_db(test::kTestTag);
|
||||
EXPECT_FALSE(Recovery::ShouldAttemptRecovery(&invalid_db, SQLITE_CORRUPT));
|
||||
|
||||
// Do not attempt to recover in-memory databases.
|
||||
@ -630,7 +630,7 @@ TEST_P(SqlRecoveryTest, RecoverIfPossibleWithPerDatabaseUma) {
|
||||
|
||||
TEST_P(SqlRecoveryTest, RecoverDatabaseWithView) {
|
||||
db_.Close();
|
||||
sql::Database db({.enable_views_discouraged = true});
|
||||
sql::Database db({.enable_views_discouraged = true}, test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(db_path_));
|
||||
|
||||
ASSERT_TRUE(db.Execute(
|
||||
@ -797,7 +797,7 @@ void TestPageSize(const base::FilePath& db_prefix,
|
||||
const base::FilePath db_path = db_prefix.InsertBeforeExtensionASCII(
|
||||
base::NumberToString(initial_page_size));
|
||||
Database::Delete(db_path);
|
||||
Database db({.page_size = initial_page_size});
|
||||
Database db({.page_size = initial_page_size}, test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(db_path));
|
||||
ASSERT_TRUE(db.Execute(kCreateSql));
|
||||
ASSERT_TRUE(db.Execute(kInsertSql1));
|
||||
@ -807,7 +807,7 @@ void TestPageSize(const base::FilePath& db_prefix,
|
||||
db.Close();
|
||||
|
||||
// Re-open the database while setting a new |options.page_size| in the object.
|
||||
Database recover_db({.page_size = final_page_size});
|
||||
Database recover_db({.page_size = final_page_size}, test::kTestTag);
|
||||
ASSERT_TRUE(recover_db.Open(db_path));
|
||||
// Recovery will use the page size set in the database object, which may not
|
||||
// match the file's page size.
|
||||
@ -819,7 +819,8 @@ void TestPageSize(const base::FilePath& db_prefix,
|
||||
recover_db.Close();
|
||||
|
||||
// Make sure the page size is read from the file.
|
||||
Database recovered_db({.page_size = DatabaseOptions::kDefaultPageSize});
|
||||
Database recovered_db({.page_size = DatabaseOptions::kDefaultPageSize},
|
||||
test::kTestTag);
|
||||
ASSERT_TRUE(recovered_db.Open(db_path));
|
||||
ASSERT_EQ(expected_final_page_size,
|
||||
ExecuteWithResult(&recovered_db, "PRAGMA page_size"));
|
||||
@ -884,7 +885,7 @@ TEST_P(SqlRecoveryTest, CannotRecoverNullDb) {
|
||||
// whether the database is in-memory and will instead likely result in
|
||||
// unexpected behavior or crashes.
|
||||
TEST_P(SqlRecoveryTest, CannotRecoverInMemoryDb) {
|
||||
Database in_memory_db;
|
||||
Database in_memory_db(test::kTestTag);
|
||||
ASSERT_TRUE(in_memory_db.OpenInMemory());
|
||||
|
||||
EXPECT_CHECK_DEATH(std::ignore = Recovery::RecoverDatabase(
|
||||
@ -900,7 +901,7 @@ TEST_P(SqlRecoveryTest, PRE_RecoverFormerlyWalDbAfterCrash) {
|
||||
temp_dir_.GetPath().AppendASCII("recovery_wal_test.sqlite");
|
||||
|
||||
// Open the DB in WAL mode to set journal_mode="wal".
|
||||
Database wal_db{{.wal_mode = true}};
|
||||
Database wal_db{{.wal_mode = true}, test::kTestTag};
|
||||
ASSERT_TRUE(wal_db.Open(wal_db_path));
|
||||
|
||||
EXPECT_TRUE(wal_db.UseWALMode());
|
||||
@ -915,7 +916,7 @@ TEST_P(SqlRecoveryTest, RecoverFormerlyWalDbAfterCrash) {
|
||||
base::FilePath wal_db_path =
|
||||
temp_dir_.GetPath().AppendASCII("recovery_wal_test.sqlite");
|
||||
|
||||
Database non_wal_db{{.wal_mode = false}};
|
||||
Database non_wal_db{{.wal_mode = false}, test::kTestTag};
|
||||
ASSERT_TRUE(non_wal_db.Open(wal_db_path));
|
||||
|
||||
auto run_recovery = base::BindLambdaForTesting([&]() {
|
||||
|
@ -8,6 +8,7 @@
|
||||
#include "base/trace_event/memory_dump_request_args.h"
|
||||
#include "base/trace_event/process_memory_dump.h"
|
||||
#include "sql/database.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
|
||||
namespace sql {
|
||||
@ -16,8 +17,6 @@ namespace {
|
||||
|
||||
class SQLMemoryDumpProviderTest : public testing::Test {
|
||||
public:
|
||||
~SQLMemoryDumpProviderTest() override = default;
|
||||
|
||||
void SetUp() override {
|
||||
ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
|
||||
ASSERT_TRUE(db_.Open(
|
||||
@ -28,7 +27,7 @@ class SQLMemoryDumpProviderTest : public testing::Test {
|
||||
|
||||
protected:
|
||||
base::ScopedTempDir temp_dir_;
|
||||
Database db_;
|
||||
Database db_{test::kTestTag};
|
||||
};
|
||||
|
||||
TEST_F(SQLMemoryDumpProviderTest, OnMemoryDump) {
|
||||
|
@ -46,6 +46,7 @@ using sql::test::ExecuteWithResults;
|
||||
|
||||
class SQLiteFeaturesTest : public testing::Test {
|
||||
public:
|
||||
SQLiteFeaturesTest() : db_(sql::test::kTestTag) {}
|
||||
~SQLiteFeaturesTest() override = default;
|
||||
|
||||
void SetUp() override {
|
||||
@ -98,7 +99,7 @@ TEST_F(SQLiteFeaturesTest, FTS3) {
|
||||
// "*"}. Test that fts3 works correctly.
|
||||
TEST_F(SQLiteFeaturesTest, FTS3_Prefix) {
|
||||
db_.Close();
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
db.SetEnableVirtualTablesForTesting(true);
|
||||
ASSERT_TRUE(db.Open(db_path_));
|
||||
|
||||
|
@ -16,6 +16,7 @@
|
||||
#include "base/test/metrics/histogram_tester.h"
|
||||
#include "sql/database.h"
|
||||
#include "sql/test/scoped_error_expecter.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
#include "third_party/sqlite/sqlite3.h"
|
||||
|
||||
@ -32,7 +33,7 @@ class StatementTest : public testing::Test {
|
||||
|
||||
protected:
|
||||
base::ScopedTempDir temp_dir_;
|
||||
Database db_{"Test"};
|
||||
Database db_{test::kTestTag};
|
||||
};
|
||||
|
||||
TEST_F(StatementTest, Assign) {
|
||||
|
@ -162,7 +162,7 @@ bool CorruptSizeInHeader(const base::FilePath& db_path) {
|
||||
// This function doesn't reliably work if connections to the DB are still
|
||||
// open. The database is opened in excusive mode. Open will fail if any
|
||||
// other connection exists on the database.
|
||||
sql::Database db({.wal_mode = true});
|
||||
sql::Database db({.wal_mode = true}, kTestTag);
|
||||
if (!db.Open(db_path))
|
||||
return false;
|
||||
int wal_log_size = 0;
|
||||
@ -201,7 +201,7 @@ bool CorruptSizeInHeader(const base::FilePath& db_path) {
|
||||
|
||||
bool CorruptSizeInHeaderWithLock(const base::FilePath& db_path) {
|
||||
base::ScopedAllowBlockingForTesting allow_blocking;
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
if (!db.Open(db_path))
|
||||
return false;
|
||||
|
||||
@ -219,7 +219,7 @@ bool CorruptIndexRootPage(const base::FilePath& db_path,
|
||||
if (!page_size.has_value())
|
||||
return false;
|
||||
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
if (!db.Open(db_path))
|
||||
return false;
|
||||
|
||||
@ -290,7 +290,7 @@ bool CreateDatabaseFromSQL(const base::FilePath& db_path,
|
||||
if (!base::ReadFileToString(sql_path, &sql))
|
||||
return false;
|
||||
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
if (!db.Open(db_path))
|
||||
return false;
|
||||
|
||||
|
@ -26,6 +26,10 @@ class Database;
|
||||
|
||||
namespace sql::test {
|
||||
|
||||
// A convenience tag to use in tests as an argument to sql::Database
|
||||
// constructors.
|
||||
inline constexpr char kTestTag[] = "Test";
|
||||
|
||||
// Read a database's page size. Returns nullopt in case of error.
|
||||
std::optional<int> ReadDatabasePageSize(const base::FilePath& db_path);
|
||||
|
||||
|
@ -9,6 +9,7 @@
|
||||
#include "base/files/scoped_temp_dir.h"
|
||||
#include "sql/database.h"
|
||||
#include "sql/statement.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
|
||||
namespace sql {
|
||||
@ -17,8 +18,6 @@ namespace {
|
||||
|
||||
class SQLTransactionTest : public testing::Test {
|
||||
public:
|
||||
~SQLTransactionTest() override = default;
|
||||
|
||||
void SetUp() override {
|
||||
ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
|
||||
ASSERT_TRUE(
|
||||
@ -36,7 +35,7 @@ class SQLTransactionTest : public testing::Test {
|
||||
|
||||
protected:
|
||||
base::ScopedTempDir temp_dir_;
|
||||
Database db_;
|
||||
Database db_{test::kTestTag};
|
||||
};
|
||||
|
||||
TEST_F(SQLTransactionTest, Commit) {
|
||||
@ -207,7 +206,7 @@ TEST_F(SQLTransactionTest, NestedRollback) {
|
||||
}
|
||||
|
||||
TEST(SQLTransactionDatabaseDestroyedTest, BeginIsNoOp) {
|
||||
auto db = std::make_unique<Database>();
|
||||
auto db = std::make_unique<Database>(test::kTestTag);
|
||||
ASSERT_TRUE(db->OpenInMemory());
|
||||
Transaction transaction(db.get());
|
||||
db.reset();
|
||||
@ -215,7 +214,7 @@ TEST(SQLTransactionDatabaseDestroyedTest, BeginIsNoOp) {
|
||||
}
|
||||
|
||||
TEST(SQLTransactionDatabaseDestroyedTest, RollbackIsNoOp) {
|
||||
auto db = std::make_unique<Database>();
|
||||
auto db = std::make_unique<Database>(test::kTestTag);
|
||||
ASSERT_TRUE(db->OpenInMemory());
|
||||
Transaction transaction(db.get());
|
||||
ASSERT_TRUE(transaction.Begin());
|
||||
@ -227,7 +226,7 @@ TEST(SQLTransactionDatabaseDestroyedTest, RollbackIsNoOp) {
|
||||
}
|
||||
|
||||
TEST(SQLTransactionDatabaseDestroyedTest, CommitIsNoOp) {
|
||||
auto db = std::make_unique<Database>();
|
||||
auto db = std::make_unique<Database>(test::kTestTag);
|
||||
ASSERT_TRUE(db->OpenInMemory());
|
||||
Transaction transaction(db.get());
|
||||
ASSERT_TRUE(transaction.Begin());
|
||||
|
@ -2,6 +2,8 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "storage/browser/database/databases_table.h"
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
#include <string>
|
||||
@ -11,7 +13,7 @@
|
||||
#include "sql/database.h"
|
||||
#include "sql/statement.h"
|
||||
#include "sql/test/scoped_error_expecter.h"
|
||||
#include "storage/browser/database/databases_table.h"
|
||||
#include "sql/test/test_helpers.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
#include "third_party/sqlite/sqlite3.h"
|
||||
|
||||
@ -32,7 +34,7 @@ static bool DatabasesTableIsEmpty(sql::Database* db) {
|
||||
|
||||
TEST(DatabasesTableTest, TestIt) {
|
||||
// Initialize the 'Databases' table.
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
|
||||
sql::test::ScopedErrorExpecter expecter;
|
||||
// TODO(shess): Suppressing SQLITE_CONSTRAINT because the code
|
||||
|
@ -68,7 +68,7 @@ class QuotaDatabaseMigrationsTest : public testing::Test {
|
||||
if (contents.empty())
|
||||
return false;
|
||||
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
if (!base::CreateDirectory(db_path.DirName()) || !db.Open(db_path) ||
|
||||
!db.Execute(contents)) {
|
||||
return false;
|
||||
@ -89,7 +89,7 @@ class QuotaDatabaseMigrationsTest : public testing::Test {
|
||||
base::FilePath current_version_path =
|
||||
temp_directory_.GetPath().AppendASCII("current_version.db");
|
||||
EXPECT_TRUE(LoadDatabase("version_10.sql", current_version_path));
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
EXPECT_TRUE(db.Open(current_version_path));
|
||||
return db.GetSchema();
|
||||
}
|
||||
@ -120,7 +120,7 @@ TEST_F(QuotaDatabaseMigrationsTest, UpgradeSchemaFromV7) {
|
||||
ASSERT_TRUE(LoadDatabase("version_7.sql", DbPath()));
|
||||
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(DbPath()));
|
||||
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&db));
|
||||
@ -153,7 +153,7 @@ TEST_F(QuotaDatabaseMigrationsTest, UpgradeSchemaFromV7) {
|
||||
|
||||
// Verify upgraded schema.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(DbPath()));
|
||||
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&db));
|
||||
@ -194,7 +194,7 @@ TEST_F(QuotaDatabaseMigrationsTest, UpgradeSchemaFromV8) {
|
||||
ASSERT_TRUE(LoadDatabase("version_8.sql", DbPath()));
|
||||
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(DbPath()));
|
||||
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&db));
|
||||
@ -230,7 +230,7 @@ TEST_F(QuotaDatabaseMigrationsTest, UpgradeSchemaFromV8) {
|
||||
|
||||
// Verify upgraded schema.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(DbPath()));
|
||||
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&db));
|
||||
@ -272,7 +272,7 @@ TEST_F(QuotaDatabaseMigrationsTest, UpgradeSchemaFromV9) {
|
||||
ASSERT_TRUE(LoadDatabase("version_9.sql", DbPath()));
|
||||
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(DbPath()));
|
||||
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&db));
|
||||
@ -308,7 +308,7 @@ TEST_F(QuotaDatabaseMigrationsTest, UpgradeSchemaFromV9) {
|
||||
|
||||
// Verify upgraded schema.
|
||||
{
|
||||
sql::Database db;
|
||||
sql::Database db(sql::test::kTestTag);
|
||||
ASSERT_TRUE(db.Open(DbPath()));
|
||||
|
||||
ASSERT_TRUE(sql::MetaTable::DoesTableExist(&db));
|
||||
|
Reference in New Issue
Block a user