/* package for testes */ Map<String, Map<String, String>> getAuthData() { synchronized (mutex) { Map<String, Map<String, String>> authData = getMap(KEY_AUTH_DATA); if (authData == null) { // We'll always return non-null for now since we don't have any null checking in place. // Be aware not to get and set without checking size or else we'll be adding a value that // wasn't there in the first place. authData = new HashMap<>(); } return authData; } }
@Test public void testLazyLogin() { CachedCurrentUserController controller = new CachedCurrentUserController(null); String authType = ParseAnonymousUtils.AUTH_TYPE; Map<String, String> authData = new HashMap<>(); authData.put("sessionToken", "testSessionToken"); ParseUser user = controller.lazyLogIn(authType, authData); // Make sure use is generated through lazyLogin assertTrue(user.isLazy()); assertTrue(user.isCurrentUser()); Map<String, Map<String, String>> authPair = user.getMap(KEY_AUTH_DATA); assertEquals(1, authPair.size()); Map<String, String> authDataAgain = authPair.get(authType); assertEquals(1, authDataAgain.size()); assertEquals("testSessionToken", authDataAgain.get("sessionToken")); // Make sure controller state is correct assertSame(user, controller.currentUser); assertFalse(controller.currentUserMatchesDisk); }