public void OnlyPackageAuditRecordsWillBeSaved(AuditRecord record, bool expectedResult) { // Arrange CloudBlobContainer nullBlobContainer = null; var service = new CloudAuditingService(nullBlobContainer, AuditActor.GetCurrentMachineActorAsync); // Act + Assert Assert.Equal<bool>(expectedResult, service.RecordWillBePersisted(record)); }
public void CloudAuditServiceObfuscateAuditRecord() { // Arrange CloudBlobContainer nullBlobContainer = null; var service = new CloudAuditingService(nullBlobContainer, AuditActor.GetCurrentMachineActorAsync); AuditActor onBehalfOf = new AuditActor("machineName", "3.3.3.3", "userName1", "NoAuthentication", "someKey", DateTime.Now, null); AuditActor auditActor = new AuditActor("machineName", "2.2.2.2", "userName1", "NoAuthentication", "someKey", DateTime.Now, onBehalfOf); Package p = new Package() { User = new User("userName"), UserKey = 1, PackageRegistration = new PackageRegistration() { Id = "regId" } }; PackageAuditRecord packageAuditRecord = new PackageAuditRecord(p, AuditedPackageAction.Create); // Act var auditEntry = service.RenderAuditEntry(new AuditEntry(packageAuditRecord, auditActor)); // Assert var entry = (JObject)JsonConvert.DeserializeObject(auditEntry); var record = entry["Record"]; var actor = entry["Actor"]; Assert.Equal("-1", record["PackageRecord"]["UserKey"].ToString()); Assert.Equal(string.Empty, record["PackageRecord"]["FlattenedAuthors"].ToString()); Assert.Equal("ObfuscatedUserName", actor["UserName"].ToString()); Assert.Equal("2.2.2.0", actor["MachineIP"].ToString()); Assert.Equal("ObfuscatedUserName", actor["OnBehalfOf"]["UserName"].ToString()); Assert.Equal("3.3.3.0", actor["OnBehalfOf"]["MachineIP"].ToString()); }
internal static async Task<Uri> SaveAuditRecord(CloudStorageAccount storage, AuditRecord auditRecord) { string localIP = await AuditActor.GetLocalIP(); CloudAuditingService audit = new CloudAuditingService( Environment.MachineName, localIP, storage.CreateCloudBlobClient().GetContainerReference("auditing"), onBehalfOfThunk: null); return await audit.SaveAuditRecord(auditRecord); }