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 |