Ejemplo n.º 1
0
        public Task TestUpgradeToRevocableSession()
        {
            IObjectState state = new MutableObjectState {
                ServerData = new Dictionary <string, object>()
                {
                    { "sessionToken", "llaKcolnu" }
                }
            };
            var mockController = new Mock <IAVSessionController>();

            mockController.Setup(obj => obj.UpgradeToRevocableSessionAsync(It.IsAny <string>(),
                                                                           It.IsAny <CancellationToken>())).Returns(Task.FromResult(state));

            var mockCurrentUserController = new Mock <IAVCurrentUserController>();

            AVPlugins.Instance = new AVPlugins {
                SessionController     = mockController.Object,
                CurrentUserController = mockCurrentUserController.Object,
            };
            AVObject.RegisterSubclass <AVUser>();
            AVObject.RegisterSubclass <AVSession>();

            CancellationTokenSource source = new CancellationTokenSource();

            return(AVSessionExtensions.UpgradeToRevocableSessionAsync("someSession", source.Token).ContinueWith(t => {
                Assert.False(t.IsFaulted);
                Assert.False(t.IsCanceled);
                mockController.Verify(obj => obj.UpgradeToRevocableSessionAsync(It.Is <string>(sessionToken => sessionToken == "someSession"),
                                                                                source.Token), Times.Exactly(1));

                Assert.AreEqual("llaKcolnu", t.Result);
            }));
        }
Ejemplo n.º 2
0
        public Task TestRevoke()
        {
            var mockController = new Mock <IAVSessionController>();

            mockController
            .Setup(sessionController => sessionController.IsRevocableSessionToken(It.IsAny <string>()))
            .Returns(true);

            AVPlugins.Instance = new AVPlugins {
                SessionController = mockController.Object
            };

            CancellationTokenSource source = new CancellationTokenSource();

            return(AVSessionExtensions.RevokeAsync("r:someSession", source.Token).ContinueWith(t => {
                Assert.False(t.IsFaulted);
                Assert.False(t.IsCanceled);
                mockController.Verify(obj => obj.RevokeAsync(It.Is <string>(sessionToken => sessionToken == "r:someSession"),
                                                             source.Token), Times.Exactly(1));
            }));
        }