Improve domain enrollment and desktop personalization

This commit is contained in:
2026-09-07 15:07:04 -06:00
parent c737bd3192
commit 9f32ed2cb1
30 changed files with 1259 additions and 51 deletions
@@ -209,6 +209,15 @@ public sealed class NtlmCredentialValidatorTests
"""
<span id="ctl00_lblNombreUsuario">MARÍA DEL CARMEN</span>
"""),
Response(
HttpStatusCode.OK,
"""
<span id="ctl00_contenedor_decEncabezado_lblNombre">123456 - MARÍA DEL CARMEN</span>
<span id="ctl00_contenedor_decEncabezado_lblCorreo">docente@lasallistas.org.mx</span>
<span id="ctl00_contenedor_decEncabezado_lblIndicadorValue">SINDICALIZADO QUINCENAL (ACTIVO)</span>
<span id="ctl00_contenedor_decEncabezado_lblPuesto">DOCENTE</span>
<span id="ctl00_contenedor_decEncabezado_lblDependencia"></span>
"""),
Response(
HttpStatusCode.OK,
"""
@@ -244,6 +253,11 @@ public sealed class NtlmCredentialValidatorTests
Assert.Equal("María del Carmen de la Fuente O'Connor", result.Profile.DisplayName);
Assert.Equal("María del Carmen", result.Profile.GivenName);
Assert.Equal("de la Fuente O'Connor", result.Profile.Surname);
Assert.Equal("123456", result.Profile.EmployeeNumber);
Assert.Equal("docente@lasallistas.org.mx", result.Profile.Email);
Assert.Equal("Sindicalizado quincenal (activo)", result.Profile.EmployeeType);
Assert.Equal("Docente", result.Profile.JobTitle);
Assert.Null(result.Profile.Department);
Assert.Equal("Calle del Sol 15\r\nFlorida", result.Profile.StreetAddress);
Assert.Equal("Álvaro Obregón", result.Profile.City);
Assert.Equal("Ciudad de México", result.Profile.State);
@@ -253,6 +267,7 @@ public sealed class NtlmCredentialValidatorTests
"/psulsa/",
"/psulsa/",
"/psulsa/menu.aspx",
"/psulsa/gadmon/nomina/consultanomina.aspx",
"/psulsa/gadmon/capitalhumano/datos/personales.aspx",
"/psulsa/gadmon/capitalhumano/datos/ubicacion.aspx"
],
@@ -270,6 +285,7 @@ public sealed class NtlmCredentialValidatorTests
"""
<span id="ctl00_lblNombreUsuario">MIGUEL DE CERVANTES</span>
"""),
Response(HttpStatusCode.NotFound),
Response(HttpStatusCode.OK, "<html><body>Unrecognized layout</body></html>"),
Response(HttpStatusCode.NotFound));
NtlmCredentialValidator validator = CreateValidator(handler);
@@ -283,7 +299,10 @@ public sealed class NtlmCredentialValidatorTests
Assert.NotNull(result.Profile);
Assert.Equal("Miguel de Cervantes", result.Profile.DisplayName);
Assert.Null(result.Profile.StreetAddress);
Assert.Equal(5, handler.RequestPaths.Count);
Assert.Equal(6, handler.RequestPaths.Count);
Assert.Equal(
"/psulsa/gadmon/nomina/consultanomina.aspx",
handler.RequestPaths[3]);
}
private static NtlmCredentialValidator CreateValidator(SequenceHandler handler)
@@ -298,6 +317,7 @@ public sealed class NtlmCredentialValidatorTests
AdministrativePersonalProfilePath = "/psulsa/gadmon/capitalhumano/datos/personales.aspx",
AdministrativeLocationProfilePath = "/psulsa/gadmon/capitalhumano/datos/ubicacion.aspx",
StudentProfilePath = "/psulsa/alumnos/consultainformacionalumnos/consultainformacion.aspx",
ProfessorPayrollProfilePath = "/psulsa/gadmon/nomina/consultanomina.aspx",
AllowedRedirectHosts = ["sgu.example"],
TimeoutSeconds = 5,
ProfileTimeoutSeconds = 5