| 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" |
| 22 #include "jni/FakeServerHelper_jni.h" | 24 #include "jni/FakeServerHelper_jni.h" |
| 23 #include "testing/gtest/include/gtest/gtest.h" | 25 #include "testing/gtest/include/gtest/gtest.h" |
| 24 #include "url/gurl.h" | 26 #include "url/gurl.h" |
| 25 | 27 |
| 26 using base::android::JavaParamRef; | 28 using base::android::JavaParamRef; |
| 27 | 29 |
| 28 FakeServerHelperAndroid::FakeServerHelperAndroid(JNIEnv* env, jobject obj) {} | 30 FakeServerHelperAndroid::FakeServerHelperAndroid(JNIEnv* env, jobject obj) {} |
| 29 | 31 |
| 30 FakeServerHelperAndroid::~FakeServerHelperAndroid() {} | 32 FakeServerHelperAndroid::~FakeServerHelperAndroid() {} |
| 31 | 33 |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 137 const JavaParamRef<jstring>& name, | 139 const JavaParamRef<jstring>& name, |
| 138 const JavaParamRef<jbyteArray>& serialized_entity_specifics) { | 140 const JavaParamRef<jbyteArray>& serialized_entity_specifics) { |
| 139 fake_server::FakeServer* fake_server_ptr = | 141 fake_server::FakeServer* fake_server_ptr = |
| 140 reinterpret_cast<fake_server::FakeServer*>(fake_server); | 142 reinterpret_cast<fake_server::FakeServer*>(fake_server); |
| 141 | 143 |
| 142 sync_pb::EntitySpecifics entity_specifics; | 144 sync_pb::EntitySpecifics entity_specifics; |
| 143 DeserializeEntitySpecifics(env, serialized_entity_specifics, | 145 DeserializeEntitySpecifics(env, serialized_entity_specifics, |
| 144 &entity_specifics); | 146 &entity_specifics); |
| 145 | 147 |
| 146 fake_server_ptr->InjectEntity( | 148 fake_server_ptr->InjectEntity( |
| 147 syncer::PersistentUniqueClientEntity::CreateFromEntitySpecifics( | 149 fake_server::UniqueClientEntity::CreateForInjection( |
| 148 base::android::ConvertJavaStringToUTF8(env, name), entity_specifics)); | 150 base::android::ConvertJavaStringToUTF8(env, name), entity_specifics)); |
| 149 } | 151 } |
| 150 | 152 |
| 151 void FakeServerHelperAndroid::ModifyEntitySpecifics( | 153 void FakeServerHelperAndroid::ModifyEntitySpecifics( |
| 152 JNIEnv* env, | 154 JNIEnv* env, |
| 153 const JavaParamRef<jobject>& obj, | 155 const JavaParamRef<jobject>& obj, |
| 154 jlong fake_server, | 156 jlong fake_server, |
| 155 const JavaParamRef<jstring>& id, | 157 const JavaParamRef<jstring>& id, |
| 156 const JavaParamRef<jbyteArray>& serialized_entity_specifics) { | 158 const JavaParamRef<jbyteArray>& serialized_entity_specifics) { |
| 157 fake_server::FakeServer* fake_server_ptr = | 159 fake_server::FakeServer* fake_server_ptr = |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 214 void FakeServerHelperAndroid::ModifyBookmarkEntity( | 216 void FakeServerHelperAndroid::ModifyBookmarkEntity( |
| 215 JNIEnv* env, | 217 JNIEnv* env, |
| 216 const JavaParamRef<jobject>& obj, | 218 const JavaParamRef<jobject>& obj, |
| 217 jlong fake_server, | 219 jlong fake_server, |
| 218 const JavaParamRef<jstring>& entity_id, | 220 const JavaParamRef<jstring>& entity_id, |
| 219 const JavaParamRef<jstring>& title, | 221 const JavaParamRef<jstring>& title, |
| 220 const JavaParamRef<jstring>& url, | 222 const JavaParamRef<jstring>& url, |
| 221 const JavaParamRef<jstring>& parent_id) { | 223 const JavaParamRef<jstring>& parent_id) { |
| 222 fake_server::FakeServer* fake_server_ptr = | 224 fake_server::FakeServer* fake_server_ptr = |
| 223 reinterpret_cast<fake_server::FakeServer*>(fake_server); | 225 reinterpret_cast<fake_server::FakeServer*>(fake_server); |
| 224 std::unique_ptr<syncer::LoopbackServerEntity> bookmark = | 226 std::unique_ptr<fake_server::FakeServerEntity> bookmark = |
| 225 CreateBookmarkEntity(env, title, url, parent_id); | 227 CreateBookmarkEntity(env, title, url, parent_id); |
| 226 sync_pb::SyncEntity proto; | 228 sync_pb::SyncEntity proto; |
| 227 bookmark->SerializeAsProto(&proto); | 229 bookmark->SerializeAsProto(&proto); |
| 228 fake_server_ptr->ModifyBookmarkEntity( | 230 fake_server_ptr->ModifyBookmarkEntity( |
| 229 base::android::ConvertJavaStringToUTF8(env, entity_id), | 231 base::android::ConvertJavaStringToUTF8(env, entity_id), |
| 230 base::android::ConvertJavaStringToUTF8(env, parent_id), | 232 base::android::ConvertJavaStringToUTF8(env, parent_id), |
| 231 proto.specifics()); | 233 proto.specifics()); |
| 232 } | 234 } |
| 233 | 235 |
| 234 void FakeServerHelperAndroid::ModifyBookmarkFolderEntity( | 236 void FakeServerHelperAndroid::ModifyBookmarkFolderEntity( |
| (...skipping 14 matching lines...) Expand all Loading... |
| 249 base::android::ConvertJavaStringToUTF8(env, parent_id)); | 251 base::android::ConvertJavaStringToUTF8(env, parent_id)); |
| 250 | 252 |
| 251 sync_pb::SyncEntity proto; | 253 sync_pb::SyncEntity proto; |
| 252 bookmark_builder.BuildFolder()->SerializeAsProto(&proto); | 254 bookmark_builder.BuildFolder()->SerializeAsProto(&proto); |
| 253 fake_server_ptr->ModifyBookmarkEntity( | 255 fake_server_ptr->ModifyBookmarkEntity( |
| 254 base::android::ConvertJavaStringToUTF8(env, entity_id), | 256 base::android::ConvertJavaStringToUTF8(env, entity_id), |
| 255 base::android::ConvertJavaStringToUTF8(env, parent_id), | 257 base::android::ConvertJavaStringToUTF8(env, parent_id), |
| 256 proto.specifics()); | 258 proto.specifics()); |
| 257 } | 259 } |
| 258 | 260 |
| 259 std::unique_ptr<syncer::LoopbackServerEntity> | 261 std::unique_ptr<fake_server::FakeServerEntity> |
| 260 FakeServerHelperAndroid::CreateBookmarkEntity(JNIEnv* env, | 262 FakeServerHelperAndroid::CreateBookmarkEntity(JNIEnv* env, |
| 261 jstring title, | 263 jstring title, |
| 262 jstring url, | 264 jstring url, |
| 263 jstring parent_id) { | 265 jstring parent_id) { |
| 264 std::string url_as_string = base::android::ConvertJavaStringToUTF8(env, url); | 266 std::string url_as_string = base::android::ConvertJavaStringToUTF8(env, url); |
| 265 GURL gurl = GURL(url_as_string); | 267 GURL gurl = GURL(url_as_string); |
| 266 if (!gurl.is_valid()) { | 268 if (!gurl.is_valid()) { |
| 267 NOTREACHED() << "The given string (" << url_as_string | 269 NOTREACHED() << "The given string (" << url_as_string |
| 268 << ") is not a valid URL."; | 270 << ") is not a valid URL."; |
| 269 } | 271 } |
| 270 | 272 |
| 271 fake_server::EntityBuilderFactory entity_builder_factory; | 273 fake_server::EntityBuilderFactory entity_builder_factory; |
| 272 fake_server::BookmarkEntityBuilder bookmark_builder = | 274 fake_server::BookmarkEntityBuilder bookmark_builder = |
| 273 entity_builder_factory.NewBookmarkEntityBuilder( | 275 entity_builder_factory.NewBookmarkEntityBuilder( |
| 274 base::android::ConvertJavaStringToUTF8(env, title)); | 276 base::android::ConvertJavaStringToUTF8(env, title)); |
| 275 bookmark_builder.SetParentId( | 277 bookmark_builder.SetParentId( |
| 276 base::android::ConvertJavaStringToUTF8(env, parent_id)); | 278 base::android::ConvertJavaStringToUTF8(env, parent_id)); |
| 277 return bookmark_builder.BuildBookmark(gurl); | 279 return bookmark_builder.BuildBookmark(gurl); |
| 278 } | 280 } |
| 279 | 281 |
| 280 base::android::ScopedJavaLocalRef<jstring> | 282 base::android::ScopedJavaLocalRef<jstring> |
| 281 FakeServerHelperAndroid::GetBookmarkBarFolderId( | 283 FakeServerHelperAndroid::GetBookmarkBarFolderId( |
| 282 JNIEnv* env, | 284 JNIEnv* env, |
| 283 const JavaParamRef<jobject>& obj, | 285 const JavaParamRef<jobject>& obj, |
| 284 jlong fake_server) { | 286 jlong fake_server) { |
| 285 // Rather hard code this here then incur the cost of yet another method. | 287 fake_server::FakeServer* fake_server_ptr = |
| 286 // It is very unlikely that this will ever change. | 288 reinterpret_cast<fake_server::FakeServer*>(fake_server); |
| 287 return base::android::ConvertUTF8ToJavaString(env, "32904_bookmark_bar"); | 289 return base::android::ConvertUTF8ToJavaString( |
| 290 env, fake_server_ptr->GetBookmarkBarFolderId()); |
| 288 } | 291 } |
| 289 | 292 |
| 290 void FakeServerHelperAndroid::DeleteEntity(JNIEnv* env, | 293 void FakeServerHelperAndroid::DeleteEntity(JNIEnv* env, |
| 291 const JavaParamRef<jobject>& obj, | 294 const JavaParamRef<jobject>& obj, |
| 292 jlong fake_server, | 295 jlong fake_server, |
| 293 const JavaParamRef<jstring>& id) { | 296 const JavaParamRef<jstring>& id) { |
| 294 fake_server::FakeServer* fake_server_ptr = | 297 fake_server::FakeServer* fake_server_ptr = |
| 295 reinterpret_cast<fake_server::FakeServer*>(fake_server); | 298 reinterpret_cast<fake_server::FakeServer*>(fake_server); |
| 296 std::string native_id = base::android::ConvertJavaStringToUTF8(env, id); | 299 std::string native_id = base::android::ConvertJavaStringToUTF8(env, id); |
| 297 fake_server_ptr->InjectEntity( | 300 fake_server_ptr->InjectEntity( |
| 298 syncer::PersistentTombstoneEntity::CreateNew(native_id, std::string())); | 301 fake_server::TombstoneEntity::Create(native_id, std::string())); |
| 299 } | 302 } |
| 300 | 303 |
| 301 void FakeServerHelperAndroid::ClearServerData(JNIEnv* env, | 304 void FakeServerHelperAndroid::ClearServerData(JNIEnv* env, |
| 302 const JavaParamRef<jobject>& obj, | 305 const JavaParamRef<jobject>& obj, |
| 303 jlong fake_server) { | 306 jlong fake_server) { |
| 304 fake_server::FakeServer* fake_server_ptr = | 307 fake_server::FakeServer* fake_server_ptr = |
| 305 reinterpret_cast<fake_server::FakeServer*>(fake_server); | 308 reinterpret_cast<fake_server::FakeServer*>(fake_server); |
| 306 fake_server_ptr->ClearServerData(); | 309 fake_server_ptr->ClearServerData(); |
| 307 } | 310 } |
| 308 | 311 |
| 309 // static | 312 // static |
| 310 bool FakeServerHelperAndroid::Register(JNIEnv* env) { | 313 bool FakeServerHelperAndroid::Register(JNIEnv* env) { |
| 311 return RegisterNativesImpl(env); | 314 return RegisterNativesImpl(env); |
| 312 } | 315 } |
| OLD | NEW |