feat(admin): show deployed app version
This commit is contained in:
@@ -919,6 +919,60 @@ public sealed class AuthAndSystemControllerTests
|
||||
Assert.Equal("person@example.com", result.GoogleLink.Email);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Me_result_includes_configured_build_metadata()
|
||||
{
|
||||
var user = new ApplicationUser { Id = "admin-1", Email = "admin@example.com", UserName = "admin" };
|
||||
var users = CreateUserManager();
|
||||
users.Setup(x => x.GetUserAsync(It.IsAny<System.Security.Claims.ClaimsPrincipal>())).ReturnsAsync(user);
|
||||
users.Setup(x => x.GetRolesAsync(user)).ReturnsAsync(new List<string> { "Admin" });
|
||||
var cfg = new ConfigurationBuilder()
|
||||
.AddInMemoryCollection(new Dictionary<string, string?>
|
||||
{
|
||||
["App:Version"] = "2.4.1",
|
||||
["App:CommitSha"] = "abc1234",
|
||||
})
|
||||
.Build();
|
||||
var controller = new AuthController(cfg, users.Object, Mock.Of<ITokenService>(), Mock.Of<IAppEmailSender>(), Mock.Of<IGoogleTokenValidator>(), Mock.Of<IMicrosoftTokenValidator>(), NullLogger<AuthController>.Instance, Mock.Of<ITwoFactorPendingTokenService>(), TestHostFactory.CreateInMemoryDb())
|
||||
{
|
||||
ControllerContext = new ControllerContext { HttpContext = new DefaultHttpContext() }
|
||||
};
|
||||
|
||||
var response = await controller.Me(CancellationToken.None);
|
||||
|
||||
var ok = Assert.IsType<OkObjectResult>(response);
|
||||
var result = Assert.IsType<AuthController.MeResult>(ok.Value);
|
||||
Assert.Equal("2.4.1", result.AppVersion);
|
||||
Assert.Equal("abc1234", result.AppCommitSha);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Me_result_limits_build_metadata_to_admins()
|
||||
{
|
||||
var user = new ApplicationUser { Id = "user-1", Email = "person@example.com", UserName = "person" };
|
||||
var users = CreateUserManager();
|
||||
users.Setup(x => x.GetUserAsync(It.IsAny<System.Security.Claims.ClaimsPrincipal>())).ReturnsAsync(user);
|
||||
users.Setup(x => x.GetRolesAsync(user)).ReturnsAsync(new List<string>());
|
||||
var cfg = new ConfigurationBuilder()
|
||||
.AddInMemoryCollection(new Dictionary<string, string?>
|
||||
{
|
||||
["App:Version"] = "2.4.1",
|
||||
["App:CommitSha"] = "abc1234",
|
||||
})
|
||||
.Build();
|
||||
var controller = new AuthController(cfg, users.Object, Mock.Of<ITokenService>(), Mock.Of<IAppEmailSender>(), Mock.Of<IGoogleTokenValidator>(), Mock.Of<IMicrosoftTokenValidator>(), NullLogger<AuthController>.Instance, Mock.Of<ITwoFactorPendingTokenService>(), TestHostFactory.CreateInMemoryDb())
|
||||
{
|
||||
ControllerContext = new ControllerContext { HttpContext = new DefaultHttpContext() }
|
||||
};
|
||||
|
||||
var response = await controller.Me(CancellationToken.None);
|
||||
|
||||
var ok = Assert.IsType<OkObjectResult>(response);
|
||||
var result = Assert.IsType<AuthController.MeResult>(ok.Value);
|
||||
Assert.Equal("unknown", result.AppVersion);
|
||||
Assert.Null(result.AppCommitSha);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Admin_system_email_settings_falls_back_when_override_store_is_unavailable()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user