summaryrefslogtreecommitdiffstats
path: root/sync
diff options
context:
space:
mode:
authorpvalenzuela <pvalenzuela@chromium.org>2015-01-29 15:28:47 -0800
committerCommit bot <commit-bot@chromium.org>2015-01-29 23:29:49 +0000
commitcba424b9309c8c75d0a3797b9b228f7ef11425e4 (patch)
treefb5ab6480e1fee7e9edaaa4ad9645a78d192ee95 /sync
parent5dee23d68cca74deb80b4c7c45c76900f97681be (diff)
downloadchromium_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.gn1
-rw-r--r--sync/sync_tests.gypi1
-rw-r--r--sync/test/fake_server/android/fake_server_helper_android.cc32
-rw-r--r--sync/test/fake_server/android/fake_server_helper_android.h9
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();
};