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::CreateFromEntitySpecifics( |
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->ModifyBookmarkEntity( |
231 base::android::ConvertJavaStringToUTF8(env, entity_id), | 229 base::android::ConvertJavaStringToUTF8(env, entity_id), |
232 base::android::ConvertJavaStringToUTF8(env, parent_id), | 230 base::android::ConvertJavaStringToUTF8(env, parent_id), |
233 proto.specifics()); | 231 proto.specifics()); |
234 } | 232 } |
235 | 233 |
236 void FakeServerHelperAndroid::ModifyBookmarkFolderEntity( | 234 void FakeServerHelperAndroid::ModifyBookmarkFolderEntity( |
(...skipping 14 matching lines...) Expand all Loading... |
251 base::android::ConvertJavaStringToUTF8(env, parent_id)); | 249 base::android::ConvertJavaStringToUTF8(env, parent_id)); |
252 | 250 |
253 sync_pb::SyncEntity proto; | 251 sync_pb::SyncEntity proto; |
254 bookmark_builder.BuildFolder()->SerializeAsProto(&proto); | 252 bookmark_builder.BuildFolder()->SerializeAsProto(&proto); |
255 fake_server_ptr->ModifyBookmarkEntity( | 253 fake_server_ptr->ModifyBookmarkEntity( |
256 base::android::ConvertJavaStringToUTF8(env, entity_id), | 254 base::android::ConvertJavaStringToUTF8(env, entity_id), |
257 base::android::ConvertJavaStringToUTF8(env, parent_id), | 255 base::android::ConvertJavaStringToUTF8(env, parent_id), |
258 proto.specifics()); | 256 proto.specifics()); |
259 } | 257 } |
260 | 258 |
261 std::unique_ptr<fake_server::FakeServerEntity> | 259 std::unique_ptr<syncer::LoopbackServerEntity> |
262 FakeServerHelperAndroid::CreateBookmarkEntity(JNIEnv* env, | 260 FakeServerHelperAndroid::CreateBookmarkEntity(JNIEnv* env, |
263 jstring title, | 261 jstring title, |
264 jstring url, | 262 jstring url, |
265 jstring parent_id) { | 263 jstring parent_id) { |
266 std::string url_as_string = base::android::ConvertJavaStringToUTF8(env, url); | 264 std::string url_as_string = base::android::ConvertJavaStringToUTF8(env, url); |
267 GURL gurl = GURL(url_as_string); | 265 GURL gurl = GURL(url_as_string); |
268 if (!gurl.is_valid()) { | 266 if (!gurl.is_valid()) { |
269 NOTREACHED() << "The given string (" << url_as_string | 267 NOTREACHED() << "The given string (" << url_as_string |
270 << ") is not a valid URL."; | 268 << ") is not a valid URL."; |
271 } | 269 } |
272 | 270 |
273 fake_server::EntityBuilderFactory entity_builder_factory; | 271 fake_server::EntityBuilderFactory entity_builder_factory; |
274 fake_server::BookmarkEntityBuilder bookmark_builder = | 272 fake_server::BookmarkEntityBuilder bookmark_builder = |
275 entity_builder_factory.NewBookmarkEntityBuilder( | 273 entity_builder_factory.NewBookmarkEntityBuilder( |
276 base::android::ConvertJavaStringToUTF8(env, title)); | 274 base::android::ConvertJavaStringToUTF8(env, title)); |
277 bookmark_builder.SetParentId( | 275 bookmark_builder.SetParentId( |
278 base::android::ConvertJavaStringToUTF8(env, parent_id)); | 276 base::android::ConvertJavaStringToUTF8(env, parent_id)); |
279 return bookmark_builder.BuildBookmark(gurl); | 277 return bookmark_builder.BuildBookmark(gurl); |
280 } | 278 } |
281 | 279 |
282 base::android::ScopedJavaLocalRef<jstring> | 280 base::android::ScopedJavaLocalRef<jstring> |
283 FakeServerHelperAndroid::GetBookmarkBarFolderId( | 281 FakeServerHelperAndroid::GetBookmarkBarFolderId( |
284 JNIEnv* env, | 282 JNIEnv* env, |
285 const JavaParamRef<jobject>& obj, | 283 const JavaParamRef<jobject>& obj, |
286 jlong fake_server) { | 284 jlong fake_server) { |
287 fake_server::FakeServer* fake_server_ptr = | 285 // Rather hard code this here then incur the cost of yet another method. |
288 reinterpret_cast<fake_server::FakeServer*>(fake_server); | 286 // It is very unlikely that this will ever change. |
289 return base::android::ConvertUTF8ToJavaString( | 287 return base::android::ConvertUTF8ToJavaString(env, "32904_bookmark_bar"); |
290 env, fake_server_ptr->GetBookmarkBarFolderId()); | |
291 } | 288 } |
292 | 289 |
293 void FakeServerHelperAndroid::DeleteEntity(JNIEnv* env, | 290 void FakeServerHelperAndroid::DeleteEntity(JNIEnv* env, |
294 const JavaParamRef<jobject>& obj, | 291 const JavaParamRef<jobject>& obj, |
295 jlong fake_server, | 292 jlong fake_server, |
296 const JavaParamRef<jstring>& id) { | 293 const JavaParamRef<jstring>& id) { |
297 fake_server::FakeServer* fake_server_ptr = | 294 fake_server::FakeServer* fake_server_ptr = |
298 reinterpret_cast<fake_server::FakeServer*>(fake_server); | 295 reinterpret_cast<fake_server::FakeServer*>(fake_server); |
299 std::string native_id = base::android::ConvertJavaStringToUTF8(env, id); | 296 std::string native_id = base::android::ConvertJavaStringToUTF8(env, id); |
300 fake_server_ptr->InjectEntity( | 297 fake_server_ptr->InjectEntity( |
301 fake_server::TombstoneEntity::Create(native_id, std::string())); | 298 syncer::PersistentTombstoneEntity::CreateNew(native_id, std::string())); |
302 } | 299 } |
303 | 300 |
304 void FakeServerHelperAndroid::ClearServerData(JNIEnv* env, | 301 void FakeServerHelperAndroid::ClearServerData(JNIEnv* env, |
305 const JavaParamRef<jobject>& obj, | 302 const JavaParamRef<jobject>& obj, |
306 jlong fake_server) { | 303 jlong fake_server) { |
307 fake_server::FakeServer* fake_server_ptr = | 304 fake_server::FakeServer* fake_server_ptr = |
308 reinterpret_cast<fake_server::FakeServer*>(fake_server); | 305 reinterpret_cast<fake_server::FakeServer*>(fake_server); |
309 fake_server_ptr->ClearServerData(); | 306 fake_server_ptr->ClearServerData(); |
310 } | 307 } |
311 | 308 |
312 // static | 309 // static |
313 bool FakeServerHelperAndroid::Register(JNIEnv* env) { | 310 bool FakeServerHelperAndroid::Register(JNIEnv* env) { |
314 return RegisterNativesImpl(env); | 311 return RegisterNativesImpl(env); |
315 } | 312 } |
OLD | NEW |