Commit 6cc8efac authored by Eleonora Rocchi's avatar Eleonora Rocchi Committed by Commit Bot

[PwdCheckAndroid] Add tests for compromised credentials count update

This CL adds tests to verify the number of compromised credentials is
correctly updated: if the status is IDLE the count should be updated,
otherwise the count should be null.

Bug: 1117543, 1092444
Change-Id: I1f5a63745bc20789fc7df7bb5b5672df97e3b5e1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2367719Reviewed-by: default avatarIoana Pandele <ioanap@chromium.org>
Reviewed-by: default avatarFriedrich [CET] <fhorschig@chromium.org>
Commit-Queue: Eleonora Rocchi <erocchi@google.com>
Cr-Commit-Position: refs/heads/master@{#800536}
parent a9b166bd
...@@ -33,6 +33,7 @@ import static org.chromium.chrome.browser.password_check.PasswordCheckProperties ...@@ -33,6 +33,7 @@ import static org.chromium.chrome.browser.password_check.PasswordCheckProperties
import static org.chromium.chrome.browser.password_check.PasswordCheckProperties.HeaderProperties.UNKNOWN_PROGRESS; import static org.chromium.chrome.browser.password_check.PasswordCheckProperties.HeaderProperties.UNKNOWN_PROGRESS;
import static org.chromium.chrome.browser.password_check.PasswordCheckProperties.ITEMS; import static org.chromium.chrome.browser.password_check.PasswordCheckProperties.ITEMS;
import static org.chromium.chrome.browser.password_check.PasswordCheckUIStatus.ERROR_OFFLINE; import static org.chromium.chrome.browser.password_check.PasswordCheckUIStatus.ERROR_OFFLINE;
import static org.chromium.chrome.browser.password_check.PasswordCheckUIStatus.ERROR_UNKNOWN;
import static org.chromium.chrome.browser.password_check.PasswordCheckUIStatus.IDLE; import static org.chromium.chrome.browser.password_check.PasswordCheckUIStatus.IDLE;
import static org.chromium.chrome.browser.password_check.PasswordCheckUIStatus.RUNNING; import static org.chromium.chrome.browser.password_check.PasswordCheckUIStatus.RUNNING;
...@@ -263,6 +264,72 @@ public class PasswordCheckControllerTest { ...@@ -263,6 +264,72 @@ public class PasswordCheckControllerTest {
assertThat(mModel.get(ITEMS).get(1).model.get(CREDENTIAL_HANDLER), is(mMediator)); assertThat(mModel.get(ITEMS).get(1).model.get(CREDENTIAL_HANDLER), is(mMediator));
} }
@Test
public void testIdleStatusUpdatedOnCredentialsFetchCompleted() {
// Set initial status to IDLE with no compromised credentials.
when(mPasswordCheck.getCompromisedCredentialsCount()).thenReturn(0);
mMediator.onPasswordCheckStatusChanged(IDLE);
assertThat(mModel.get(ITEMS).get(0).model.get(COMPROMISED_CREDENTIALS_COUNT), is(0));
// Add 2 compromised credentials.
when(mPasswordCheck.getCompromisedCredentials())
.thenReturn(new CompromisedCredential[] {ANA, BOB});
when(mPasswordCheck.areScriptsRefreshed()).thenReturn(true);
when(mPasswordCheck.getCompromisedCredentialsCount()).thenReturn(2);
mMediator.onCompromisedCredentialsFetchCompleted();
assertThat(mModel.get(ITEMS).size(), is(3)); // Header + existing credentials.
// Check the compromised credentials count updated.
assertThat(mModel.get(ITEMS).get(0).model.get(COMPROMISED_CREDENTIALS_COUNT), is(2));
}
@Test
public void testNotIdleStatusNotUpdatedOnCredentialsFetchCompleted() {
mMediator.onPasswordCheckStatusChanged(RUNNING);
assertNull(mModel.get(ITEMS).get(0).model.get(COMPROMISED_CREDENTIALS_COUNT));
// Add ANA while the check is running.
when(mPasswordCheck.getCompromisedCredentials())
.thenReturn(new CompromisedCredential[] {ANA});
when(mPasswordCheck.areScriptsRefreshed()).thenReturn(true);
when(mPasswordCheck.getCompromisedCredentialsCount()).thenReturn(1);
mMediator.onCompromisedCredentialsFetchCompleted();
assertThat(mModel.get(ITEMS).size(), is(2)); // Header + existing credentials.
// Check the compromised credential count did not update.
assertNull(mModel.get(ITEMS).get(0).model.get(COMPROMISED_CREDENTIALS_COUNT));
}
@Test
public void testIdleStatusUpdatedOnCredentialFound() {
// Set initial status to IDLE with no compromised credentials.
when(mPasswordCheck.getCompromisedCredentialsCount()).thenReturn(0);
mMediator.onPasswordCheckStatusChanged(IDLE);
assertThat(mModel.get(ITEMS).get(0).model.get(COMPROMISED_CREDENTIALS_COUNT), is(0));
// Add ANA to the compromised credentials.
when(mPasswordCheck.getCompromisedCredentialsCount()).thenReturn(1);
mMediator.onCompromisedCredentialFound(ANA);
assertThat(mModel.get(ITEMS).size(), is(2)); // Header + existing credentials.
// Check the compromised credentials count updated.
assertThat(mModel.get(ITEMS).get(0).model.get(COMPROMISED_CREDENTIALS_COUNT), is(1));
}
@Test
public void testNotIdleStatusNotUpdatedOnCredentialFound() {
mMediator.onPasswordCheckStatusChanged(ERROR_UNKNOWN);
assertNull(mModel.get(ITEMS).get(0).model.get(COMPROMISED_CREDENTIALS_COUNT));
// Add ANA after the check has failed.
when(mPasswordCheck.getCompromisedCredentialsCount()).thenReturn(1);
mMediator.onCompromisedCredentialFound(ANA);
assertThat(mModel.get(ITEMS).size(), is(2)); // Header + existing credentials.
// Check the compromised credentials count did not update.
assertNull(mModel.get(ITEMS).get(0).model.get(COMPROMISED_CREDENTIALS_COUNT));
}
@Test @Test
public void testSortsInitialSetOfCredentals() { public void testSortsInitialSetOfCredentals() {
mMediator.onPasswordCheckStatusChanged(IDLE); mMediator.onPasswordCheckStatusChanged(IDLE);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment