public void WhenCalling_UsersExists_WithValidUserId_RepositoryMethodCalled(int userId) { //arrange MockUserRepository.Setup(s => s.UserExistsAsync(userId)).Returns(Task.FromResult(true)); //act var result = GetService().UserExistsAsync(userId); //assert MockUserRepository.Verify(s => s.UserExistsAsync(userId), Times.Once); }
public async Task Post_WhenUserNotValid_Returns_Unauthorized_Status() { // Arrange var requestModel = new PostTokenRequestModel { Username = "******", Audience = "integration test", Password = "******" }; MockUserRepository.Setup(m => m.GetUserAsync(requestModel.Username, WellKnownUserIds.TokenApi)).ReturnsAsync(null as UserDto); // Act var response = await HttpClient.PostAsync("api/token", Stringify(requestModel)); // Assert response.StatusCode.Should().Be(HttpStatusCode.Unauthorized); }
private void MockUserRepository_ReadSingle_ReturnsUser(Int32 groupCount) { User userDto = new User { FirstName = "FirstName", LastName = "LastName", EmailAddress = "*****@*****.**", Groups = new FieldValueList <Group>() }; for (Int32 i = 1; i <= groupCount; i++) { Group group = new Group { Name = $"Group{i}" }; userDto.Groups.Add(group); } MockUserRepository .Setup(x => x.ReadSingle(It.IsAny <Int32>())) .Returns(userDto); }
public async Task Post_WhenCredentialsNotValid_Returns_Unauthorized_Status() { // Arrange var requestModel = new PostTokenRequestModel { Username = "******", Audience = "integration test", Password = "******" }; var mockUserDto = new UserDto { Id = Guid.NewGuid() }; MockUserRepository.Setup(m => m.GetUserAsync(requestModel.Username, WellKnownUserIds.TokenApi)).ReturnsAsync(mockUserDto); MockCredentialValidator.Setup(m => m.ValidateAsync(It.IsAny <Guid>(), It.IsAny <string>(), It.IsAny <Guid>())).ReturnsAsync(false); // Act var response = await HttpClient.PostAsync("api/token", Stringify(requestModel)); // Assert response.StatusCode.Should().Be(HttpStatusCode.Unauthorized); }
public async Task Post_Returns_Ok_Status_And_Token() { // Arrange var requestModel = new PostTokenRequestModel { Username = "******", Audience = "integration test", Password = "******" }; var mockUserDto = new UserDto { Id = Guid.NewGuid() }; MockUserRepository.Setup(m => m.GetUserAsync(requestModel.Username, WellKnownUserIds.TokenApi)).ReturnsAsync(mockUserDto); MockUserRepository.Setup(m => m.GetRegisteredApplicationAsync(requestModel.Username, requestModel.Audience)).ReturnsAsync(new RegisteredApplicationDto { RegisteredOwner = "userId" }); MockCredentialValidator.Setup(m => m.ValidateAsync(mockUserDto.Id, requestModel.Password, It.IsAny <Guid>())).ReturnsAsync(true); // Act var response = await HttpClient.PostAsync("api/token", Stringify(requestModel)); // Assert response.StatusCode.Should().Be(HttpStatusCode.OK); var content = await response.Content.ReadAsStringAsync(); var responseModel = JsonConvert.DeserializeObject <PostTokenResponseModel>(content); responseModel.Token.Should().NotBeNullOrEmpty(); responseModel.Issuer.Should().Be("http://www.techniqly.com/token/v1"); DateTimeOffset.FromUnixTimeSeconds(responseModel.ValidFrom).LocalDateTime.Should().BeBefore(DateTime.Now); DateTimeOffset.FromUnixTimeSeconds(responseModel.ValidTo).LocalDateTime.Should().BeAfter(DateTime.Now).And.BeBefore(DateTime.Now.AddDays(30)); }
private void MockUserRepository_ReadSingle_ThrowsException() { MockUserRepository .Setup(x => x.ReadSingle(It.IsAny <Int32>())) .Throws <Exception>(); }
private void MockUserRepositoryQueryWithUserData(QueryResultSet <User> userQueryResultSet) { MockUserRepository .Setup(x => x.Query(It.IsAny <Query <User> >(), It.IsAny <Int32>())) .Returns(userQueryResultSet); }