| Index: chrome/browser/chromeos/gdata/gdata_db_unittest.cc
|
| ===================================================================
|
| --- chrome/browser/chromeos/gdata/gdata_db_unittest.cc (revision 0)
|
| +++ chrome/browser/chromeos/gdata/gdata_db_unittest.cc (revision 0)
|
| @@ -0,0 +1,137 @@
|
| +// Copyright (c) 2012 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 "chrome/browser/chromeos/gdata/gdata_db.h"
|
| +
|
| +#include "chrome/browser/chromeos/gdata/gdata_files.h"
|
| +#include "testing/gtest/include/gtest/gtest.h"
|
| +#include "chrome/test/base/testing_profile.h"
|
| +
|
| +namespace gdata {
|
| +namespace {
|
| +
|
| +class GDataDBTest : public testing::Test {
|
| + public:
|
| + GDataDBTest() {
|
| + }
|
| +
|
| + virtual ~GDataDBTest() {
|
| + }
|
| +
|
| + protected:
|
| + virtual void SetUp() OVERRIDE;
|
| +
|
| + void TestGetNotFound(const std::string& file_name,
|
| + const std::string& resource_id);
|
| +
|
| + void TestGetFound(const std::string& file_name,
|
| + const std::string& resource_id,
|
| + const GURL& content_url);
|
| +
|
| + scoped_ptr<TestingProfile> profile_;
|
| + scoped_ptr<GDataDB> gdata_db_;
|
| +};
|
| +
|
| +void GDataDBTest::SetUp() {
|
| + profile_.reset(new TestingProfile());
|
| + gdata_db_ = GDataDB::Create(profile_->GetPath().Append("testdb"));
|
| +}
|
| +
|
| +void GDataDBTest::TestGetNotFound(const std::string& file_name,
|
| + const std::string& resource_id) {
|
| + scoped_ptr<GDataEntry> entry;
|
| + GDataDB::Status status = gdata_db_->GetByPath(file_name, &entry);
|
| + EXPECT_EQ(GDataDB::DB_NOT_FOUND, status);
|
| + EXPECT_FALSE(entry.get());
|
| +
|
| + status = gdata_db_->GetByResourceId(resource_id, &entry);
|
| + EXPECT_EQ(GDataDB::DB_NOT_FOUND, status);
|
| + EXPECT_FALSE(entry.get());
|
| +}
|
| +
|
| +void GDataDBTest::TestGetFound(const std::string& file_name,
|
| + const std::string& resource_id,
|
| + const GURL& content_url) {
|
| + scoped_ptr<GDataEntry> entry;
|
| + GDataDB::Status status = gdata_db_->GetByPath(file_name, &entry);
|
| + EXPECT_EQ(GDataDB::DB_OK, status);
|
| + ASSERT_TRUE(entry.get());
|
| + EXPECT_EQ(file_name, entry->file_name());
|
| + EXPECT_EQ(resource_id, entry->resource_id());
|
| + EXPECT_EQ(content_url, entry->content_url());
|
| + entry.reset();
|
| +
|
| + status = gdata_db_->GetByResourceId(resource_id, &entry);
|
| + EXPECT_EQ(GDataDB::DB_OK, status);
|
| + ASSERT_TRUE(entry.get());
|
| + EXPECT_EQ(file_name, entry->file_name());
|
| + EXPECT_EQ(resource_id, entry->resource_id());
|
| + EXPECT_EQ(content_url, entry->content_url());
|
| +}
|
| +
|
| +} // namespace
|
| +
|
| +TEST_F(GDataDBTest, FileTest) {
|
| + GDataFile file1(NULL, NULL);
|
| + const std::string file_name1("/gdata/dir1/file1");
|
| + const std::string resource_id1("abcd");
|
| + const GURL content_url1("http://content/dir1/file1");
|
| + const std::string file_md51("ijkl");
|
| + base::PlatformFileInfo file_info;
|
| + file_info.is_directory = false;
|
| + file1.set_file_name(file_name1);
|
| + file1.set_file_info(file_info);
|
| + file1.set_resource_id(resource_id1);
|
| + file1.set_content_url(content_url1);
|
| + file1.set_file_md5(file_md51);
|
| +
|
| + TestGetNotFound(file_name1, resource_id1);
|
| +
|
| + GDataDB::Status status = gdata_db_->Put(file1);
|
| + EXPECT_EQ(GDataDB::DB_OK, status);
|
| +
|
| + TestGetFound(file_name1, resource_id1, content_url1);
|
| +
|
| + scoped_ptr<GDataEntry> entry;
|
| + gdata_db_->GetByPath(file_name1, &entry);
|
| + EXPECT_EQ(file_md51, entry->AsGDataFile()->file_md5());
|
| +
|
| + status = gdata_db_->DeleteByPath(file_name1);
|
| + EXPECT_EQ(GDataDB::DB_OK, status);
|
| +
|
| + TestGetNotFound(file_name1, resource_id1);
|
| +}
|
| +
|
| +TEST_F(GDataDBTest, DirTest) {
|
| + GDataDirectory dir1(NULL, NULL);
|
| + const std::string dir_name1("/gdata/dir1");
|
| + const std::string dir_resource_id1("efgh");
|
| + const GURL dir_content_url1("http://content/dir1");
|
| + const GURL upload_url1("http://upload/dir1");
|
| + base::PlatformFileInfo dir_info;
|
| + dir_info.is_directory = true;
|
| + dir1.set_file_name(dir_name1);
|
| + dir1.set_file_info(dir_info);
|
| + dir1.set_resource_id(dir_resource_id1);
|
| + dir1.set_content_url(dir_content_url1);
|
| + dir1.set_upload_url(upload_url1);
|
| +
|
| + TestGetNotFound(dir_name1, dir_resource_id1);
|
| +
|
| + GDataDB::Status status = gdata_db_->Put(dir1);
|
| + EXPECT_EQ(GDataDB::DB_OK, status);
|
| +
|
| + TestGetFound(dir_name1, dir_resource_id1, dir_content_url1);
|
| +
|
| + scoped_ptr<GDataEntry> entry;
|
| + gdata_db_->GetByPath(dir_name1, &entry);
|
| + EXPECT_EQ(upload_url1, entry->AsGDataDirectory()->upload_url());
|
| +
|
| + status = gdata_db_->DeleteByPath(dir_name1);
|
| + EXPECT_EQ(GDataDB::DB_OK, status);
|
| +
|
| + TestGetNotFound(dir_name1, dir_resource_id1);
|
| +}
|
| +
|
| +} // namespace gdata
|
|
|
| Property changes on: chrome/browser/chromeos/gdata/gdata_db_unittest.cc
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|