OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <stdint.h> | 5 #include <stdint.h> |
6 #include <utility> | 6 #include <utility> |
7 | 7 |
8 #include "base/json/json_reader.h" | 8 #include "base/json/json_reader.h" |
9 #include "base/macros.h" | 9 #include "base/macros.h" |
10 #include "base/run_loop.h" | 10 #include "base/run_loop.h" |
11 #include "base/threading/thread_task_runner_handle.h" | 11 #include "base/threading/thread_task_runner_handle.h" |
12 #include "base/values.h" | 12 #include "base/values.h" |
13 #include "chrome/browser/apps/app_browsertest_util.h" | 13 #include "chrome/browser/apps/app_browsertest_util.h" |
14 #include "chrome/browser/extensions/extension_service.h" | 14 #include "chrome/browser/extensions/extension_service.h" |
15 #include "chrome/browser/signin/fake_signin_manager_builder.h" | 15 #include "chrome/browser/signin/fake_signin_manager_builder.h" |
16 #include "chrome/browser/sync_file_system/drive_backend/sync_engine.h" | 16 #include "chrome/browser/sync_file_system/drive_backend/sync_engine.h" |
17 #include "chrome/browser/sync_file_system/local/local_file_sync_service.h" | 17 #include "chrome/browser/sync_file_system/local/local_file_sync_service.h" |
18 #include "chrome/browser/sync_file_system/sync_file_system_service.h" | 18 #include "chrome/browser/sync_file_system/sync_file_system_service.h" |
19 #include "chrome/browser/sync_file_system/sync_file_system_service_factory.h" | 19 #include "chrome/browser/sync_file_system/sync_file_system_service_factory.h" |
20 #include "components/drive/service/fake_drive_service.h" | 20 #include "components/drive/service/fake_drive_service.h" |
| 21 #include "content/public/browser/storage_partition.h" |
21 #include "extensions/test/extension_test_message_listener.h" | 22 #include "extensions/test/extension_test_message_listener.h" |
22 #include "extensions/test/result_catcher.h" | 23 #include "extensions/test/result_catcher.h" |
23 #include "storage/browser/quota/quota_manager.h" | 24 #include "storage/browser/quota/quota_manager.h" |
24 #include "third_party/leveldatabase/src/helpers/memenv/memenv.h" | 25 #include "third_party/leveldatabase/src/helpers/memenv/memenv.h" |
25 #include "third_party/leveldatabase/src/include/leveldb/env.h" | 26 #include "third_party/leveldatabase/src/include/leveldb/env.h" |
26 | 27 |
27 namespace sync_file_system { | 28 namespace sync_file_system { |
28 | 29 |
29 namespace { | 30 namespace { |
30 | 31 |
(...skipping 23 matching lines...) Expand all Loading... |
54 | 55 |
55 } // namespace | 56 } // namespace |
56 | 57 |
57 class SyncFileSystemTest : public extensions::PlatformAppBrowserTest, | 58 class SyncFileSystemTest : public extensions::PlatformAppBrowserTest, |
58 public drive::FakeDriveService::ChangeObserver { | 59 public drive::FakeDriveService::ChangeObserver { |
59 public: | 60 public: |
60 SyncFileSystemTest() | 61 SyncFileSystemTest() |
61 : remote_service_(NULL) { | 62 : remote_service_(NULL) { |
62 } | 63 } |
63 | 64 |
64 void SetUpInProcessBrowserTestFixture() override { | |
65 ExtensionApiTest::SetUpInProcessBrowserTestFixture(); | |
66 real_minimum_preserved_space_ = | |
67 storage::QuotaManager::kMinimumPreserveForSystem; | |
68 storage::QuotaManager::kMinimumPreserveForSystem = 0; | |
69 } | |
70 | |
71 void TearDownInProcessBrowserTestFixture() override { | |
72 storage::QuotaManager::kMinimumPreserveForSystem = | |
73 real_minimum_preserved_space_; | |
74 ExtensionApiTest::TearDownInProcessBrowserTestFixture(); | |
75 } | |
76 | |
77 scoped_refptr<base::SequencedTaskRunner> MakeSequencedTaskRunner() { | 65 scoped_refptr<base::SequencedTaskRunner> MakeSequencedTaskRunner() { |
78 scoped_refptr<base::SequencedWorkerPool> worker_pool = | 66 scoped_refptr<base::SequencedWorkerPool> worker_pool = |
79 content::BrowserThread::GetBlockingPool(); | 67 content::BrowserThread::GetBlockingPool(); |
80 | 68 |
81 return worker_pool->GetSequencedTaskRunnerWithShutdownBehavior( | 69 return worker_pool->GetSequencedTaskRunnerWithShutdownBehavior( |
82 worker_pool->GetSequenceToken(), | 70 worker_pool->GetSequenceToken(), |
83 base::SequencedWorkerPool::SKIP_ON_SHUTDOWN); | 71 base::SequencedWorkerPool::SKIP_ON_SHUTDOWN); |
84 } | 72 } |
85 | 73 |
86 void SetUpOnMainThread() override { | 74 void SetUpOnMainThread() override { |
(...skipping 20 matching lines...) Expand all Loading... |
107 NULL, // task_logger | 95 NULL, // task_logger |
108 NULL, // notification_manager | 96 NULL, // notification_manager |
109 extension_service, | 97 extension_service, |
110 fake_signin_manager_.get(), // signin_manager | 98 fake_signin_manager_.get(), // signin_manager |
111 NULL, // token_service | 99 NULL, // token_service |
112 NULL, // request_context | 100 NULL, // request_context |
113 std::move(drive_service_factory), in_memory_env_.get()); | 101 std::move(drive_service_factory), in_memory_env_.get()); |
114 remote_service_->SetSyncEnabled(true); | 102 remote_service_->SetSyncEnabled(true); |
115 factory->set_mock_remote_file_service( | 103 factory->set_mock_remote_file_service( |
116 std::unique_ptr<RemoteFileSyncService>(remote_service_)); | 104 std::unique_ptr<RemoteFileSyncService>(remote_service_)); |
| 105 |
| 106 const int kMeg = 1024 * 1024; |
| 107 storage::QuotaSettings settings; |
| 108 settings.pool_size = 25 * kMeg; |
| 109 settings.per_host_quota = 5 * kMeg; |
| 110 settings.must_remain_available = 0; |
| 111 settings.refresh_interval = base::TimeDelta::Max(); |
| 112 content::BrowserContext::GetDefaultStoragePartition(context) |
| 113 ->GetQuotaManager() |
| 114 ->SetQuotaSettings(settings); |
117 } | 115 } |
118 | 116 |
119 // drive::FakeDriveService::ChangeObserver override. | 117 // drive::FakeDriveService::ChangeObserver override. |
120 void OnNewChangeAvailable() override { | 118 void OnNewChangeAvailable() override { |
121 sync_engine()->OnNotificationReceived(); | 119 sync_engine()->OnNotificationReceived(); |
122 } | 120 } |
123 | 121 |
124 SyncFileSystemService* sync_file_system_service() { | 122 SyncFileSystemService* sync_file_system_service() { |
125 return SyncFileSystemServiceFactory::GetForProfile(browser()->profile()); | 123 return SyncFileSystemServiceFactory::GetForProfile(browser()->profile()); |
126 } | 124 } |
(...skipping 23 matching lines...) Expand all Loading... |
150 } | 148 } |
151 | 149 |
152 private: | 150 private: |
153 base::ScopedTempDir base_dir_; | 151 base::ScopedTempDir base_dir_; |
154 std::unique_ptr<leveldb::Env> in_memory_env_; | 152 std::unique_ptr<leveldb::Env> in_memory_env_; |
155 | 153 |
156 std::unique_ptr<FakeSigninManagerForTesting> fake_signin_manager_; | 154 std::unique_ptr<FakeSigninManagerForTesting> fake_signin_manager_; |
157 | 155 |
158 drive_backend::SyncEngine* remote_service_; | 156 drive_backend::SyncEngine* remote_service_; |
159 | 157 |
160 int64_t real_minimum_preserved_space_; | |
161 | |
162 DISALLOW_COPY_AND_ASSIGN(SyncFileSystemTest); | 158 DISALLOW_COPY_AND_ASSIGN(SyncFileSystemTest); |
163 }; | 159 }; |
164 | 160 |
165 IN_PROC_BROWSER_TEST_F(SyncFileSystemTest, AuthorizationTest) { | 161 IN_PROC_BROWSER_TEST_F(SyncFileSystemTest, AuthorizationTest) { |
166 ExtensionTestMessageListener open_failure( | 162 ExtensionTestMessageListener open_failure( |
167 "checkpoint: Failed to get syncfs", true); | 163 "checkpoint: Failed to get syncfs", true); |
168 ExtensionTestMessageListener bar_created( | 164 ExtensionTestMessageListener bar_created( |
169 "checkpoint: \"/bar\" created", true); | 165 "checkpoint: \"/bar\" created", true); |
170 ExtensionTestMessageListener foo_created( | 166 ExtensionTestMessageListener foo_created( |
171 "checkpoint: \"/foo\" created", true); | 167 "checkpoint: \"/foo\" created", true); |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
204 | 200 |
205 sync_engine()->GoogleSigninSucceeded("test_account", "tester", "testing"); | 201 sync_engine()->GoogleSigninSucceeded("test_account", "tester", "testing"); |
206 WaitUntilIdle(); | 202 WaitUntilIdle(); |
207 | 203 |
208 bar_created.Reply("resume"); | 204 bar_created.Reply("resume"); |
209 | 205 |
210 EXPECT_TRUE(catcher.GetNextResult()); | 206 EXPECT_TRUE(catcher.GetNextResult()); |
211 } | 207 } |
212 | 208 |
213 } // namespace sync_file_system | 209 } // namespace sync_file_system |
OLD | NEW |