diff options
author | pvalenzuela <pvalenzuela@chromium.org> | 2015-01-29 15:28:47 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-01-29 23:29:49 +0000 |
commit | cba424b9309c8c75d0a3797b9b228f7ef11425e4 (patch) | |
tree | fb5ab6480e1fee7e9edaaa4ad9645a78d192ee95 /sync | |
parent | 5dee23d68cca74deb80b4c7c45c76900f97681be (diff) | |
download | chromium_src-cba424b9309c8c75d0a3797b9b228f7ef11425e4.zip chromium_src-cba424b9309c8c75d0a3797b9b228f7ef11425e4.tar.gz chromium_src-cba424b9309c8c75d0a3797b9b228f7ef11425e4.tar.bz2 |
Create a Android Sync integration test for typed URLs
This CL introduces JNI plumbing for one method of the FakeServer's
verification API. One test (testUploadTypedUrl) has been added to use
the API; it types a URL on the client and verifies that the URL was
sent to the server.
BUG=NONE
Review URL: https://codereview.chromium.org/862113005
Cr-Commit-Position: refs/heads/master@{#313824}
Diffstat (limited to 'sync')
-rw-r--r-- | sync/BUILD.gn | 1 | ||||
-rw-r--r-- | sync/sync_tests.gypi | 1 | ||||
-rw-r--r-- | sync/test/fake_server/android/fake_server_helper_android.cc | 32 | ||||
-rw-r--r-- | sync/test/fake_server/android/fake_server_helper_android.h | 9 |
4 files changed, 43 insertions, 0 deletions
diff --git a/sync/BUILD.gn b/sync/BUILD.gn index df5f23a..605f797 100644 --- a/sync/BUILD.gn +++ b/sync/BUILD.gn @@ -804,6 +804,7 @@ if (is_android) { ":fake_server_jni", ":test_support_sync_fake_server", "//base", + "//testing/gtest", ] } } diff --git a/sync/sync_tests.gypi b/sync/sync_tests.gypi index b1ef9cf..1c39e5b 100644 --- a/sync/sync_tests.gypi +++ b/sync/sync_tests.gypi @@ -475,6 +475,7 @@ 'dependencies': [ 'sync_fake_server_jni_headers', 'test_support_sync_fake_server', + '../testing/gtest.gyp:gtest', '../base/base.gyp:base', ], 'sources': [ diff --git a/sync/test/fake_server/android/fake_server_helper_android.cc b/sync/test/fake_server/android/fake_server_helper_android.cc index 725ba63..8491474 100644 --- a/sync/test/fake_server/android/fake_server_helper_android.cc +++ b/sync/test/fake_server/android/fake_server_helper_android.cc @@ -6,11 +6,17 @@ #include <jni.h> +#include "base/android/jni_string.h" #include "base/basictypes.h" +#include "base/logging.h" +#include "base/memory/scoped_ptr.h" #include "jni/FakeServerHelper_jni.h" +#include "sync/internal_api/public/base/model_type.h" #include "sync/internal_api/public/network_resources.h" #include "sync/test/fake_server/fake_server.h" #include "sync/test/fake_server/fake_server_network_resources.h" +#include "sync/test/fake_server/fake_server_verifier.h" +#include "testing/gtest/include/gtest/gtest.h" FakeServerHelperAndroid::FakeServerHelperAndroid(JNIEnv* env, jobject obj) { } @@ -46,6 +52,32 @@ void FakeServerHelperAndroid::DeleteFakeServer(JNIEnv* env, delete fake_server_ptr; } +jboolean FakeServerHelperAndroid::VerifyEntityCountByTypeAndName( + JNIEnv* env, + jobject obj, + jlong fake_server, + jlong count, + jstring model_type_string, + jstring name) { + syncer::ModelType model_type; + if (!NotificationTypeToRealModelType(base::android::ConvertJavaStringToUTF8( + env, model_type_string), &model_type)) { + LOG(WARNING) << "Invalid ModelType string."; + return false; + } + fake_server::FakeServer* fake_server_ptr = + reinterpret_cast<fake_server::FakeServer*>(fake_server); + fake_server::FakeServerVerifier fake_server_verifier(fake_server_ptr); + testing::AssertionResult result = + fake_server_verifier.VerifyEntityCountByTypeAndName( + count, model_type, base::android::ConvertJavaStringToUTF8(env, name)); + + if (!result) + LOG(WARNING) << result.message(); + + return result; +} + // static bool FakeServerHelperAndroid::Register(JNIEnv* env) { return RegisterNativesImpl(env); diff --git a/sync/test/fake_server/android/fake_server_helper_android.h b/sync/test/fake_server/android/fake_server_helper_android.h index 24e1d9e..dfbdb7b 100644 --- a/sync/test/fake_server/android/fake_server_helper_android.h +++ b/sync/test/fake_server/android/fake_server_helper_android.h @@ -30,6 +30,15 @@ class FakeServerHelperAndroid { // CreateFakeServer). void DeleteFakeServer(JNIEnv* env, jobject obj, jlong fake_server); + // Returns true if and only if |fake_server| contains |count| entities that + // match |model_type_string| and |name|. + jboolean VerifyEntityCountByTypeAndName(JNIEnv* env, + jobject obj, + jlong fake_server, + jlong count, + jstring model_type_string, + jstring name); + private: virtual ~FakeServerHelperAndroid(); }; |