@Test public void testPinCurrentUserIfNeededAsync() { // Enable LDS Parse.enableLocalDatastore(null); // Register a mock currentUserController to make getCurrentUser work ParseUser currentUser = new ParseUser(); currentUser.setObjectId("test"); CachedCurrentUserController currentUserController = mock(CachedCurrentUserController.class); when(currentUserController.setIfNeededAsync(any(ParseUser.class))) .thenReturn(Task.<Void>forResult(null)); ParseCorePlugins.getInstance().registerCurrentUserController(currentUserController); ParseUser user = new ParseUser(); ParseUser.pinCurrentUserIfNeededAsync(user); // Make sure we pin the user verify(currentUserController, times(1)).setIfNeededAsync(user); }
@Test public void testValidateSaveWithLDSNotEnabled() { // Register a mock currentUserController to make getCurrentUser work ParseUser currentUser = new ParseUser(); currentUser.setObjectId("test"); ParseCurrentUserController currentUserController = mock(ParseCurrentUserController.class); when(currentUserController.getAsync(anyBoolean())).thenReturn(Task.forResult(currentUser)); ParseCorePlugins.getInstance().registerCurrentUserController(currentUserController); ParseUser user = new ParseUser(); user.setObjectId("test"); // Make isDirty return true user.put("key", "value"); // Make isCurrent return false user.setIsCurrentUser(false); user.validateSave(); }
anonymousAuthData.put("anonymousToken", "anonymousTest"); user.setObjectId("objectId"); user.putAuthData(ParseAnonymousUtils.AUTH_TYPE, anonymousAuthData); ParseUser partialMockUser = spy(user);
user.setObjectId("objectId"); user.putAuthData(ParseAnonymousUtils.AUTH_TYPE, new HashMap<String, String>()); ParseUser partialMockUser = spy(user);
@Test public void testValidDelete() { // Register a mock currentUserController to make getCurrentUser work ParseUser currentUser = new ParseUser(); currentUser.setObjectId("test"); ParseCurrentUserController currentUserController = mock(ParseCurrentUserController.class); when(currentUserController.getAsync(anyBoolean())).thenReturn(Task.forResult(currentUser)); ParseCorePlugins.getInstance().registerCurrentUserController(currentUserController); ParseUser user = new ParseUser(); user.setObjectId("test"); // Make isDirty return true user.put("key", "value"); thrown.expect(IllegalArgumentException.class); thrown.expectMessage("Cannot delete a ParseUser that is not authenticated."); user.validateDelete(); }
currentUser.setObjectId("objectId"); // Make it not lazy. ParseUser partialMockCurrentUser = spy(currentUser); when(partialMockCurrentUser.getSessionToken()).thenReturn("sessionToken");
@Test public void testValidateSaveWithLDSNotEnabledAndCurrentUserNotMatch() { // Register a mock currentUserController to make getCurrentUser work ParseUser currentUser = new ParseUser(); currentUser.setObjectId("testAgain"); ParseCurrentUserController currentUserController = mock(ParseCurrentUserController.class); when(currentUserController.getAsync(anyBoolean())).thenReturn(Task.forResult(currentUser)); ParseCorePlugins.getInstance().registerCurrentUserController(currentUserController); ParseUser user = new ParseUser(); user.setObjectId("test"); // Make isDirty return true user.put("key", "value"); // Make isCurrent return false user.setIsCurrentUser(false); thrown.expect(IllegalArgumentException.class); thrown.expectMessage("Cannot save a ParseUser that is not authenticated."); user.validateSave(); }
@Test public void testSetUserWriteAccessWithNormalUser() { ParseUser user = new ParseUser(); user.setObjectId("test"); ParseACL acl = new ParseACL(); acl.setWriteAccess(user, true); assertTrue(acl.getWriteAccess(user)); assertEquals(1, acl.getPermissionsById().size()); }
@Test public void testSetUserReadAccessWithNormalUser() { ParseUser user = new ParseUser(); user.setObjectId("test"); ParseACL acl = new ParseACL(); acl.setReadAccess(user, true); assertTrue(acl.getReadAccess(user)); assertEquals(1, acl.getPermissionsById().size()); }
@Test public void testGetUserReadAccessWithNormalUser() { ParseACL acl = new ParseACL(); ParseUser user = new ParseUser(); user.setObjectId("test"); acl.setReadAccess(user, true); assertTrue(acl.getReadAccess(user)); }
@Test public void testGetUserWriteAccessWithNormalUser() { ParseACL acl = new ParseACL(); ParseUser user = new ParseUser(); user.setObjectId("test"); acl.setWriteAccess(user, true); assertTrue(acl.getWriteAccess(user)); }
@Test public void testConstructorWithUser() { ParseUser user = new ParseUser(); user.setObjectId("test"); ParseACL acl = new ParseACL(user); assertTrue(acl.getReadAccess("test")); assertTrue(acl.getWriteAccess("test")); }
@Test public void testOnSaveRestoreState() { ParseUser user = new ParseUser(); user.setObjectId("objId"); user.setIsCurrentUser(true); Parcel parcel = Parcel.obtain(); user.writeToParcel(parcel, 0); parcel.setDataPosition(0); user = (ParseUser) ParseObject.CREATOR.createFromParcel(parcel); assertTrue(user.isCurrentUser()); }
@Test public void testResolveUserWithUnresolvedUser() { ParseACL acl = new ParseACL(); ParseUser unresolvedUser = new ParseUser(); setLazy(unresolvedUser); // This will set the unresolvedUser in acl acl.setReadAccess(unresolvedUser, true); acl.setWriteAccess(unresolvedUser, true); unresolvedUser.setObjectId("test"); acl.resolveUser(unresolvedUser); assertNull(acl.getUnresolvedUser()); assertTrue(acl.getReadAccess(unresolvedUser)); assertTrue(acl.getWriteAccess(unresolvedUser)); assertEquals(1, acl.getPermissionsById().size()); assertFalse(acl.getPermissionsById().containsKey(UNRESOLVED_KEY)); }
@Test public void testParcelable() { ParseACL acl = new ParseACL(); acl.setReadAccess("userId", true); ParseUser user = new ParseUser(); user.setObjectId("userId2"); acl.setReadAccess(user, true); acl.setRoleWriteAccess("role", true); acl.setShared(true); Parcel parcel = Parcel.obtain(); acl.writeToParcel(parcel, 0); parcel.setDataPosition(0); acl = ParseACL.CREATOR.createFromParcel(parcel); assertTrue(acl.getReadAccess("userId")); assertTrue(acl.getReadAccess(user)); assertTrue(acl.getRoleWriteAccess("role")); assertTrue(acl.isShared()); assertFalse(acl.getPublicReadAccess()); assertFalse(acl.getPublicWriteAccess()); }