blob: f34a2ae136f6953c1fbc25664a010d11245b98ca [file] [log] [blame]
// Copyright 2019 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef ARC_APK_CACHE_APK_CACHE_DATABASE_TEST_UTILS_H_
#define ARC_APK_CACHE_APK_CACHE_DATABASE_TEST_UTILS_H_
#include <stdint.h>
#include <string>
namespace base {
class FilePath;
class Time;
} // namespace base
namespace apk_cache {
struct Session;
struct FileEntry;
} // namespace apk_cache
namespace apk_cache {
// Create database and tables for testing.
int CreateDatabaseForTesting(const base::FilePath& db_path);
// Insert session into database for testing.
bool InsertSessionForTesting(const base::FilePath& db_path,
const Session& session);
// Insert file entry into database for testing.
bool InsertFileEntryForTesting(const base::FilePath& db_path,
const FileEntry& file_entry);
// Update session timestamp for testing.
bool UpdateSessionTimestampForTesting(const base::FilePath& db_path,
int64_t id,
const base::Time& timestamp);
// Update session status for testing.
bool UpdateSessionStatusForTesting(const base::FilePath& db_path,
int64_t id,
int32_t status);
// Update file entry access time for testing.
bool UpdateFileAccessTimeForTesting(const base::FilePath& db_path,
int64_t id,
const base::Time& access_time);
// Delete files of specific type for testing.
bool DeleteFilesOfTypeForTesting(const base::FilePath& db_path,
const std::string& package_name,
int64_t version_code,
const std::string& type);
} // namespace apk_cache
#endif // ARC_APK_CACHE_APK_CACHE_DATABASE_TEST_UTILS_H_