summaryrefslogtreecommitdiffstats
path: root/sql/mojo/sql_test_base.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sql/mojo/sql_test_base.cc')
-rw-r--r--sql/mojo/sql_test_base.cc164
1 files changed, 0 insertions, 164 deletions
diff --git a/sql/mojo/sql_test_base.cc b/sql/mojo/sql_test_base.cc
deleted file mode 100644
index baecd04..0000000
--- a/sql/mojo/sql_test_base.cc
+++ /dev/null
@@ -1,164 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "sql/mojo/sql_test_base.h"
-
-#include <stddef.h>
-#include <stdint.h>
-#include <utility>
-
-#include "mojo/shell/public/cpp/shell.h"
-#include "mojo/util/capture_util.h"
-#include "sql/mojo/mojo_vfs.h"
-#include "sql/test/test_helpers.h"
-
-using mojo::Capture;
-
-namespace sql {
-
-SQLTestBase::SQLTestBase()
- : binding_(this) {
-}
-
-SQLTestBase::~SQLTestBase() {
-}
-
-base::FilePath SQLTestBase::db_path() {
- return base::FilePath(FILE_PATH_LITERAL("SQLTest.db"));
-}
-
-sql::Connection& SQLTestBase::db() {
- return db_;
-}
-
-bool SQLTestBase::Reopen() {
- db_.Close();
- return db_.Open(db_path());
-}
-
-bool SQLTestBase::GetPathExists(const base::FilePath& path) {
- filesystem::FileError error = filesystem::FileError::FAILED;
- bool exists = false;
- vfs_->GetDirectory()->Exists(path.AsUTF8Unsafe(), Capture(&error, &exists));
- vfs_->GetDirectory().WaitForIncomingResponse();
- if (error != filesystem::FileError::OK)
- return false;
- return exists;
-}
-
-bool SQLTestBase::CorruptSizeInHeaderOfDB() {
- // See http://www.sqlite.org/fileformat.html#database_header
- const size_t kHeaderSize = 100;
-
- mojo::Array<uint8_t> header;
-
- filesystem::FileError error = filesystem::FileError::FAILED;
- filesystem::FilePtr file_ptr;
- vfs_->GetDirectory()->OpenFile(
- mojo::String(db_path().AsUTF8Unsafe()), GetProxy(&file_ptr),
- filesystem::kFlagRead | filesystem::kFlagWrite |
- filesystem::kFlagOpenAlways,
- Capture(&error));
- vfs_->GetDirectory().WaitForIncomingResponse();
- if (error != filesystem::FileError::OK)
- return false;
-
- file_ptr->Read(kHeaderSize, 0, filesystem::Whence::FROM_BEGIN,
- Capture(&error, &header));
- file_ptr.WaitForIncomingResponse();
- if (error != filesystem::FileError::OK)
- return false;
-
- filesystem::FileInformationPtr info;
- file_ptr->Stat(Capture(&error, &info));
- file_ptr.WaitForIncomingResponse();
- if (error != filesystem::FileError::OK)
- return false;
- int64_t db_size = info->size;
-
- test::CorruptSizeInHeaderMemory(&header.front(), db_size);
-
- uint32_t num_bytes_written = 0;
- file_ptr->Write(std::move(header), 0, filesystem::Whence::FROM_BEGIN,
- Capture(&error, &num_bytes_written));
- file_ptr.WaitForIncomingResponse();
- if (error != filesystem::FileError::OK)
- return false;
- if (num_bytes_written != kHeaderSize)
- return false;
-
- return true;
-}
-
-void SQLTestBase::WriteJunkToDatabase(WriteJunkType type) {
- uint32_t flags = 0;
- if (type == TYPE_OVERWRITE_AND_TRUNCATE)
- flags = filesystem::kFlagWrite | filesystem::kFlagCreate;
- else
- flags = filesystem::kFlagWrite | filesystem::kFlagOpen;
-
- filesystem::FileError error = filesystem::FileError::FAILED;
- filesystem::FilePtr file_ptr;
- vfs_->GetDirectory()->OpenFile(
- mojo::String(db_path().AsUTF8Unsafe()), GetProxy(&file_ptr),
- flags,
- Capture(&error));
- vfs_->GetDirectory().WaitForIncomingResponse();
- if (error != filesystem::FileError::OK)
- return;
-
- const char* kJunk = "Now is the winter of our discontent.";
- mojo::Array<uint8_t> data(strlen(kJunk));
- memcpy(&data.front(), kJunk, strlen(kJunk));
-
- uint32_t num_bytes_written = 0;
- file_ptr->Write(std::move(data), 0, filesystem::Whence::FROM_BEGIN,
- Capture(&error, &num_bytes_written));
- file_ptr.WaitForIncomingResponse();
-}
-
-void SQLTestBase::TruncateDatabase() {
- filesystem::FileError error = filesystem::FileError::FAILED;
- filesystem::FilePtr file_ptr;
- vfs_->GetDirectory()->OpenFile(
- mojo::String(db_path().AsUTF8Unsafe()), GetProxy(&file_ptr),
- filesystem::kFlagWrite | filesystem::kFlagOpen,
- Capture(&error));
- vfs_->GetDirectory().WaitForIncomingResponse();
- if (error != filesystem::FileError::OK)
- return;
-
- file_ptr->Truncate(0, Capture(&error));
- file_ptr.WaitForIncomingResponse();
- ASSERT_EQ(filesystem::FileError::OK, error);
-}
-
-void SQLTestBase::SetUp() {
- ApplicationTestBase::SetUp();
-
- shell()->ConnectToInterface("mojo:filesystem", &files_);
-
- filesystem::FileError error = filesystem::FileError::FAILED;
- filesystem::DirectoryPtr directory;
- files()->OpenFileSystem("temp", GetProxy(&directory),
- binding_.CreateInterfacePtrAndBind(),
- Capture(&error));
- ASSERT_TRUE(files().WaitForIncomingResponse());
- ASSERT_EQ(filesystem::FileError::OK, error);
-
- vfs_.reset(new ScopedMojoFilesystemVFS(std::move(directory)));
- ASSERT_TRUE(db_.Open(db_path()));
-}
-
-void SQLTestBase::TearDown() {
- db_.Close();
- vfs_.reset();
-
- ApplicationTestBase::TearDown();
-}
-
-void SQLTestBase::OnFileSystemShutdown() {
-}
-
-} // namespace sql