Esempio n. 1
0
        public void Login_ShouldCreateANewSession()
        {
            var user = new DAL.API.UserEx
            {
                Id = Guid.NewGuid(),
                EmailOrUserName = "******"
            };

            var mockRepo = new Mock <IUserRepository>(MockBehavior.Strict);

            mockRepo
            .Setup(r => r.QueryByCredentials("cica", "kutya", default))
            .Returns(Task.FromResult(user));
            mockRepo
            .Setup(r => r.CreateSession(user.Id, default))
            .Returns(() => Task.FromResult(Guid.NewGuid()));

            var mockContext = new Mock <IRequestContext>(MockBehavior.Strict);

            mockContext
            .SetupGet(c => c.Cancellation)
            .Returns(default(CancellationToken));

            var userManager = new UserManager(new Lazy <IUserRepository>(() => mockRepo.Object), mockContext.Object);

            Guid sessionId = Guid.Empty;

            Assert.DoesNotThrowAsync(async() => sessionId = await userManager.Login("cica", "kutya"));
            Assert.That(sessionId, Is.Not.EqualTo(Guid.Empty));

            mockRepo.Verify(r => r.QueryByCredentials("cica", "kutya", default), Times.Once);
            mockRepo.Verify(r => r.CreateSession(user.Id, default), Times.Once);
            mockContext.VerifyGet(c => c.Cancellation, Times.AtLeastOnce);
        }
Esempio n. 2
0
        public async Task DeleteCurrent()
        {
            DAL.API.UserEx user = await UserRepository.QueryBySession(Guid.Parse(RequestContext.SessionId !), RequestContext.Cancellation);

            await UserRepository.Delete(user.Id, RequestContext.Cancellation);
        }
Esempio n. 3
0
        public async Task <Guid> Login(string emailOrUserName, string pw)
        {
            DAL.API.UserEx user = await UserRepository.QueryByCredentials(emailOrUserName, pw, RequestContext.Cancellation);

            return(await UserRepository.CreateSession(user.Id, RequestContext.Cancellation));
        }