aboutsummaryrefslogtreecommitdiff
path: root/tests/instrumented/src/main/java/com/google/android/enterprise/connectedapps/instrumented/utils/InstrumentedTestUtilities.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/instrumented/src/main/java/com/google/android/enterprise/connectedapps/instrumented/utils/InstrumentedTestUtilities.java')
-rw-r--r--tests/instrumented/src/main/java/com/google/android/enterprise/connectedapps/instrumented/utils/InstrumentedTestUtilities.java151
1 files changed, 93 insertions, 58 deletions
diff --git a/tests/instrumented/src/main/java/com/google/android/enterprise/connectedapps/instrumented/utils/InstrumentedTestUtilities.java b/tests/instrumented/src/main/java/com/google/android/enterprise/connectedapps/instrumented/utils/InstrumentedTestUtilities.java
index e76ee9c..be1db8e 100644
--- a/tests/instrumented/src/main/java/com/google/android/enterprise/connectedapps/instrumented/utils/InstrumentedTestUtilities.java
+++ b/tests/instrumented/src/main/java/com/google/android/enterprise/connectedapps/instrumented/utils/InstrumentedTestUtilities.java
@@ -44,54 +44,73 @@ public class InstrumentedTestUtilities {
private final ProfileConnector connector;
private final Context context;
private final com.google.android.enterprise.connectedapps.testing.InstrumentedTestUtilities
- instrumentedTestUtilities;
+ instrumentedTestUtilities;
+ private static final int S_REQUEST_QUIET_MODE_ENABLED_ID = 73;
private static final int R_REQUEST_QUIET_MODE_ENABLED_ID = 72;
private static final int REQUEST_QUIET_MODE_ENABLED_ID = 58;
private static final String USER_ID_KEY = "USER_ID";
private static final Parameter USER_ID_PARAMETER = new Parameter(USER_ID_KEY);
+ private static final ServiceCall S_TURN_OFF_WORK_PROFILE_COMMAND =
+ new ServiceCall("user", S_REQUEST_QUIET_MODE_ENABLED_ID)
+ .setUser(1000) // user 1000 has packageName "android"
+ .addStringParam("android") // callingPackage
+ .addBooleanParam(true) // enableQuietMode
+ .addIntParam(USER_ID_PARAMETER) // userId
+ .addIntParam(0) // target
+ .addIntParam(0); // flags
+
private static final ServiceCall R_TURN_OFF_WORK_PROFILE_COMMAND =
- new ServiceCall("user", R_REQUEST_QUIET_MODE_ENABLED_ID)
- .setUser(1000) // user 1000 has packageName "android"
- .addStringParam("android") // callingPackage
- .addBooleanParam(true) // enableQuietMode
- .addIntParam(USER_ID_PARAMETER) // userId
- .addIntParam(0) // target
- .addIntParam(0); // flags
+ new ServiceCall("user", R_REQUEST_QUIET_MODE_ENABLED_ID)
+ .setUser(1000) // user 1000 has packageName "android"
+ .addStringParam("android") // callingPackage
+ .addBooleanParam(true) // enableQuietMode
+ .addIntParam(USER_ID_PARAMETER) // userId
+ .addIntParam(0) // target
+ .addIntParam(0); // flags
private static final ServiceCall TURN_OFF_WORK_PROFILE_COMMAND =
- new ServiceCall("user", REQUEST_QUIET_MODE_ENABLED_ID)
- .setUser(1000) // user 1000 has packageName "android"
- .addStringParam("android") // callingPackage
- .addBooleanParam(true) // enableQuietMode
- .addIntParam(USER_ID_PARAMETER) // userId
- .addIntParam(0); // target
+ new ServiceCall("user", REQUEST_QUIET_MODE_ENABLED_ID)
+ .setUser(1000) // user 1000 has packageName "android"
+ .addStringParam("android") // callingPackage
+ .addBooleanParam(true) // enableQuietMode
+ .addIntParam(USER_ID_PARAMETER) // userId
+ .addIntParam(0); // target
+
+ private static final ServiceCall S_TURN_ON_WORK_PROFILE_COMMAND =
+ new ServiceCall("user", S_REQUEST_QUIET_MODE_ENABLED_ID)
+ .setUser(1000) // user 1000 has packageName "android"
+ .addStringParam("android") // callingPackage
+ .addBooleanParam(false) // enableQuietMode
+ .addIntParam(USER_ID_PARAMETER) // userId
+ .addIntParam(0) // target
+ .addIntParam(0); // flags
private static final ServiceCall R_TURN_ON_WORK_PROFILE_COMMAND =
- new ServiceCall("user", R_REQUEST_QUIET_MODE_ENABLED_ID)
- .setUser(1000) // user 1000 has packageName "android"
- .addStringParam("android") // callingPackage
- .addBooleanParam(false) // enableQuietMode
- .addIntParam(USER_ID_PARAMETER) // userId
- .addIntParam(0) // target
- .addIntParam(0); // flags
+ new ServiceCall("user", R_REQUEST_QUIET_MODE_ENABLED_ID)
+ .setUser(1000) // user 1000 has packageName "android"
+ .addStringParam("android") // callingPackage
+ .addBooleanParam(false) // enableQuietMode
+ .addIntParam(USER_ID_PARAMETER) // userId
+ .addIntParam(0) // target
+ .addIntParam(0); // flags
private static final ServiceCall TURN_ON_WORK_PROFILE_COMMAND =
- new ServiceCall("user", REQUEST_QUIET_MODE_ENABLED_ID)
- .setUser(1000) // user 1000 has packageName "android"
- .addStringParam("android") // callingPackage
- .addBooleanParam(false) // enableQuietMode
- .addIntParam(USER_ID_PARAMETER) // userId
- .addIntParam(0); // target
+ new ServiceCall("user", REQUEST_QUIET_MODE_ENABLED_ID)
+ .setUser(1000) // user 1000 has packageName "android"
+ .addStringParam("android") // callingPackage
+ .addBooleanParam(false) // enableQuietMode
+ .addIntParam(USER_ID_PARAMETER) // userId
+ .addIntParam(0); // target
public InstrumentedTestUtilities(Context context, ProfileConnector connector) {
this.context = context;
this.connector = connector;
this.instrumentedTestUtilities =
- new com.google.android.enterprise.connectedapps.testing.InstrumentedTestUtilities(
- context, connector);
+ new com.google.android.enterprise.connectedapps.testing.InstrumentedTestUtilities(
+ context, connector);
}
/**
@@ -137,7 +156,7 @@ public class InstrumentedTestUtilities {
public void installInUser(int userId) {
runCommandWithOutput(
- "cmd package install-existing --user " + userId + " " + context.getPackageName());
+ "cmd package install-existing --user " + userId + " " + context.getPackageName());
}
/**
@@ -148,7 +167,7 @@ public class InstrumentedTestUtilities {
public void grantInteractAcrossUsers() {
// TODO(scottjonathan): Support INTERACT_ACROSS_PROFILES in these tests.
runCommandWithOutput(
- "pm grant " + context.getPackageName() + " android.permission.INTERACT_ACROSS_USERS");
+ "pm grant " + context.getPackageName() + " android.permission.INTERACT_ACROSS_USERS");
}
/**
@@ -171,12 +190,15 @@ public class InstrumentedTestUtilities {
return;
}
+
+ runCommandWithOutput("pm remove-user " + getWorkProfileUserId());
+
// TODO(162219825): Try to remove the package
- throw new IllegalStateException(
- "There is already a work profile on the device with user id "
- + getWorkProfileUserId()
- + ".");
+// throw new IllegalStateException(
+// "There is already a work profile on the device with user id "
+// + getWorkProfileUserId()
+// + ".");
}
runCommandWithOutput("pm create-user --profileOf 0 --managed TestProfile123");
int workProfileUserId = getWorkProfileUserId();
@@ -186,7 +208,7 @@ public class InstrumentedTestUtilities {
private static boolean userHasPackageInstalled(int userId, String packageName) {
String expectedPackageLine = "package:" + packageName;
String[] installedPackages =
- runCommandWithOutput("pm list packages --user " + userId).split("\n");
+ runCommandWithOutput("pm list packages --user " + userId).split("\n");
for (String installedPackage : installedPackages) {
if (installedPackage.equals(expectedPackageLine)) {
return true;
@@ -227,18 +249,24 @@ public class InstrumentedTestUtilities {
* @see #turnOffWorkProfileAndWait()
*/
public void turnOffWorkProfile() {
- if (VERSION.SDK_INT == VERSION_CODES.R) {
+ if (VERSION.CODENAME.equals("S")) {
runCommandWithOutput(
- R_TURN_OFF_WORK_PROFILE_COMMAND
- .prepare()
- .setInt(USER_ID_KEY, getWorkProfileUserId())
- .getCommand());
+ S_TURN_OFF_WORK_PROFILE_COMMAND
+ .prepare()
+ .setInt(USER_ID_KEY, getWorkProfileUserId())
+ .getCommand());
+ } else if (VERSION.SDK_INT == VERSION_CODES.R) {
+ runCommandWithOutput(
+ R_TURN_OFF_WORK_PROFILE_COMMAND
+ .prepare()
+ .setInt(USER_ID_KEY, getWorkProfileUserId())
+ .getCommand());
} else if (VERSION.SDK_INT == VERSION_CODES.Q || VERSION.SDK_INT == VERSION_CODES.P) {
runCommandWithOutput(
- TURN_OFF_WORK_PROFILE_COMMAND
- .prepare()
- .setInt(USER_ID_KEY, getWorkProfileUserId())
- .getCommand());
+ TURN_OFF_WORK_PROFILE_COMMAND
+ .prepare()
+ .setInt(USER_ID_KEY, getWorkProfileUserId())
+ .getCommand());
} else {
throw new IllegalStateException("Cannot turn off work on this version of android");
}
@@ -259,7 +287,7 @@ public class InstrumentedTestUtilities {
turnOnWorkProfile();
ProfileAvailabilityPoll.blockUntilProfileRunningAndUnlocked(
- context, getWorkProfileUserHandle());
+ context, getWorkProfileUserHandle());
}
// TODO(160147511): Remove use of service calls for versions after R
@@ -271,18 +299,24 @@ public class InstrumentedTestUtilities {
* @see #turnOnWorkProfileAndWait()
*/
public void turnOnWorkProfile() {
- if (VERSION.SDK_INT == VERSION_CODES.R) {
+ if (VERSION.CODENAME.equals("S")) {
+ runCommandWithOutput(
+ S_TURN_ON_WORK_PROFILE_COMMAND
+ .prepare()
+ .setInt(USER_ID_KEY, getWorkProfileUserId())
+ .getCommand());
+ } else if (VERSION.SDK_INT == VERSION_CODES.R) {
runCommandWithOutput(
- R_TURN_ON_WORK_PROFILE_COMMAND
- .prepare()
- .setInt(USER_ID_KEY, getWorkProfileUserId())
- .getCommand());
+ R_TURN_ON_WORK_PROFILE_COMMAND
+ .prepare()
+ .setInt(USER_ID_KEY, getWorkProfileUserId())
+ .getCommand());
} else if (VERSION.SDK_INT == VERSION_CODES.Q || VERSION.SDK_INT == VERSION_CODES.P) {
runCommandWithOutput(
- TURN_ON_WORK_PROFILE_COMMAND
- .prepare()
- .setInt(USER_ID_KEY, getWorkProfileUserId())
- .getCommand());
+ TURN_ON_WORK_PROFILE_COMMAND
+ .prepare()
+ .setInt(USER_ID_KEY, getWorkProfileUserId())
+ .getCommand());
} else {
throw new IllegalStateException("Cannot turn on work on this version of android");
}
@@ -314,7 +348,7 @@ public class InstrumentedTestUtilities {
}
private static final Pattern CREATE_USER_PATTERN =
- Pattern.compile("Success: created user id (\\d+)");
+ Pattern.compile("Success: created user id (\\d+)");
public int createUser(String username) {
String output = runCommandWithOutput("pm create-user " + username);
@@ -334,6 +368,7 @@ public class InstrumentedTestUtilities {
}
private static String runCommandWithOutput(String command) {
+ // TODO: Log output so we can see why it's failing
ParcelFileDescriptor p = runCommand(command);
InputStream inputStream = new FileInputStream(p.getFileDescriptor());
@@ -347,7 +382,7 @@ public class InstrumentedTestUtilities {
private static ParcelFileDescriptor runCommand(String command) {
return InstrumentationRegistry.getInstrumentation()
- .getUiAutomation()
- .executeShellCommand(command);
+ .getUiAutomation()
+ .executeShellCommand(command);
}
}