| 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 "sync/test/fake_server/android/fake_server_helper_android.h" | 5 #include "sync/test/fake_server/android/fake_server_helper_android.h" |
| 6 | 6 |
| 7 #include <jni.h> | 7 #include <jni.h> |
| 8 | 8 |
| 9 #include "base/android/jni_array.h" |
| 9 #include "base/android/jni_string.h" | 10 #include "base/android/jni_string.h" |
| 10 #include "base/basictypes.h" | 11 #include "base/basictypes.h" |
| 11 #include "base/logging.h" | 12 #include "base/logging.h" |
| 12 #include "base/memory/scoped_ptr.h" | 13 #include "base/memory/scoped_ptr.h" |
| 13 #include "jni/FakeServerHelper_jni.h" | 14 #include "jni/FakeServerHelper_jni.h" |
| 14 #include "sync/internal_api/public/base/model_type.h" | 15 #include "sync/internal_api/public/base/model_type.h" |
| 15 #include "sync/internal_api/public/network_resources.h" | 16 #include "sync/internal_api/public/network_resources.h" |
| 16 #include "sync/protocol/sync.pb.h" | 17 #include "sync/protocol/sync.pb.h" |
| 17 #include "sync/test/fake_server/bookmark_entity_builder.h" | 18 #include "sync/test/fake_server/bookmark_entity_builder.h" |
| 18 #include "sync/test/fake_server/entity_builder_factory.h" | 19 #include "sync/test/fake_server/entity_builder_factory.h" |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 102 fake_server::FakeServerVerifier fake_server_verifier(fake_server_ptr); | 103 fake_server::FakeServerVerifier fake_server_verifier(fake_server_ptr); |
| 103 testing::AssertionResult result = | 104 testing::AssertionResult result = |
| 104 fake_server_verifier.VerifySessions(expected_sessions); | 105 fake_server_verifier.VerifySessions(expected_sessions); |
| 105 | 106 |
| 106 if (!result) | 107 if (!result) |
| 107 LOG(WARNING) << result.message(); | 108 LOG(WARNING) << result.message(); |
| 108 | 109 |
| 109 return result; | 110 return result; |
| 110 } | 111 } |
| 111 | 112 |
| 113 base::android::ScopedJavaLocalRef<jobjectArray> |
| 114 FakeServerHelperAndroid::GetSyncEntitiesByModelType(JNIEnv* env, |
| 115 jobject obj, |
| 116 jlong fake_server, |
| 117 jstring model_type_string) { |
| 118 fake_server::FakeServer* fake_server_ptr = |
| 119 reinterpret_cast<fake_server::FakeServer*>(fake_server); |
| 120 |
| 121 syncer::ModelType model_type; |
| 122 if (!NotificationTypeToRealModelType( |
| 123 base::android::ConvertJavaStringToUTF8(env, model_type_string), |
| 124 &model_type)) { |
| 125 LOG(WARNING) << "Invalid ModelType string."; |
| 126 NOTREACHED(); |
| 127 } |
| 128 |
| 129 std::vector<sync_pb::SyncEntity> entities = |
| 130 fake_server_ptr->GetSyncEntitiesByModelType(model_type); |
| 131 |
| 132 std::vector<std::string> entity_strings; |
| 133 for (size_t i = 0; i < entities.size(); ++i) { |
| 134 std::string s; |
| 135 entities[i].SerializeToString(&s); |
| 136 entity_strings.push_back(s); |
| 137 } |
| 138 return base::android::ToJavaArrayOfByteArray(env, entity_strings); |
| 139 } |
| 140 |
| 112 void FakeServerHelperAndroid::InjectUniqueClientEntity( | 141 void FakeServerHelperAndroid::InjectUniqueClientEntity( |
| 113 JNIEnv* env, | 142 JNIEnv* env, |
| 114 jobject obj, | 143 jobject obj, |
| 115 jlong fake_server, | 144 jlong fake_server, |
| 116 jstring name, | 145 jstring name, |
| 117 jbyteArray serialized_entity_specifics) { | 146 jbyteArray serialized_entity_specifics) { |
| 118 fake_server::FakeServer* fake_server_ptr = | 147 fake_server::FakeServer* fake_server_ptr = |
| 119 reinterpret_cast<fake_server::FakeServer*>(fake_server); | 148 reinterpret_cast<fake_server::FakeServer*>(fake_server); |
| 120 | 149 |
| 121 sync_pb::EntitySpecifics entity_specifics; | 150 sync_pb::EntitySpecifics entity_specifics; |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 195 jstring entity_id, | 224 jstring entity_id, |
| 196 jstring title, | 225 jstring title, |
| 197 jstring url, | 226 jstring url, |
| 198 jstring parent_id) { | 227 jstring parent_id) { |
| 199 fake_server::FakeServer* fake_server_ptr = | 228 fake_server::FakeServer* fake_server_ptr = |
| 200 reinterpret_cast<fake_server::FakeServer*>(fake_server); | 229 reinterpret_cast<fake_server::FakeServer*>(fake_server); |
| 201 scoped_ptr<fake_server::FakeServerEntity> bookmark = | 230 scoped_ptr<fake_server::FakeServerEntity> bookmark = |
| 202 CreateBookmarkEntity(env, title, url, parent_id); | 231 CreateBookmarkEntity(env, title, url, parent_id); |
| 203 sync_pb::SyncEntity proto; | 232 sync_pb::SyncEntity proto; |
| 204 bookmark->SerializeAsProto(&proto); | 233 bookmark->SerializeAsProto(&proto); |
| 205 fake_server_ptr->ModifyEntitySpecifics( | 234 fake_server_ptr->ModifyBookmarkEntity( |
| 206 base::android::ConvertJavaStringToUTF8(env, entity_id), | 235 base::android::ConvertJavaStringToUTF8(env, entity_id), |
| 236 base::android::ConvertJavaStringToUTF8(env, parent_id), |
| 207 proto.specifics()); | 237 proto.specifics()); |
| 208 } | 238 } |
| 209 | 239 |
| 210 void FakeServerHelperAndroid::ModifyBookmarkFolderEntity(JNIEnv* env, | 240 void FakeServerHelperAndroid::ModifyBookmarkFolderEntity(JNIEnv* env, |
| 211 jobject obj, | 241 jobject obj, |
| 212 jlong fake_server, | 242 jlong fake_server, |
| 213 jstring entity_id, | 243 jstring entity_id, |
| 214 jstring title, | 244 jstring title, |
| 215 jstring parent_id) { | 245 jstring parent_id) { |
| 216 fake_server::FakeServer* fake_server_ptr = | 246 fake_server::FakeServer* fake_server_ptr = |
| 217 reinterpret_cast<fake_server::FakeServer*>(fake_server); | 247 reinterpret_cast<fake_server::FakeServer*>(fake_server); |
| 218 | 248 |
| 219 fake_server::EntityBuilderFactory entity_builder_factory; | 249 fake_server::EntityBuilderFactory entity_builder_factory; |
| 220 fake_server::BookmarkEntityBuilder bookmark_builder = | 250 fake_server::BookmarkEntityBuilder bookmark_builder = |
| 221 entity_builder_factory.NewBookmarkEntityBuilder( | 251 entity_builder_factory.NewBookmarkEntityBuilder( |
| 222 base::android::ConvertJavaStringToUTF8(env, title)); | 252 base::android::ConvertJavaStringToUTF8(env, title)); |
| 223 bookmark_builder.SetParentId( | 253 bookmark_builder.SetParentId( |
| 224 base::android::ConvertJavaStringToUTF8(env, parent_id)); | 254 base::android::ConvertJavaStringToUTF8(env, parent_id)); |
| 225 | 255 |
| 226 sync_pb::SyncEntity proto; | 256 sync_pb::SyncEntity proto; |
| 227 bookmark_builder.BuildFolder()->SerializeAsProto(&proto); | 257 bookmark_builder.BuildFolder()->SerializeAsProto(&proto); |
| 228 fake_server_ptr->ModifyEntitySpecifics( | 258 fake_server_ptr->ModifyBookmarkEntity( |
| 229 base::android::ConvertJavaStringToUTF8(env, entity_id), | 259 base::android::ConvertJavaStringToUTF8(env, entity_id), |
| 260 base::android::ConvertJavaStringToUTF8(env, parent_id), |
| 230 proto.specifics()); | 261 proto.specifics()); |
| 231 } | 262 } |
| 232 | 263 |
| 233 scoped_ptr<fake_server::FakeServerEntity> | 264 scoped_ptr<fake_server::FakeServerEntity> |
| 234 FakeServerHelperAndroid::CreateBookmarkEntity(JNIEnv* env, | 265 FakeServerHelperAndroid::CreateBookmarkEntity(JNIEnv* env, |
| 235 jstring title, | 266 jstring title, |
| 236 jstring url, | 267 jstring url, |
| 237 jstring parent_id) { | 268 jstring parent_id) { |
| 238 std::string url_as_string = base::android::ConvertJavaStringToUTF8(env, url); | 269 std::string url_as_string = base::android::ConvertJavaStringToUTF8(env, url); |
| 239 GURL gurl = GURL(url_as_string); | 270 GURL gurl = GURL(url_as_string); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 271 reinterpret_cast<fake_server::FakeServer*>(fake_server); | 302 reinterpret_cast<fake_server::FakeServer*>(fake_server); |
| 272 std::string native_id = base::android::ConvertJavaStringToUTF8(env, id); | 303 std::string native_id = base::android::ConvertJavaStringToUTF8(env, id); |
| 273 fake_server_ptr->InjectEntity( | 304 fake_server_ptr->InjectEntity( |
| 274 fake_server::TombstoneEntity::Create(native_id)); | 305 fake_server::TombstoneEntity::Create(native_id)); |
| 275 } | 306 } |
| 276 | 307 |
| 277 // static | 308 // static |
| 278 bool FakeServerHelperAndroid::Register(JNIEnv* env) { | 309 bool FakeServerHelperAndroid::Register(JNIEnv* env) { |
| 279 return RegisterNativesImpl(env); | 310 return RegisterNativesImpl(env); |
| 280 } | 311 } |
| OLD | NEW |