Commit 87f613cb authored by nhiroki@chromium.org's avatar nhiroki@chromium.org

SyncFS: Clean up callbacks in v1 tests

BUG=n/a
TEST=should pass all existing tests

Review URL: https://codereview.chromium.org/80973002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238414 0039d316-1c4b-4281-b951-d872f2087c98
parent 12b20d1e
......@@ -23,6 +23,7 @@
#include "chrome/browser/sync_file_system/sync_direction.h"
#include "chrome/browser/sync_file_system/sync_file_metadata.h"
#include "chrome/browser/sync_file_system/sync_file_system.pb.h"
#include "chrome/browser/sync_file_system/sync_file_system_test_util.h"
#include "chrome/browser/sync_file_system/syncable_file_system_util.h"
#include "chrome/test/base/testing_profile.h"
#include "content/public/test/test_browser_thread_bundle.h"
......@@ -78,44 +79,6 @@ void DidInitialize(bool* done, SyncStatusCode status, bool created) {
EXPECT_TRUE(created);
}
void DidProcessRemoteChange(SyncStatusCode* status_out,
fileapi::FileSystemURL* url_out,
SyncStatusCode status,
const fileapi::FileSystemURL& url) {
ASSERT_TRUE(status_out);
ASSERT_TRUE(url_out);
*status_out = status;
*url_out = url;
}
#if !defined(OS_ANDROID)
void DidGetRemoteVersions(
SyncStatusCode* status_out,
std::vector<RemoteFileSyncService::Version>* versions_out,
SyncStatusCode status,
const std::vector<RemoteFileSyncService::Version>& versions) {
*status_out = status;
*versions_out = versions;
}
void DidDownloadRemoteVersion(
SyncStatusCode* status_out,
webkit_blob::ScopedFile* downloaded_out,
SyncStatusCode status,
webkit_blob::ScopedFile downloaded) {
*status_out = status;
*downloaded_out = downloaded.Pass();
}
#endif // !defined(OS_ANDROID)
void ExpectEqStatus(bool* done,
SyncStatusCode expected,
SyncStatusCode actual) {
EXPECT_FALSE(*done);
*done = true;
EXPECT_EQ(expected, actual);
}
// Mocks adding an installed extension to ExtensionService.
scoped_refptr<const extensions::Extension> AddTestExtension(
ExtensionService* extension_service,
......@@ -375,7 +338,7 @@ class DriveFileSyncServiceFakeTest : public testing::Test {
}
sync_service_->ProcessRemoteChange(
base::Bind(&DidProcessRemoteChange, &actual_status, &actual_url));
CreateResultReceiver(&actual_status, &actual_url));
base::RunLoop().RunUntilIdle();
EXPECT_EQ(expected_status, actual_status);
......@@ -439,12 +402,12 @@ class DriveFileSyncServiceFakeTest : public testing::Test {
metadata.set_to_be_fetched(false);
metadata.set_type(DriveMetadata::RESOURCE_TYPE_FILE);
bool done = false;
SyncStatusCode status = SYNC_STATUS_UNKNOWN;
metadata_store()->UpdateEntry(
CreateURL(origin, title), metadata,
base::Bind(&ExpectEqStatus, &done, SYNC_STATUS_OK));
CreateResultReceiver(&status));
base::RunLoop().RunUntilIdle();
ASSERT_TRUE(done);
ASSERT_EQ(SYNC_STATUS_OK, status);
}
void TestRegisterNewOrigin();
......@@ -494,12 +457,12 @@ class DriveFileSyncServiceFakeTest : public testing::Test {
void DriveFileSyncServiceFakeTest::TestRegisterNewOrigin() {
SetUpDriveSyncService(true);
bool done = false;
SyncStatusCode status = SYNC_STATUS_UNKNOWN;
sync_service()->RegisterOrigin(
ExtensionNameToGURL(kExtensionName1),
base::Bind(&ExpectEqStatus, &done, SYNC_STATUS_OK));
CreateResultReceiver(&status));
base::RunLoop().RunUntilIdle();
EXPECT_TRUE(done);
EXPECT_EQ(SYNC_STATUS_OK, status);
VerifySizeOfRegisteredOrigins(0u, 1u, 0u);
EXPECT_TRUE(!remote_change_handler().HasChanges());
......@@ -522,12 +485,12 @@ void DriveFileSyncServiceFakeTest::TestRegisterExistingOrigin() {
SetUpDriveSyncService(true);
bool done = false;
SyncStatusCode status = SYNC_STATUS_UNKNOWN;
sync_service()->RegisterOrigin(
ExtensionNameToGURL(kExtensionName1),
base::Bind(&ExpectEqStatus, &done, SYNC_STATUS_OK));
CreateResultReceiver(&status));
base::RunLoop().RunUntilIdle();
EXPECT_TRUE(done);
EXPECT_EQ(SYNC_STATUS_OK, status);
// The origin should be registered as an incremental sync origin.
VerifySizeOfRegisteredOrigins(0u, 1u, 0u);
......@@ -542,12 +505,12 @@ void DriveFileSyncServiceFakeTest::TestRegisterOriginWithSyncDisabled() {
// still return OK).
SetUpDriveSyncService(false);
bool done = false;
SyncStatusCode status = SYNC_STATUS_UNKNOWN;
sync_service()->RegisterOrigin(
ExtensionNameToGURL(kExtensionName1),
base::Bind(&ExpectEqStatus, &done, SYNC_STATUS_OK));
CreateResultReceiver(&status));
base::RunLoop().RunUntilIdle();
EXPECT_TRUE(done);
EXPECT_EQ(SYNC_STATUS_OK, status);
// We must not have started batch sync for the newly registered origin,
// so it should still be in the batch_sync_origins.
......@@ -564,13 +527,13 @@ void DriveFileSyncServiceFakeTest::TestUninstallOrigin() {
VerifySizeOfRegisteredOrigins(0u, 2u, 0u);
EXPECT_EQ(0u, remote_change_handler().ChangesSize());
bool done = false;
SyncStatusCode status = SYNC_STATUS_UNKNOWN;
sync_service()->UninstallOrigin(
ExtensionNameToGURL(kExtensionName1),
RemoteFileSyncService::UNINSTALL_AND_PURGE_REMOTE,
base::Bind(&ExpectEqStatus, &done, SYNC_STATUS_OK));
CreateResultReceiver(&status));
base::RunLoop().RunUntilIdle();
EXPECT_TRUE(done);
EXPECT_EQ(SYNC_STATUS_OK, status);
VerifySizeOfRegisteredOrigins(0u, 1u, 0u);
EXPECT_TRUE(!remote_change_handler().HasChanges());
......@@ -800,7 +763,7 @@ void DriveFileSyncServiceFakeTest::TestGetRemoteVersions() {
SyncStatusCode status = SYNC_STATUS_FAILED;
std::vector<RemoteFileSyncService::Version> versions;
sync_service_->GetRemoteVersions(
url, base::Bind(&DidGetRemoteVersions, &status, &versions));
url, CreateResultReceiver(&status, &versions));
base::RunLoop().RunUntilIdle();
ASSERT_EQ(SYNC_STATUS_OK, status);
......@@ -813,8 +776,7 @@ void DriveFileSyncServiceFakeTest::TestGetRemoteVersions() {
status = SYNC_STATUS_FAILED;
webkit_blob::ScopedFile downloaded;
sync_service_->DownloadRemoteVersion(
url, versions[0].id,
base::Bind(&DidDownloadRemoteVersion, &status, &downloaded));
url, versions[0].id, CreateResultReceiver(&status, &downloaded));
base::RunLoop().RunUntilIdle();
ASSERT_EQ(SYNC_STATUS_OK, status);
......
......@@ -22,6 +22,7 @@
#include "chrome/browser/sync_file_system/local/local_file_sync_context.h"
#include "chrome/browser/sync_file_system/local/local_file_sync_service.h"
#include "chrome/browser/sync_file_system/local/sync_file_system_backend.h"
#include "chrome/browser/sync_file_system/sync_file_system_test_util.h"
#include "chrome/browser/sync_file_system/syncable_file_system_util.h"
#include "chrome/test/base/testing_profile.h"
#include "content/public/test/test_browser_thread.h"
......@@ -42,40 +43,6 @@ using drive_backend::APIUtil;
using drive_backend::APIUtilInterface;
using drive_backend::FakeDriveServiceHelper;
namespace {
void SyncResultCallback(bool* done,
SyncStatusCode* status_out,
fileapi::FileSystemURL* url_out,
SyncStatusCode status,
const fileapi::FileSystemURL& url) {
EXPECT_FALSE(*done);
*status_out = status;
*url_out = url;
*done = true;
}
void SyncStatusResultCallback(bool* done,
SyncStatusCode* status_out,
SyncStatusCode status) {
EXPECT_FALSE(*done);
*status_out = status;
*done = true;
}
void DatabaseInitResultCallback(bool* done,
SyncStatusCode* status_out,
bool* created_out,
SyncStatusCode status,
bool created) {
EXPECT_FALSE(*done);
*status_out = status;
*created_out = created;
*done = true;
}
} // namespace
class DriveFileSyncServiceSyncTest : public testing::Test {
public:
DriveFileSyncServiceSyncTest()
......@@ -103,16 +70,13 @@ class DriveFileSyncServiceSyncTest : public testing::Test {
fake_drive_helper_.reset(new FakeDriveServiceHelper(
fake_drive_service_, drive_uploader_));
bool done = false;
SyncStatusCode status = SYNC_STATUS_UNKNOWN;
bool created = false;
scoped_ptr<DriveMetadataStore> metadata_store(
new DriveMetadataStore(fake_drive_helper_->base_dir_path(),
base::MessageLoopProxy::current().get()));
metadata_store->Initialize(
base::Bind(&DatabaseInitResultCallback, &done, &status, &created));
metadata_store->Initialize(CreateResultReceiver(&status, &created));
FlushMessageLoop();
EXPECT_TRUE(done);
EXPECT_EQ(SYNC_STATUS_OK, status);
EXPECT_TRUE(created);
......@@ -159,14 +123,12 @@ class DriveFileSyncServiceSyncTest : public testing::Test {
BrowserThread::GetMessageLoopProxyForThread(BrowserThread::FILE)
.get());
bool done = false;
SyncStatusCode status = SYNC_STATUS_UNKNOWN;
file_system->SetUp();
local_sync_service_->MaybeInitializeFileSystemContext(
origin, file_system->file_system_context(),
base::Bind(&SyncStatusResultCallback, &done, &status));
CreateResultReceiver(&status));
FlushMessageLoop();
EXPECT_TRUE(done);
EXPECT_EQ(SYNC_STATUS_OK, status);
file_system->backend()->sync_context()->
......@@ -176,12 +138,10 @@ class DriveFileSyncServiceSyncTest : public testing::Test {
file_systems_[origin] = file_system;
}
bool done = false;
SyncStatusCode status = SYNC_STATUS_UNKNOWN;
remote_sync_service_->RegisterOrigin(
origin, base::Bind(&SyncStatusResultCallback, &done, &status));
origin, CreateResultReceiver(&status));
FlushMessageLoop();
EXPECT_TRUE(done);
EXPECT_EQ(SYNC_STATUS_OK, status);
}
......@@ -224,24 +184,20 @@ class DriveFileSyncServiceSyncTest : public testing::Test {
}
SyncStatusCode ProcessLocalChange() {
bool done = false;
SyncStatusCode status = SYNC_STATUS_UNKNOWN;
fileapi::FileSystemURL url;
local_sync_service_->ProcessLocalChange(
base::Bind(&SyncResultCallback, &done, &status, &url));
CreateResultReceiver(&status, &url));
FlushMessageLoop();
EXPECT_TRUE(done);
return status;
}
SyncStatusCode ProcessRemoteChange() {
bool done = false;
SyncStatusCode status = SYNC_STATUS_UNKNOWN;
fileapi::FileSystemURL url;
remote_sync_service_->ProcessRemoteChange(
base::Bind(&SyncResultCallback, &done, &status, &url));
CreateResultReceiver(&status, &url));
FlushMessageLoop();
EXPECT_TRUE(done);
return status;
}
......
......@@ -5,6 +5,8 @@
#ifndef CHROME_BROWSER_SYNC_FILE_SYSTEM_SYNC_FILE_SYSTEM_TEST_UTIL_H_
#define CHROME_BROWSER_SYNC_FILE_SYSTEM_SYNC_FILE_SYSTEM_TEST_UTIL_H_
#include <vector>
#include "base/bind.h"
#include "base/callback.h"
#include "testing/gtest/include/gtest/gtest.h"
......@@ -29,6 +31,11 @@ struct TypeTraits<fileapi::FileSystemURL> {
typedef const fileapi::FileSystemURL& ParamType;
};
template <typename T>
struct TypeTraits<std::vector<T> > {
typedef const std::vector<T>& ParamType;
};
template <typename Arg1, typename Arg2, typename Param1, typename Param2>
void ReceiveResult2(bool* done,
Arg1* arg1_out,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment