Index: chrome/test/android/javatests/src/org/chromium/chrome/test/util/parameters/AddFakeAccountToAppParameter.java |
diff --git a/chrome/test/android/javatests/src/org/chromium/chrome/test/util/parameters/AddFakeAccountToAppParameter.java b/chrome/test/android/javatests/src/org/chromium/chrome/test/util/parameters/AddFakeAccountToAppParameter.java |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d838d6a8891fc9ea896b6ed1231a7495a64ef2f2 |
--- /dev/null |
+++ b/chrome/test/android/javatests/src/org/chromium/chrome/test/util/parameters/AddFakeAccountToAppParameter.java |
@@ -0,0 +1,55 @@ |
+// Copyright 2015 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+package org.chromium.chrome.test.util.parameters; |
+ |
+import android.app.Instrumentation; |
+ |
+import org.chromium.base.test.util.parameter.BaseParameter; |
+import org.chromium.base.test.util.parameter.Parameter; |
+import org.chromium.chrome.test.util.ChromeSigninUtils; |
+import org.chromium.sync.signin.ChromeSigninController; |
+ |
+/** |
+ * Adds a fake account to app when this parameter is used. |
+ */ |
+public class AddFakeAccountToAppParameter extends BaseParameter { |
+ /** Adds a fake test account to app to run test as signed into the app. */ |
+ public static final String PARAMETER_TAG = "add-fake-account-to-app-parameter"; |
+ |
+ /** The {@Parameter.Argument#name()} value. */ |
+ public static final class ARGUMENT { |
+ public static final String USERNAME = "username"; |
+ private static final class DEFAULT { |
+ private static final String USERNAME = "test@google.com"; |
+ } |
+ } |
+ |
+ private ChromeSigninController mSigninController; |
+ private ChromeSigninUtils mSigninUtil; |
+ |
+ public AddFakeAccountToAppParameter(Parameter.Reader parameterReader, |
+ Instrumentation instrumentation) { |
+ super(PARAMETER_TAG, parameterReader); |
+ mSigninController = ChromeSigninController.get(instrumentation.getTargetContext()); |
+ mSigninUtil = new ChromeSigninUtils(instrumentation); |
+ } |
+ |
+ @Override |
+ public void setUp() { |
+ String username = getStringArgument(ARGUMENT.USERNAME, ARGUMENT.DEFAULT.USERNAME); |
+ |
+ mSigninController.clearSignedInUser(); |
nyquist
2015/08/20 18:37:54
This only affects Java tests I believe? Maybe add
Sean Kirmani
2015/08/20 21:14:44
Done.
|
+ mSigninUtil.addAccountToApp(username); |
+ } |
+ |
+ @Override |
+ public void tearDown() { |
+ mSigninController.clearSignedInUser(); |
+ } |
+ |
+ public boolean isSignedIn() { |
+ return mSigninController.isSignedIn(); |
+ } |
+} |