File tree Expand file tree Collapse file tree 2 files changed +30
-1
lines changed Expand file tree Collapse file tree 2 files changed +30
-1
lines changed Original file line number Diff line number Diff line change @@ -510,7 +510,7 @@ public Task<Void> then(Task<Void> task) throws Exception {
510
510
newStateBuilder .put (KEY_SESSION_TOKEN , getSessionToken ());
511
511
}
512
512
// Avoid clearing authData when updating the current user's State via ParseQuery result
513
- if (getAuthData () != null && newState .get (KEY_AUTH_DATA ) == null ) {
513
+ if (getAuthData (). size () > 0 && newState .get (KEY_AUTH_DATA ) == null ) {
514
514
newStateBuilder .put (KEY_AUTH_DATA , getAuthData ());
515
515
}
516
516
newState = newStateBuilder .build ();
Original file line number Diff line number Diff line change @@ -1435,6 +1435,35 @@ public void testSetCurrentUserStateWithoutAuthData() throws Exception {
1435
1435
assertEquals ("valueAgain" , user .get ("key" ));
1436
1436
}
1437
1437
1438
+ @ Test
1439
+ public void testSetNoAuthDataCurrentUserStateWithoutAuthData () throws Exception {
1440
+ // Set user initial state
1441
+ ParseUser .State userState = new ParseUser .State .Builder ()
1442
+ .objectId ("test" )
1443
+ .put ("oldKey" , "oldValue" )
1444
+ .put ("key" , "value" )
1445
+ .build ();
1446
+ ParseUser user = ParseObject .from (userState );
1447
+ user .setIsCurrentUser (true );
1448
+ // Build new state
1449
+ ParseUser .State newUserState = new ParseUser .State .Builder ()
1450
+ .objectId ("testAgain" )
1451
+ .put ("key" , "valueAgain" )
1452
+ .build ();
1453
+
1454
+ user .setState (newUserState );
1455
+
1456
+ // Make sure we do not add none existed authData
1457
+ assertFalse (user .keySet ().contains ("authData" ));
1458
+ assertEquals (1 , user .keySet ().size ());
1459
+ assertEquals (0 , user .getAuthData ().size ());
1460
+ // Make sure old state is deleted
1461
+ assertFalse (user .has ("oldKey" ));
1462
+ // Make sure new state is set
1463
+ assertEquals ("testAgain" , user .getObjectId ());
1464
+ assertEquals ("valueAgain" , user .get ("key" ));
1465
+ }
1466
+
1438
1467
//endregion
1439
1468
1440
1469
private static void setLazy (ParseUser user ) {
You can’t perform that action at this time.
0 commit comments