public Task TestRevocableSession() { IObjectState state = new MutableObjectState { ServerData = new Dictionary <string, object>() { { "sessionToken", "llaKcolnu" } } }; IObjectState newState = new MutableObjectState { ServerData = new Dictionary <string, object>() { { "sessionToken", "r:llaKcolnu" } } }; ParseUser user = ParseObjectExtensions.FromState <ParseUser>(state, "_User"); var mockSessionController = new Mock <IParseSessionController>(); mockSessionController.Setup(obj => obj.UpgradeToRevocableSessionAsync("llaKcolnu", It.IsAny <CancellationToken>())).Returns(Task.FromResult(newState)); ParseCorePlugins.Instance = new ParseCorePlugins { SessionController = mockSessionController.Object }; ParseObject.RegisterSubclass <ParseUser>(); ParseObject.RegisterSubclass <ParseSession>(); return(user.UpgradeToRevocableSessionAsync(CancellationToken.None).ContinueWith(t => { Assert.False(t.IsFaulted); Assert.False(t.IsCanceled); mockSessionController.Verify(obj => obj.UpgradeToRevocableSessionAsync("llaKcolnu", It.IsAny <CancellationToken>()), Times.Exactly(1)); Assert.AreEqual("r:llaKcolnu", user.SessionToken); })); }
public static Task UpgradeToRevocableSessionAsync(this ParseUser user, CancellationToken cancellationToken) { return(user.UpgradeToRevocableSessionAsync(cancellationToken)); }