public async Task GetAspNetOnBehalfOfAsync_WithContext_SupportsNullUser() { var request = new Mock <HttpRequestBase>(); var context = new Mock <HttpContextBase>(); request.SetupGet(x => x.ServerVariables) .Returns(new NameValueCollection() { { "HTTP_X_FORWARDED_FOR", "1.2.3.4" } }); context.Setup(x => x.Request) .Returns(request.Object); context.Setup(x => x.User) .Returns((IPrincipal)null); var actor = await AuditActor.GetAspNetOnBehalfOfAsync(context.Object); Assert.NotNull(actor); Assert.Null(actor.AuthenticationType); Assert.Equal("1.2.3.0", actor.MachineIP); Assert.Null(actor.MachineName); Assert.Null(actor.OnBehalfOf); Assert.InRange(actor.TimestampUtc, DateTime.UtcNow.AddMinutes(-1), DateTime.UtcNow.AddMinutes(1)); Assert.Null(actor.UserName); }
public async Task GetAspNetOnBehalfOfAsync_WithContext_ObfuscatesLastIpAddressOctet() { var request = new Mock <HttpRequestBase>(); var identity = new Mock <IIdentity>(); var user = new Mock <IPrincipal>(); var context = new Mock <HttpContextBase>(); request.SetupGet(x => x.ServerVariables) .Returns(new NameValueCollection() { { "HTTP_X_FORWARDED_FOR", "1.2.3.4" } }); identity.Setup(x => x.Name) .Returns("b"); identity.Setup(x => x.AuthenticationType) .Returns("c"); user.Setup(x => x.Identity) .Returns(identity.Object); context.Setup(x => x.Request) .Returns(request.Object); context.Setup(x => x.User) .Returns(user.Object); var actor = await AuditActor.GetAspNetOnBehalfOfAsync(context.Object); Assert.NotNull(actor); Assert.Equal("c", actor.AuthenticationType); Assert.Equal("1.2.3.0", actor.MachineIP); Assert.Null(actor.MachineName); Assert.Null(actor.OnBehalfOf); Assert.InRange(actor.TimestampUtc, DateTime.UtcNow.AddMinutes(-1), DateTime.UtcNow.AddMinutes(1)); Assert.Equal("b", actor.UserName); }
public async Task GetAspNetOnBehalfOfAsync_WithoutContext_ReturnsMachineActorNullHttpContext() { var actor = await AuditActor.GetAspNetOnBehalfOfAsync(); var machineActor = await AuditActor.GetCurrentMachineActorAsync(); Assert.Equal(machineActor.MachineName, actor.MachineName); Assert.Equal(machineActor.MachineIP, actor.MachineIP); Assert.Equal(machineActor.UserName, actor.UserName); Assert.Equal(machineActor.CredentialKey, actor.CredentialKey); }
public async Task GetAspNetOnBehalfOfAsync_WithoutContext_ReturnsNullForNullHttpContext() { var actor = await AuditActor.GetAspNetOnBehalfOfAsync(); Assert.Null(actor); }