Files
jdescopingtool/NEW/tests/JdeScoping.Api.Tests/Services/FakeAuthServiceTests.cs
T
Joseph Doherty 604bfe919c refactor: address code review findings across all projects
Apply comprehensive fixes from code reviews including:
- Extract shared utilities (SqlFormatHelper, CellValueConverter, DbDestinationBase)
- Add interface abstractions (IAuthenticationService, IDatabaseMigrator, IMisQueryBuilder)
- Implement SecureStore for encrypted secrets storage
- Fix error handling with proper HTTP status codes and logging
- Optimize double enumeration in DevEtlRegistry
- Add DataSync.Dev README for developer onboarding
- Extract filter panel base classes to reduce duplication
- Update code review docs to mark all issues as fixed
2026-01-19 11:05:36 -05:00

65 lines
1.8 KiB
C#

using JdeScoping.Infrastructure.Auth;
using Shouldly;
namespace JdeScoping.Api.Tests.Services;
public class FakeAuthServiceTests
{
private readonly FakeAuthService _service;
public FakeAuthServiceTests()
{
_service = new FakeAuthService();
}
[Fact]
public async Task AuthenticateAsync_AnyCredentials_ReturnsSuccess()
{
// Act
var result = await _service.AuthenticateAsync("anyuser", "anypassword");
// Assert
result.Success.ShouldBeTrue();
result.User.ShouldNotBeNull();
result.ErrorMessage.ShouldBeNull();
}
[Fact]
public async Task AuthenticateAsync_UserInfoPopulatedCorrectly()
{
// Act
var result = await _service.AuthenticateAsync("testuser", "password");
// Assert
result.User.ShouldNotBeNull();
result.User.Username.ShouldBe("testuser"); // lowercase
result.User.FirstName.ShouldBe("Dev");
result.User.LastName.ShouldBe("User");
result.User.EmailAddress.ShouldBe("testuser@example.com");
result.User.Title.ShouldBe("Developer");
result.User.Dn.ShouldBe("CN=testuser,OU=Users,DC=example,DC=com");
}
[Fact]
public async Task AuthenticateAsync_UsernameIsLowercased()
{
// Act
var result = await _service.AuthenticateAsync("TestUser", "password");
// Assert
result.User.ShouldNotBeNull();
result.User.Username.ShouldBe("testuser");
}
[Fact]
public async Task AuthenticateAsync_DisplayNameComputedCorrectly()
{
// Act
var result = await _service.AuthenticateAsync("testuser", "password");
// Assert
result.User.ShouldNotBeNull();
result.User.DisplayName.ShouldBe("Dev User");
}
}