protected override async Task <AuditActor> GetActorAsync()
        {
            // Construct an actor representing the user the service is acting on behalf of
            AuditActor onBehalfOf = null;

            if (_getOnBehalfOf != null)
            {
                onBehalfOf = await _getOnBehalfOf();
            }
            return(await AuditActor.GetCurrentMachineActorAsync(onBehalfOf));
        }
Пример #2
0
        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 GetCurrentMachineActorAsync_WithoutOnBehalfOf()
        {
            var actor = await AuditActor.GetCurrentMachineActorAsync();

            var expectedIpAddress = await AuditActor.GetLocalIpAddressAsync();

            Assert.NotNull(actor);
            Assert.Equal(Environment.MachineName, actor.MachineName);
            Assert.Equal(expectedIpAddress, actor.MachineIP);
            Assert.Equal($@"{Environment.UserDomainName}\{Environment.UserName}", actor.UserName);
            Assert.Equal("MachineUser", actor.AuthenticationType);
            Assert.InRange(actor.TimestampUtc, DateTime.UtcNow.AddMinutes(-1), DateTime.UtcNow.AddMinutes(1));
            Assert.Null(actor.OnBehalfOf);
        }
        public async Task GetCurrentMachineActorAsync_WithOnBehalfOf_AcceptsNull()
        {
            var expectedResult = await AuditActor.GetCurrentMachineActorAsync();

            var actualResult = await AuditActor.GetCurrentMachineActorAsync(onBehalfOf : null);

            Assert.NotNull(expectedResult);
            Assert.NotNull(actualResult);
            Assert.Equal(expectedResult.MachineName, actualResult.MachineName);
            Assert.Equal(expectedResult.MachineIP, actualResult.MachineIP);
            Assert.Equal(expectedResult.UserName, actualResult.UserName);
            Assert.Equal(expectedResult.AuthenticationType, actualResult.AuthenticationType);
            Assert.InRange(actualResult.TimestampUtc, expectedResult.TimestampUtc, expectedResult.TimestampUtc.AddMinutes(1));
            Assert.Null(actualResult.OnBehalfOf);
        }
 protected virtual Task <AuditActor> GetActorAsync()
 {
     return(AuditActor.GetCurrentMachineActorAsync());
 }