#include "components/offline_pages/core/offline_page_metadata_store.h"
#include <stdint.h>
#include <memory>
#include <set>
#include <string>
#include <utility>
#include "base/files/file_path.h"
#include "base/files/scoped_temp_dir.h"
#include "base/functional/bind.h"
#include "base/memory/ref_counted.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/utf_string_conversions.h"
#include "base/task/single_thread_task_runner.h"
#include "base/test/bind.h"
#include "base/test/test_mock_time_task_runner.h"
#include "components/offline_pages/core/client_namespace_constants.h"
#include "components/offline_pages/core/model/offline_page_item_generator.h"
#include "components/offline_pages/core/offline_clock.h"
#include "components/offline_pages/core/offline_page_item.h"
#include "components/offline_pages/core/offline_page_model.h"
#include "components/offline_pages/core/offline_page_visuals.h"
#include "components/offline_pages/core/offline_store_utils.h"
#include "sql/database.h"
#include "sql/meta_table.h"
#include "sql/statement.h"
#include "sql/transaction.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace offline_pages {
namespace {
InitializationStatus;
OfflinePageSet;
#define OFFLINE_PAGES_TABLE_V1 …
const char kTestClientNamespace[] = …;
const char kTestURL[] = …;
const char kOriginalTestURL[] = …;
const ClientId kTestClientId1(kTestClientNamespace, "1234");
const ClientId kTestClientId2(kTestClientNamespace, "5678");
const base::FilePath::CharType kFilePath[] = …);
int64_t kFileSize = …;
int64_t kOfflineId = …;
const char kTestRequestOrigin[] = …;
int64_t kTestSystemDownloadId = …;
const char kTestDigest[] = …;
const base::Time kVisualsExpiration = …;
const char kTestSnippet[] = …;
const char kTestAttribution[] = …;
OfflinePageVisuals TestVisuals() { … }
void BuildTestStoreWithSchemaFromM52(const base::FilePath& file) { … }
void BuildTestStoreWithSchemaFromM53(const base::FilePath& file) { … }
void BuildTestStoreWithSchemaFromM54(const base::FilePath& file) { … }
void BuildTestStoreWithSchemaFromM55(const base::FilePath& file) { … }
void BuildTestStoreWithSchemaFromM56(const base::FilePath& file) { … }
void BuildTestStoreWithSchemaFromM57(const base::FilePath& file) { … }
void BuildTestStoreWithSchemaFromM61(const base::FilePath& file) { … }
void InjectItemInM62Store(sql::Database* db, const OfflinePageItem& item) { … }
void BuildTestStoreWithSchemaFromM62(const base::FilePath& file) { … }
void BuildTestStoreWithSchemaVersion1(const base::FilePath& file) { … }
void BuildTestStoreWithSchemaVersion2(const base::FilePath& file) { … }
bool InsertVisualsVersion3(sql::Database* db,
const OfflinePageVisuals& visuals) { … }
void BuildTestStoreWithSchemaVersion3(const base::FilePath& file) { … }
OfflinePageItem MakeOfflinePageItem(sql::Statement* statement) { … }
std::vector<OfflinePageItem> GetOfflinePagesSync(sql::Database* db) { … }
class OfflinePageMetadataStoreTest : public testing::Test { … };
TEST_F(OfflinePageMetadataStoreTest, LoadEmptyStore) { … }
TEST_F(OfflinePageMetadataStoreTest, GetOfflinePagesFromInvalidStore) { … }
TEST_F(OfflinePageMetadataStoreTest, LoadVersion52Store) { … }
TEST_F(OfflinePageMetadataStoreTest, LoadVersion53Store) { … }
TEST_F(OfflinePageMetadataStoreTest, LoadVersion54Store) { … }
TEST_F(OfflinePageMetadataStoreTest, LoadVersion55Store) { … }
TEST_F(OfflinePageMetadataStoreTest, LoadVersion56Store) { … }
TEST_F(OfflinePageMetadataStoreTest, LoadVersion57Store) { … }
TEST_F(OfflinePageMetadataStoreTest, LoadVersion61Store) { … }
TEST_F(OfflinePageMetadataStoreTest, LoadVersion62Store) { … }
TEST_F(OfflinePageMetadataStoreTest, LoadStoreWithMetaVersion1) { … }
TEST_F(OfflinePageMetadataStoreTest, LoadStoreWithMetaVersion2) { … }
TEST_F(OfflinePageMetadataStoreTest, LoadStoreWithMetaVersion3) { … }
TEST_F(OfflinePageMetadataStoreTest, AddOfflinePage) { … }
TEST_F(OfflinePageMetadataStoreTest, AddSameOfflinePageTwice) { … }
TEST_F(OfflinePageMetadataStoreTest, AddRemoveMultipleOfflinePages) { … }
TEST_F(OfflinePageMetadataStoreTest, StoreCloses) { … }
TEST_F(OfflinePageMetadataStoreTest, MultiplePendingCalls) { … }
}
}