- fix a test that is now broken after a change to filter the
authtoken from the result of any call but getAuthToken
- made the tests distinguish between the different types of
options
- test the authtoken result in a couple places where it wasn't
tested before
diff --git a/tests/tests/accounts/src/android/accounts/cts/AccountManagerTest.java b/tests/tests/accounts/src/android/accounts/cts/AccountManagerTest.java
index d625b06..8b0ca5f 100644
--- a/tests/tests/accounts/src/android/accounts/cts/AccountManagerTest.java
+++ b/tests/tests/accounts/src/android/accounts/cts/AccountManagerTest.java
@@ -112,12 +112,18 @@
super.tearDown();
}
- private void validateNonNullResult(Bundle result) {
+ private void validateAccountAndAuthTokenResult(Bundle result) {
assertEquals(ACCOUNT_NAME, result.get(AccountManager.KEY_ACCOUNT_NAME));
assertEquals(ACCOUNT_TYPE, result.get(AccountManager.KEY_ACCOUNT_TYPE));
assertEquals(AUTH_TOKEN, result.get(AccountManager.KEY_AUTHTOKEN));
}
+ private void validateAccountAndNoAuthTokenResult(Bundle result) {
+ assertEquals(ACCOUNT_NAME, result.get(AccountManager.KEY_ACCOUNT_NAME));
+ assertEquals(ACCOUNT_TYPE, result.get(AccountManager.KEY_ACCOUNT_TYPE));
+ assertNull(result.get(AccountManager.KEY_AUTHTOKEN));
+ }
+
private void validateNullResult(Bundle resultBundle) {
assertNull(resultBundle.get(AccountManager.KEY_ACCOUNT_NAME));
assertNull(resultBundle.get(AccountManager.KEY_ACCOUNT_TYPE));
@@ -134,17 +140,18 @@
assertEquals(REQUIRED_FEATURES[1], mockAuthenticator.getRequiredFeatures()[1]);
}
- private void validateOptions() {
- assertNotNull(mockAuthenticator.getOptions());
- assertEquals(OPTION_VALUE_1, mockAuthenticator.getOptions().get(OPTION_NAME_1));
- assertEquals(OPTION_VALUE_2, mockAuthenticator.getOptions().get(OPTION_NAME_2));
+ private void validateOptions(Bundle expectedOptions, Bundle actualOptions) {
+ if (expectedOptions == null) {
+ assertNull(actualOptions);
+ } else {
+ assertNotNull(actualOptions);
+ assertEquals(expectedOptions.get(OPTION_NAME_1), actualOptions.get(OPTION_NAME_1));
+ assertEquals(expectedOptions.get(OPTION_NAME_2), actualOptions.get(OPTION_NAME_2));
+ }
}
private void validateCredentials() {
assertEquals(ACCOUNT, mockAuthenticator.getAccount());
-
- assertEquals(OPTION_VALUE_1, mockAuthenticator.getOptions().get(OPTION_NAME_1));
- assertEquals(OPTION_VALUE_2, mockAuthenticator.getOptions().get(OPTION_NAME_2));
}
private int getAccountsCount() {
@@ -252,10 +259,13 @@
// Assert parameters has been passed correctly
validateAccountAndAuthTokenType();
validateFeatures();
- validateOptions();
+ validateOptions(OPTIONS_BUNDLE, mockAuthenticator.mOptionsAddAccount);
+ validateOptions(null, mockAuthenticator.mOptionsUpdateCredentials);
+ validateOptions(null, mockAuthenticator.mOptionsConfirmCredentials);
+ validateOptions(null, mockAuthenticator.mOptionsGetAuthToken);
// Assert returned result
- validateNonNullResult(resultBundle);
+ validateAccountAndNoAuthTokenResult(resultBundle);
}
/**
@@ -289,16 +299,19 @@
// Assert parameters has been passed correctly
validateAccountAndAuthTokenType();
validateFeatures();
- validateOptions();
+ validateOptions(OPTIONS_BUNDLE, mockAuthenticator.mOptionsAddAccount);
+ validateOptions(null, mockAuthenticator.mOptionsUpdateCredentials);
+ validateOptions(null, mockAuthenticator.mOptionsConfirmCredentials);
+ validateOptions(null, mockAuthenticator.mOptionsGetAuthToken);
// Assert return result
- validateNonNullResult(resultBundle);
+ validateAccountAndNoAuthTokenResult(resultBundle);
latch.countDown();
}
};
- Bundle resultBundle = addAccount(am,
+ addAccount(am,
ACCOUNT_TYPE,
AUTH_TOKEN_TYPE,
REQUIRED_FEATURES,
@@ -607,7 +620,7 @@
assertNotNull(resultBundle);
// Assert returned result
- validateNonNullResult(resultBundle);
+ validateAccountAndAuthTokenResult(resultBundle);
}
/**
@@ -635,7 +648,7 @@
resultBundle = bundleFuture.getResult();
// Assert returned result
- validateNonNullResult(resultBundle);
+ validateAccountAndAuthTokenResult(resultBundle);
} catch (OperationCanceledException e) {
fail("should not throw an OperationCanceledException");
@@ -692,9 +705,13 @@
assertNotNull(resultBundle);
// Assert returned result
- validateNonNullResult(resultBundle);
+ validateAccountAndAuthTokenResult(resultBundle);
- validateOptions();
+ validateOptions(null, mockAuthenticator.mOptionsAddAccount);
+ validateOptions(null, mockAuthenticator.mOptionsUpdateCredentials);
+ validateOptions(null, mockAuthenticator.mOptionsConfirmCredentials);
+ validateOptions(OPTIONS_BUNDLE, mockAuthenticator.mOptionsGetAuthToken);
+
}
/**
@@ -722,7 +739,7 @@
resultBundle = bundleFuture.getResult();
// Assert returned result
- validateNonNullResult(resultBundle);
+ validateAccountAndAuthTokenResult(resultBundle);
} catch (OperationCanceledException e) {
fail("should not throw an OperationCanceledException");
@@ -774,7 +791,11 @@
// Assert returned result
validateNullResult(resultBundle);
- assertNull(mockAuthenticator.getOptions());
+ validateOptions(null, mockAuthenticator.mOptionsAddAccount);
+ validateOptions(null, mockAuthenticator.mOptionsUpdateCredentials);
+ validateOptions(null, mockAuthenticator.mOptionsConfirmCredentials);
+ validateOptions(null, mockAuthenticator.mOptionsGetAuthToken);
+
mockAuthenticator.clearData();
// Now test with existing features and an activity
@@ -784,9 +805,13 @@
);
// Assert returned result
- validateNonNullResult(resultBundle);
+ validateAccountAndAuthTokenResult(resultBundle);
- validateOptions();
+ validateOptions(OPTIONS_BUNDLE, mockAuthenticator.mOptionsAddAccount);
+ validateOptions(null, mockAuthenticator.mOptionsUpdateCredentials);
+ validateOptions(null, mockAuthenticator.mOptionsConfirmCredentials);
+ validateOptions(null, mockAuthenticator.mOptionsGetAuthToken);
+
mockAuthenticator.clearData();
// Now test with existing features and no activity
@@ -796,9 +821,13 @@
);
// Assert returned result
- validateNonNullResult(resultBundle);
+ validateAccountAndAuthTokenResult(resultBundle);
- assertNull(mockAuthenticator.getOptions());
+ validateOptions(null, mockAuthenticator.mOptionsAddAccount);
+ validateOptions(null, mockAuthenticator.mOptionsUpdateCredentials);
+ validateOptions(null, mockAuthenticator.mOptionsConfirmCredentials);
+ validateOptions(null, mockAuthenticator.mOptionsGetAuthToken);
+
mockAuthenticator.clearData();
// Now test with existing features and an activity
@@ -808,9 +837,13 @@
);
// Assert returned result
- validateNonNullResult(resultBundle);
+ validateAccountAndAuthTokenResult(resultBundle);
- assertNull(mockAuthenticator.getOptions());
+ validateOptions(null, mockAuthenticator.mOptionsAddAccount);
+ validateOptions(null, mockAuthenticator.mOptionsUpdateCredentials);
+ validateOptions(null, mockAuthenticator.mOptionsConfirmCredentials);
+ validateOptions(null, mockAuthenticator.mOptionsGetAuthToken);
+
}
/**
@@ -860,6 +893,7 @@
// Assert returned result
validateCredentials();
+ assertNull(resultBundle.get(AccountManager.KEY_AUTHTOKEN));
} catch (OperationCanceledException e) {
fail("should not throw an OperationCanceledException");
} catch (IOException e) {
@@ -904,7 +938,9 @@
null /* callback*/,
null /* handler */);
- futureBundle.getResult();
+ Bundle result = futureBundle.getResult();
+
+ validateAccountAndNoAuthTokenResult(result);
// Assert returned result
validateCredentials();
@@ -936,6 +972,7 @@
// Assert returned result
validateCredentials();
+ assertNull(resultBundle.get(AccountManager.KEY_AUTHTOKEN));
} catch (OperationCanceledException e) {
fail("should not throw an OperationCanceledException");
@@ -978,7 +1015,9 @@
null /* callback */,
null /* handler*/);
- futureBundle.getResult();
+ Bundle result = futureBundle.getResult();
+
+ validateAccountAndNoAuthTokenResult(result);
// Assert returned result
assertEquals(ACCOUNT_TYPE, mockAuthenticator.getAccountType());
diff --git a/tests/tests/accounts/src/android/accounts/cts/MockAccountAuthenticator.java b/tests/tests/accounts/src/android/accounts/cts/MockAccountAuthenticator.java
index 9843385..2d5c395 100644
--- a/tests/tests/accounts/src/android/accounts/cts/MockAccountAuthenticator.java
+++ b/tests/tests/accounts/src/android/accounts/cts/MockAccountAuthenticator.java
@@ -35,7 +35,10 @@
private String mAccountType;
private String mAuthTokenType;
private String[] mRequiredFeatures;
- private Bundle mOptions;
+ public Bundle mOptionsUpdateCredentials;
+ public Bundle mOptionsConfirmCredentials;
+ public Bundle mOptionsAddAccount;
+ public Bundle mOptionsGetAuthToken;
private Account mAccount;
private String[] mFeatures;
@@ -65,10 +68,6 @@
return mRequiredFeatures;
}
- public Bundle getOptions() {
- return mOptions;
- }
-
public Account getAccount() {
return mAccount;
}
@@ -82,7 +81,10 @@
mAccountType = null;
mAuthTokenType = null;
mRequiredFeatures = null;
- mOptions = null;
+ mOptionsUpdateCredentials = null;
+ mOptionsAddAccount = null;
+ mOptionsGetAuthToken = null;
+ mOptionsConfirmCredentials = null;
mAccount = null;
mFeatures = null;
}
@@ -108,7 +110,7 @@
this.mAccountType = accountType;
this.mAuthTokenType = authTokenType;
this.mRequiredFeatures = requiredFeatures;
- this.mOptions = options;
+ this.mOptionsAddAccount = options;
return createResultBundle();
}
@@ -123,7 +125,7 @@
this.mResponse = response;
this.mAccount = account;
this.mAuthTokenType = authTokenType;
- this.mOptions = options;
+ this.mOptionsUpdateCredentials = options;
return createResultBundle();
}
@@ -151,7 +153,7 @@
this.mResponse = response;
this.mAccount = account;
- this.mOptions = options;
+ this.mOptionsConfirmCredentials = options;
Bundle result = new Bundle();
result.putBoolean(AccountManager.KEY_BOOLEAN_RESULT, true);
@@ -169,7 +171,7 @@
this.mResponse = response;
this.mAccount = account;
this.mAuthTokenType = authTokenType;
- this.mOptions = options;
+ this.mOptionsGetAuthToken = options;
return createResultBundle();
}