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 "components/sync/test/fake_server/android/fake_server_helper_android.h" | 5 #include "components/sync/test/fake_server/android/fake_server_helper_android.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <set> | 9 #include <set> |
10 #include <vector> | 10 #include <vector> |
11 | 11 |
12 #include "base/android/jni_array.h" | 12 #include "base/android/jni_array.h" |
13 #include "base/android/jni_string.h" | 13 #include "base/android/jni_string.h" |
14 #include "base/logging.h" | 14 #include "base/logging.h" |
15 #include "components/sync/base/model_type.h" | 15 #include "components/sync/base/model_type.h" |
16 #include "components/sync/engine/net/network_resources.h" | 16 #include "components/sync/engine/net/network_resources.h" |
17 #include "components/sync/protocol/sync.pb.h" | 17 #include "components/sync/protocol/sync.pb.h" |
18 #include "components/sync/test/fake_server/bookmark_entity_builder.h" | 18 #include "components/sync/test/fake_server/bookmark_entity_builder.h" |
19 #include "components/sync/test/fake_server/fake_server.h" | 19 #include "components/sync/test/fake_server/fake_server.h" |
20 #include "components/sync/test/fake_server/fake_server_network_resources.h" | 20 #include "components/sync/test/fake_server/fake_server_network_resources.h" |
21 #include "components/sync/test/fake_server/fake_server_verifier.h" | 21 #include "components/sync/test/fake_server/fake_server_verifier.h" |
22 #include "components/sync/test/fake_server/tombstone_entity.h" | |
23 #include "components/sync/test/fake_server/unique_client_entity.h" | |
24 #include "jni/FakeServerHelper_jni.h" | 22 #include "jni/FakeServerHelper_jni.h" |
25 #include "testing/gtest/include/gtest/gtest.h" | 23 #include "testing/gtest/include/gtest/gtest.h" |
26 #include "url/gurl.h" | 24 #include "url/gurl.h" |
27 | 25 |
28 using base::android::JavaParamRef; | 26 using base::android::JavaParamRef; |
29 | 27 |
30 FakeServerHelperAndroid::FakeServerHelperAndroid(JNIEnv* env, jobject obj) {} | 28 FakeServerHelperAndroid::FakeServerHelperAndroid(JNIEnv* env, jobject obj) {} |
31 | 29 |
32 FakeServerHelperAndroid::~FakeServerHelperAndroid() {} | 30 FakeServerHelperAndroid::~FakeServerHelperAndroid() {} |
33 | 31 |
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
139 const JavaParamRef<jstring>& name, | 137 const JavaParamRef<jstring>& name, |
140 const JavaParamRef<jbyteArray>& serialized_entity_specifics) { | 138 const JavaParamRef<jbyteArray>& serialized_entity_specifics) { |
141 fake_server::FakeServer* fake_server_ptr = | 139 fake_server::FakeServer* fake_server_ptr = |
142 reinterpret_cast<fake_server::FakeServer*>(fake_server); | 140 reinterpret_cast<fake_server::FakeServer*>(fake_server); |
143 | 141 |
144 sync_pb::EntitySpecifics entity_specifics; | 142 sync_pb::EntitySpecifics entity_specifics; |
145 DeserializeEntitySpecifics(env, serialized_entity_specifics, | 143 DeserializeEntitySpecifics(env, serialized_entity_specifics, |
146 &entity_specifics); | 144 &entity_specifics); |
147 | 145 |
148 fake_server_ptr->InjectEntity( | 146 fake_server_ptr->InjectEntity( |
149 fake_server::UniqueClientEntity::CreateForInjection( | 147 syncer::PersistentUniqueClientEntity::CreateForInjection( |
150 base::android::ConvertJavaStringToUTF8(env, name), entity_specifics)); | 148 base::android::ConvertJavaStringToUTF8(env, name), entity_specifics)); |
151 } | 149 } |
152 | 150 |
153 void FakeServerHelperAndroid::ModifyEntitySpecifics( | 151 void FakeServerHelperAndroid::ModifyEntitySpecifics( |
154 JNIEnv* env, | 152 JNIEnv* env, |
155 const JavaParamRef<jobject>& obj, | 153 const JavaParamRef<jobject>& obj, |
156 jlong fake_server, | 154 jlong fake_server, |
157 const JavaParamRef<jstring>& id, | 155 const JavaParamRef<jstring>& id, |
158 const JavaParamRef<jbyteArray>& serialized_entity_specifics) { | 156 const JavaParamRef<jbyteArray>& serialized_entity_specifics) { |
159 fake_server::FakeServer* fake_server_ptr = | 157 fake_server::FakeServer* fake_server_ptr = |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
216 void FakeServerHelperAndroid::ModifyBookmarkEntity( | 214 void FakeServerHelperAndroid::ModifyBookmarkEntity( |
217 JNIEnv* env, | 215 JNIEnv* env, |
218 const JavaParamRef<jobject>& obj, | 216 const JavaParamRef<jobject>& obj, |
219 jlong fake_server, | 217 jlong fake_server, |
220 const JavaParamRef<jstring>& entity_id, | 218 const JavaParamRef<jstring>& entity_id, |
221 const JavaParamRef<jstring>& title, | 219 const JavaParamRef<jstring>& title, |
222 const JavaParamRef<jstring>& url, | 220 const JavaParamRef<jstring>& url, |
223 const JavaParamRef<jstring>& parent_id) { | 221 const JavaParamRef<jstring>& parent_id) { |
224 fake_server::FakeServer* fake_server_ptr = | 222 fake_server::FakeServer* fake_server_ptr = |
225 reinterpret_cast<fake_server::FakeServer*>(fake_server); | 223 reinterpret_cast<fake_server::FakeServer*>(fake_server); |
226 std::unique_ptr<fake_server::FakeServerEntity> bookmark = | 224 std::unique_ptr<syncer::LoopbackServerEntity> bookmark = |
227 CreateBookmarkEntity(env, title, url, parent_id); | 225 CreateBookmarkEntity(env, title, url, parent_id); |
228 sync_pb::SyncEntity proto; | 226 sync_pb::SyncEntity proto; |
229 bookmark->SerializeAsProto(&proto); | 227 bookmark->SerializeAsProto(&proto); |
230 fake_server_ptr->ModifyBookmarkEntity( | 228 fake_server_ptr->ModifyEntitySpecifics( |
231 base::android::ConvertJavaStringToUTF8(env, entity_id), | 229 base::android::ConvertJavaStringToUTF8(env, entity_id), |
232 base::android::ConvertJavaStringToUTF8(env, parent_id), | |
233 proto.specifics()); | 230 proto.specifics()); |
234 } | 231 } |
235 | 232 |
236 void FakeServerHelperAndroid::ModifyBookmarkFolderEntity( | 233 void FakeServerHelperAndroid::ModifyBookmarkFolderEntity( |
237 JNIEnv* env, | 234 JNIEnv* env, |
238 const JavaParamRef<jobject>& obj, | 235 const JavaParamRef<jobject>& obj, |
239 jlong fake_server, | 236 jlong fake_server, |
240 const JavaParamRef<jstring>& entity_id, | 237 const JavaParamRef<jstring>& entity_id, |
241 const JavaParamRef<jstring>& title, | 238 const JavaParamRef<jstring>& title, |
242 const JavaParamRef<jstring>& parent_id) { | 239 const JavaParamRef<jstring>& parent_id) { |
243 fake_server::FakeServer* fake_server_ptr = | 240 fake_server::FakeServer* fake_server_ptr = |
244 reinterpret_cast<fake_server::FakeServer*>(fake_server); | 241 reinterpret_cast<fake_server::FakeServer*>(fake_server); |
245 | 242 |
246 fake_server::EntityBuilderFactory entity_builder_factory; | 243 fake_server::EntityBuilderFactory entity_builder_factory; |
247 fake_server::BookmarkEntityBuilder bookmark_builder = | 244 fake_server::BookmarkEntityBuilder bookmark_builder = |
248 entity_builder_factory.NewBookmarkEntityBuilder( | 245 entity_builder_factory.NewBookmarkEntityBuilder( |
249 base::android::ConvertJavaStringToUTF8(env, title)); | 246 base::android::ConvertJavaStringToUTF8(env, title)); |
250 bookmark_builder.SetParentId( | 247 bookmark_builder.SetParentId( |
251 base::android::ConvertJavaStringToUTF8(env, parent_id)); | 248 base::android::ConvertJavaStringToUTF8(env, parent_id)); |
252 | 249 |
253 sync_pb::SyncEntity proto; | 250 sync_pb::SyncEntity proto; |
254 bookmark_builder.BuildFolder()->SerializeAsProto(&proto); | 251 bookmark_builder.BuildFolder()->SerializeAsProto(&proto); |
255 fake_server_ptr->ModifyBookmarkEntity( | 252 fake_server_ptr->ModifyEntitySpecifics( |
256 base::android::ConvertJavaStringToUTF8(env, entity_id), | 253 base::android::ConvertJavaStringToUTF8(env, entity_id), |
257 base::android::ConvertJavaStringToUTF8(env, parent_id), | |
258 proto.specifics()); | 254 proto.specifics()); |
259 } | 255 } |
260 | 256 |
261 std::unique_ptr<fake_server::FakeServerEntity> | 257 std::unique_ptr<syncer::LoopbackServerEntity> |
262 FakeServerHelperAndroid::CreateBookmarkEntity(JNIEnv* env, | 258 FakeServerHelperAndroid::CreateBookmarkEntity(JNIEnv* env, |
263 jstring title, | 259 jstring title, |
264 jstring url, | 260 jstring url, |
265 jstring parent_id) { | 261 jstring parent_id) { |
266 std::string url_as_string = base::android::ConvertJavaStringToUTF8(env, url); | 262 std::string url_as_string = base::android::ConvertJavaStringToUTF8(env, url); |
267 GURL gurl = GURL(url_as_string); | 263 GURL gurl = GURL(url_as_string); |
268 if (!gurl.is_valid()) { | 264 if (!gurl.is_valid()) { |
269 NOTREACHED() << "The given string (" << url_as_string | 265 NOTREACHED() << "The given string (" << url_as_string |
270 << ") is not a valid URL."; | 266 << ") is not a valid URL."; |
271 } | 267 } |
272 | 268 |
273 fake_server::EntityBuilderFactory entity_builder_factory; | 269 fake_server::EntityBuilderFactory entity_builder_factory; |
274 fake_server::BookmarkEntityBuilder bookmark_builder = | 270 fake_server::BookmarkEntityBuilder bookmark_builder = |
275 entity_builder_factory.NewBookmarkEntityBuilder( | 271 entity_builder_factory.NewBookmarkEntityBuilder( |
276 base::android::ConvertJavaStringToUTF8(env, title)); | 272 base::android::ConvertJavaStringToUTF8(env, title)); |
277 bookmark_builder.SetParentId( | 273 bookmark_builder.SetParentId( |
278 base::android::ConvertJavaStringToUTF8(env, parent_id)); | 274 base::android::ConvertJavaStringToUTF8(env, parent_id)); |
279 return bookmark_builder.BuildBookmark(gurl); | 275 return bookmark_builder.BuildBookmark(gurl); |
280 } | 276 } |
281 | 277 |
282 base::android::ScopedJavaLocalRef<jstring> | 278 base::android::ScopedJavaLocalRef<jstring> |
283 FakeServerHelperAndroid::GetBookmarkBarFolderId( | 279 FakeServerHelperAndroid::GetBookmarkBarFolderId( |
284 JNIEnv* env, | 280 JNIEnv* env, |
285 const JavaParamRef<jobject>& obj, | 281 const JavaParamRef<jobject>& obj, |
286 jlong fake_server) { | 282 jlong fake_server) { |
287 fake_server::FakeServer* fake_server_ptr = | 283 return base::android::ConvertUTF8ToJavaString(env, "bookmark_bar"); |
288 reinterpret_cast<fake_server::FakeServer*>(fake_server); | |
289 return base::android::ConvertUTF8ToJavaString( | |
290 env, fake_server_ptr->GetBookmarkBarFolderId()); | |
291 } | 284 } |
292 | 285 |
293 void FakeServerHelperAndroid::DeleteEntity(JNIEnv* env, | 286 void FakeServerHelperAndroid::DeleteEntity(JNIEnv* env, |
294 const JavaParamRef<jobject>& obj, | 287 const JavaParamRef<jobject>& obj, |
295 jlong fake_server, | 288 jlong fake_server, |
296 const JavaParamRef<jstring>& id) { | 289 const JavaParamRef<jstring>& id) { |
297 fake_server::FakeServer* fake_server_ptr = | 290 fake_server::FakeServer* fake_server_ptr = |
298 reinterpret_cast<fake_server::FakeServer*>(fake_server); | 291 reinterpret_cast<fake_server::FakeServer*>(fake_server); |
299 std::string native_id = base::android::ConvertJavaStringToUTF8(env, id); | 292 std::string native_id = base::android::ConvertJavaStringToUTF8(env, id); |
300 fake_server_ptr->InjectEntity( | 293 fake_server_ptr->InjectEntity( |
301 fake_server::TombstoneEntity::Create(native_id, std::string())); | 294 syncer::PersistentTombstoneEntity::CreateForInjection(native_id, |
| 295 std::string())); |
302 } | 296 } |
303 | 297 |
304 void FakeServerHelperAndroid::ClearServerData(JNIEnv* env, | 298 void FakeServerHelperAndroid::ClearServerData(JNIEnv* env, |
305 const JavaParamRef<jobject>& obj, | 299 const JavaParamRef<jobject>& obj, |
306 jlong fake_server) { | 300 jlong fake_server) { |
307 fake_server::FakeServer* fake_server_ptr = | 301 fake_server::FakeServer* fake_server_ptr = |
308 reinterpret_cast<fake_server::FakeServer*>(fake_server); | 302 reinterpret_cast<fake_server::FakeServer*>(fake_server); |
309 fake_server_ptr->ClearServerData(); | 303 fake_server_ptr->ClearServerData(); |
310 } | 304 } |
311 | 305 |
312 // static | 306 // static |
313 bool FakeServerHelperAndroid::Register(JNIEnv* env) { | 307 bool FakeServerHelperAndroid::Register(JNIEnv* env) { |
314 return RegisterNativesImpl(env); | 308 return RegisterNativesImpl(env); |
315 } | 309 } |
OLD | NEW |