| 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 |