Se hicieron cambios en los filtros, se limpian los json para evtiar subir nulos y se arreglo el error que tenia con admision
This commit is contained in:
@@ -0,0 +1,520 @@
|
||||
using audit_logs.Models.DTO;
|
||||
using audit.Model;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace audit_test.Repository;
|
||||
|
||||
using audit_logs.Models;
|
||||
using audit_logs.Services;
|
||||
using NUnit.Framework;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
public class AuditServiceFilterTests
|
||||
{
|
||||
private AuditService _service;
|
||||
|
||||
[SetUp]
|
||||
public void Setup()
|
||||
{
|
||||
// Limpia la base de datos antes de cada prueba
|
||||
IntegrationDb.Database.DropCollectionAsync("AuditRecords").Wait();
|
||||
_service = new AuditService(IntegrationDb.Database);
|
||||
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task GetAuditLogsAsync_FilterByUserId_ReturnsMatchingRecords()
|
||||
{
|
||||
// Arrange
|
||||
var records = new List<AuditRecord>
|
||||
{
|
||||
new AuditRecord
|
||||
{
|
||||
EntityType = "User",
|
||||
RecordId = "1",
|
||||
UserId = "User123",
|
||||
ActionType = "Create",
|
||||
ActionTime = DateTime.UtcNow.AddMinutes(-10),
|
||||
Reason = "Testing filter",
|
||||
Changes = new List<AuditRecord.Change>()
|
||||
},
|
||||
new AuditRecord
|
||||
{
|
||||
EntityType = "Admin",
|
||||
RecordId = "2",
|
||||
UserId = "User456",
|
||||
ActionType = "Delete",
|
||||
ActionTime = DateTime.UtcNow,
|
||||
Reason = "Testing filter",
|
||||
Changes = new List<AuditRecord.Change>()
|
||||
}
|
||||
};
|
||||
|
||||
foreach (var record in records)
|
||||
{
|
||||
await _service.AuditLogRepository.InsertOneAsync(record);
|
||||
}
|
||||
SpecificAuditLogFilterDto auditLogParametersDto = new SpecificAuditLogFilterDto();
|
||||
auditLogParametersDto.pageNumber=1;
|
||||
auditLogParametersDto.pageSize = 10;
|
||||
auditLogParametersDto.userId="User123";
|
||||
|
||||
// Act
|
||||
var paginatedResult = await _service.GetAuditLogsBySpecificFilterAsync(auditLogParametersDto);
|
||||
|
||||
// Assert
|
||||
// Assert
|
||||
Assert.That(paginatedResult.Records.Count(), Is.EqualTo(1), "Should return only records matching the UserId.");
|
||||
var result = paginatedResult.Records.First();
|
||||
Assert.That(result.UserId, Is.EqualTo("User123"), "The UserId should match the filter.");
|
||||
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task GetAuditLogsAsync_FilterByRecordId_ReturnsMatchingRecords()
|
||||
{
|
||||
// Arrange
|
||||
var records = new List<AuditRecord>
|
||||
{
|
||||
new AuditRecord
|
||||
{
|
||||
EntityType = "User",
|
||||
RecordId = "Record123",
|
||||
UserId = "User123",
|
||||
ActionType = "Create",
|
||||
ActionTime = DateTime.UtcNow.AddMinutes(-10),
|
||||
Reason = "Testing filter",
|
||||
Changes = new List<AuditRecord.Change>()
|
||||
},
|
||||
new AuditRecord
|
||||
{
|
||||
EntityType = "Admin",
|
||||
RecordId = "Record456",
|
||||
UserId = "User456",
|
||||
ActionType = "Delete",
|
||||
ActionTime = DateTime.UtcNow,
|
||||
Reason = "Testing filter",
|
||||
Changes = new List<AuditRecord.Change>()
|
||||
}
|
||||
};
|
||||
|
||||
foreach (var record in records)
|
||||
{
|
||||
await _service.AuditLogRepository.InsertOneAsync(record);
|
||||
}
|
||||
SpecificAuditLogFilterDto auditLogParametersDto = new SpecificAuditLogFilterDto();
|
||||
auditLogParametersDto.pageNumber=1;
|
||||
auditLogParametersDto.pageSize = 10;
|
||||
auditLogParametersDto.userId="User123";
|
||||
|
||||
// Act
|
||||
var paginatedResult = await _service.GetAuditLogsBySpecificFilterAsync(auditLogParametersDto);
|
||||
|
||||
// Assert
|
||||
// Assert
|
||||
Assert.That(paginatedResult.Records.Count(), Is.EqualTo(1), "Should return only records matching the RecordId.");
|
||||
var result = paginatedResult.Records.First();
|
||||
Assert.That(result.RecordId, Is.EqualTo("Record123"), "The RecordId should match the filter.");
|
||||
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task GetAuditLogsAsync_FilterByDateRange_ReturnsMatchingRecords()
|
||||
{
|
||||
// Arrange
|
||||
var now = DateTime.UtcNow;
|
||||
var records = new List<AuditRecord>
|
||||
{
|
||||
new AuditRecord
|
||||
{
|
||||
EntityType = "User",
|
||||
RecordId = "1",
|
||||
UserId = "User1",
|
||||
ActionType = "Create",
|
||||
ActionTime = now.AddDays(-2),
|
||||
Reason = "Old record",
|
||||
Changes = new List<AuditRecord.Change>()
|
||||
},
|
||||
new AuditRecord
|
||||
{
|
||||
EntityType = "Admin",
|
||||
RecordId = "2",
|
||||
UserId = "User2",
|
||||
ActionType = "Update",
|
||||
ActionTime = now,
|
||||
Reason = "Current record",
|
||||
Changes = new List<AuditRecord.Change>()
|
||||
}
|
||||
};
|
||||
|
||||
foreach (var record in records)
|
||||
{
|
||||
await _service.AuditLogRepository.InsertOneAsync(record);
|
||||
}
|
||||
SpecificAuditLogFilterDto auditLogParametersDto = new SpecificAuditLogFilterDto();
|
||||
auditLogParametersDto.pageNumber=1;
|
||||
auditLogParametersDto.pageSize = 10;
|
||||
auditLogParametersDto.startDate=now.AddDays(-1);
|
||||
auditLogParametersDto.endDate=now;
|
||||
|
||||
// Act
|
||||
var paginatedResult = await _service.GetAuditLogsBySpecificFilterAsync(auditLogParametersDto);
|
||||
|
||||
// Assert
|
||||
// Assert
|
||||
Assert.That(paginatedResult.Records.Count(), Is.EqualTo(1), "Should return only records within the date range.");
|
||||
var result = paginatedResult.Records.First();
|
||||
Assert.That(result.RecordId, Is.EqualTo("2"), "Only the record within the date range should be returned.");
|
||||
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task GetAuditLogsAsync_CombinationOfFilters_ReturnsMatchingRecords()
|
||||
{
|
||||
// Arrange
|
||||
var now = DateTime.UtcNow;
|
||||
var records = new List<AuditRecord>
|
||||
{
|
||||
new AuditRecord
|
||||
{
|
||||
EntityType = "User",
|
||||
RecordId = "123",
|
||||
UserId = "User123",
|
||||
ActionType = "Create",
|
||||
ActionTime = now.AddDays(-1),
|
||||
Reason = "Testing combinatoin filter",
|
||||
Changes = new List<AuditRecord.Change>()
|
||||
},
|
||||
new AuditRecord
|
||||
{
|
||||
EntityType = "Admin",
|
||||
RecordId = "456",
|
||||
UserId = "User456",
|
||||
ActionType = "Delete",
|
||||
ActionTime = now,
|
||||
Reason = "Testng combination filter",
|
||||
Changes = new List<AuditRecord.Change>()
|
||||
}
|
||||
};
|
||||
|
||||
foreach (var record in records)
|
||||
{
|
||||
await _service.AuditLogRepository.InsertOneAsync(record);
|
||||
}
|
||||
|
||||
SpecificAuditLogFilterDto auditLogParametersDto = new SpecificAuditLogFilterDto();
|
||||
auditLogParametersDto.pageNumber=1;
|
||||
auditLogParametersDto.pageSize = 10;
|
||||
auditLogParametersDto.userId="User123";
|
||||
auditLogParametersDto.startDate=now.AddDays(-2);
|
||||
auditLogParametersDto.endDate=now;
|
||||
|
||||
// Act
|
||||
var paginatedResult = await _service.GetAuditLogsBySpecificFilterAsync(auditLogParametersDto);
|
||||
|
||||
// Assert
|
||||
// Assert
|
||||
Assert.That(paginatedResult.Records.Count(), Is.EqualTo(1), "Should return only records matching all filters.");
|
||||
var result = paginatedResult.Records.First();
|
||||
Assert.That(result.RecordId, Is.EqualTo("123"), "The record should match all filters.");
|
||||
Assert.That(result.UserId, Is.EqualTo("User123"), "The UserId should match the filter.");
|
||||
|
||||
}
|
||||
[Test]
|
||||
public async Task GetAuditLogsAsync_FilterByEntityType_ReturnsMatchingRecords()
|
||||
{
|
||||
// Arrange
|
||||
var records = new List<AuditRecord>
|
||||
{
|
||||
new AuditRecord
|
||||
{
|
||||
EntityType = "User",
|
||||
RecordId = "1",
|
||||
UserId = "User123",
|
||||
ActionType = "Create",
|
||||
ActionTime = DateTime.UtcNow.AddMinutes(-10),
|
||||
Reason = "Testing filter by EntityType",
|
||||
Changes = new List<AuditRecord.Change>()
|
||||
},
|
||||
new AuditRecord
|
||||
{
|
||||
EntityType = "Admin",
|
||||
RecordId = "2",
|
||||
UserId = "User456",
|
||||
ActionType = "Delete",
|
||||
ActionTime = DateTime.UtcNow,
|
||||
Reason = "Testing filter by EntityType",
|
||||
Changes = new List<AuditRecord.Change>()
|
||||
}
|
||||
};
|
||||
SpecificAuditLogFilterDto auditLogParametersDto = new SpecificAuditLogFilterDto();
|
||||
auditLogParametersDto.pageNumber=1;
|
||||
auditLogParametersDto.pageSize = 10;
|
||||
auditLogParametersDto.entityType = "User";
|
||||
|
||||
foreach (var record in records)
|
||||
{
|
||||
await _service.AuditLogRepository.InsertOneAsync(record);
|
||||
}
|
||||
|
||||
// Act
|
||||
var paginatedResult = await _service.GetAuditLogsBySpecificFilterAsync(auditLogParametersDto);
|
||||
|
||||
// Assert
|
||||
Assert.That(paginatedResult.Records.Count(), Is.EqualTo(1), "Should return only records matching the EntityType filter.");
|
||||
var result = paginatedResult.Records.First();
|
||||
Assert.That(result.EntityType, Is.EqualTo("User"), "The EntityType should match the filter.");
|
||||
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task GetAuditLogsMatchingTextAsync_WithSearchText_ReturnsMatchingRecords()
|
||||
{
|
||||
// Arrange
|
||||
var records = new List<AuditRecord>
|
||||
{
|
||||
new AuditRecord
|
||||
{
|
||||
EntityType = "User",
|
||||
RecordId = "nhc1",
|
||||
UserId = "User123",
|
||||
ActionType = "Create",
|
||||
ActionTime = DateTime.UtcNow,
|
||||
Reason = "Include this record",
|
||||
UserIpAddress = "192.168.1.1"
|
||||
},
|
||||
new AuditRecord
|
||||
{
|
||||
EntityType = "Admin",
|
||||
RecordId = "nhc2",
|
||||
UserId = "User456",
|
||||
ActionType = "Delete",
|
||||
ActionTime = DateTime.UtcNow,
|
||||
Reason = "Do not include this record",
|
||||
UserIpAddress = "192.168.1.2"
|
||||
}
|
||||
};
|
||||
|
||||
foreach (var record in records)
|
||||
{
|
||||
await _service.AuditLogRepository.InsertOneAsync(record);
|
||||
}
|
||||
|
||||
AuditLogTextOrDateSearchDTO orDateSearchTextOrDateDto = new AuditLogTextOrDateSearchDTO
|
||||
{
|
||||
pageNumber = 1,
|
||||
pageSize = 10,
|
||||
searchText = "nhc2"
|
||||
};
|
||||
|
||||
// Act
|
||||
var result = await _service.GetAuditLogsMatchingTextOrDateAsync(orDateSearchTextOrDateDto);
|
||||
|
||||
// Assert
|
||||
Assert.That(result.Records.Count, Is.EqualTo(1), "Should return only records matching the search text.");
|
||||
Assert.That(result.Records.First().UserId, Is.EqualTo("User456"), "The UserId should match the record with the included search text.");
|
||||
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task GetAuditLogsMatchingTextAsync_WithoutSearchText_ReturnsAllRecords()
|
||||
{
|
||||
// Arrange
|
||||
var records = new List<AuditRecord>
|
||||
{
|
||||
new AuditRecord
|
||||
{
|
||||
EntityType = "User",
|
||||
RecordId = "1",
|
||||
UserId = "User123",
|
||||
ActionType = "Create",
|
||||
ActionTime = DateTime.UtcNow,
|
||||
Reason = "First record",
|
||||
UserIpAddress = "192.168.1.1"
|
||||
},
|
||||
new AuditRecord
|
||||
{
|
||||
EntityType = "Admin",
|
||||
RecordId = "2",
|
||||
UserId = "User456",
|
||||
ActionType = "Delete",
|
||||
ActionTime = DateTime.UtcNow,
|
||||
Reason = "Second record",
|
||||
UserIpAddress = "192.168.1.2"
|
||||
}
|
||||
};
|
||||
|
||||
foreach (var record in records)
|
||||
{
|
||||
await _service.AuditLogRepository.InsertOneAsync(record);
|
||||
}
|
||||
|
||||
AuditLogTextOrDateSearchDTO orDateSearchTextOrDateDto = new AuditLogTextOrDateSearchDTO
|
||||
{
|
||||
pageNumber = 1,
|
||||
pageSize = 10
|
||||
};
|
||||
|
||||
// Act
|
||||
var result = await _service.GetAuditLogsMatchingTextOrDateAsync(orDateSearchTextOrDateDto);
|
||||
|
||||
// Assert
|
||||
Assert.That(result.Records.Count, Is.EqualTo(2), "Should return all records when no search text is provided.");
|
||||
|
||||
}
|
||||
|
||||
|
||||
[Test]
|
||||
public async Task GetAuditLogsMatchingTextAsync_WithDateRange_ReturnsMatchingRecords()
|
||||
{
|
||||
// Arrange
|
||||
var now = DateTime.UtcNow;
|
||||
var earlier = now.AddDays(-1);
|
||||
var records = new List<AuditRecord>
|
||||
{
|
||||
new AuditRecord
|
||||
{
|
||||
EntityType = "User",
|
||||
RecordId = "123",
|
||||
UserId = "User123",
|
||||
ActionType = "Create",
|
||||
ActionTime = earlier,
|
||||
Reason = "Old record",
|
||||
UserIpAddress = "192.168.1.1"
|
||||
},
|
||||
new AuditRecord
|
||||
{
|
||||
EntityType = "Admin",
|
||||
RecordId = "456",
|
||||
UserId = "User456",
|
||||
ActionType = "Delete",
|
||||
ActionTime = now,
|
||||
Reason = "Recent record",
|
||||
UserIpAddress = "192.168.1.2"
|
||||
}
|
||||
};
|
||||
|
||||
foreach (var record in records)
|
||||
{
|
||||
await _service.AuditLogRepository.InsertOneAsync(record);
|
||||
}
|
||||
|
||||
AuditLogTextOrDateSearchDTO searchDto = new AuditLogTextOrDateSearchDTO
|
||||
{
|
||||
pageNumber = 1,
|
||||
pageSize = 10,
|
||||
searchText = "",
|
||||
startDate = earlier,
|
||||
endDate = now
|
||||
};
|
||||
|
||||
// Act
|
||||
var result = await _service.GetAuditLogsMatchingTextOrDateAsync(searchDto);
|
||||
|
||||
// Assert
|
||||
|
||||
Assert.That(result.Records.Count(),Is.EqualTo(2),"Should return records within the date range.");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task GetAuditLogsMatchingTextAsync_WithTextAndDateFilters_ReturnsCorrectlyFilteredRecords()
|
||||
{
|
||||
// Arrange
|
||||
var now = DateTime.UtcNow;
|
||||
var earlier = now.AddDays(-2);
|
||||
var records = new List<AuditRecord>
|
||||
{
|
||||
new AuditRecord
|
||||
{
|
||||
EntityType = "User",
|
||||
RecordId = "123",
|
||||
UserId = "User123",
|
||||
ActionType = "Create",
|
||||
ActionTime = now.AddDays(-1),
|
||||
Reason = "Old record",
|
||||
UserIpAddress = "192.168.1.1"
|
||||
},
|
||||
new AuditRecord
|
||||
{
|
||||
EntityType = "Admin",
|
||||
RecordId = "456",
|
||||
UserId = "User456",
|
||||
ActionType = "Delete",
|
||||
ActionTime = now,
|
||||
Reason = "Recent record",
|
||||
UserIpAddress = "192.168.1.2"
|
||||
}
|
||||
};
|
||||
|
||||
foreach (var record in records)
|
||||
{
|
||||
await _service.AuditLogRepository.InsertOneAsync(record);
|
||||
}
|
||||
|
||||
AuditLogTextOrDateSearchDTO searchDto = new AuditLogTextOrDateSearchDTO
|
||||
{
|
||||
pageNumber = 1,
|
||||
pageSize = 10,
|
||||
searchText = "123",
|
||||
startDate = earlier,
|
||||
endDate = now//now.AddDays(-0.5) // This will exclude the recent record
|
||||
};
|
||||
|
||||
// Act
|
||||
var result = await _service.GetAuditLogsMatchingTextOrDateAsync(searchDto);
|
||||
|
||||
// Assert
|
||||
Assert.That(result.Records.Count, Is.EqualTo(1), "Should return only records matching both text and date range filters.");
|
||||
Assert.That(result.Records.First().Reason, Is.EqualTo("Old record"), "The Reason should match the filter.");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task GetAuditLogsMatchingTextAsync_NoMatchingCriteria_ReturnsNoRecords()
|
||||
{
|
||||
// Arrange
|
||||
var now = DateTime.UtcNow;
|
||||
var records = new List<AuditRecord>
|
||||
{
|
||||
new AuditRecord
|
||||
{
|
||||
EntityType = "User",
|
||||
RecordId = "123",
|
||||
UserId = "User123",
|
||||
ActionType = "Create",
|
||||
ActionTime = now.AddDays(-2),
|
||||
Reason = "Old record",
|
||||
UserIpAddress = "192.168.1.1"
|
||||
}
|
||||
};
|
||||
|
||||
foreach (var record in records)
|
||||
{
|
||||
await _service.AuditLogRepository.InsertOneAsync(record);
|
||||
}
|
||||
|
||||
AuditLogTextOrDateSearchDTO searchDto = new AuditLogTextOrDateSearchDTO
|
||||
{
|
||||
pageNumber = 1,
|
||||
pageSize = 10,
|
||||
searchText = "No match",
|
||||
startDate = DateTime.UtcNow.AddDays(-5),
|
||||
endDate = DateTime.UtcNow.AddDays(-3)
|
||||
};
|
||||
|
||||
// Act
|
||||
var result = await _service.GetAuditLogsMatchingTextOrDateAsync(searchDto);
|
||||
|
||||
// Assert
|
||||
Assert.That(result.Records.Count(),Is.EqualTo(0));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
namespace audit_test.Repository;
|
||||
|
||||
using audit_logs.Models.DTO;
|
||||
using audit.Model;
|
||||
using audit_logs.Services;
|
||||
using NUnit.Framework;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
[TestFixture]
|
||||
[Category("Integration")]
|
||||
public class AuditServiceFilterbyTextAndDateTests
|
||||
{
|
||||
private AuditService _service;
|
||||
|
||||
[SetUp]
|
||||
public void Setup()
|
||||
{
|
||||
// Crear la instancia del servicio utilizando la base de datos real
|
||||
_service = new AuditService(IntegrationDbReal.Database);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task VerifyAllRecordsLoaded_ReturnsCorrectCount()
|
||||
{
|
||||
// Act
|
||||
var allRecords = await _service.AuditLogRepository.GetAllAuditRecordsAsync();
|
||||
|
||||
// Assert
|
||||
Assert.That(allRecords.Count(), Is.EqualTo(5), "All records from the JSON file should be loaded.");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task GetAuditLogsAsync_FilterByDateRange_ReturnsCorrectRecords()
|
||||
{
|
||||
// Arrange
|
||||
var startDate = DateTime.ParseExact("2024-11-21T23:29:40.267Z", "yyyy-MM-ddTHH:mm:ss.fffZ", System.Globalization.CultureInfo.InvariantCulture).ToUniversalTime();
|
||||
var endDate = DateTime.ParseExact("2024-11-22T08:48:51.194Z", "yyyy-MM-ddTHH:mm:ss.fffZ", System.Globalization.CultureInfo.InvariantCulture).ToUniversalTime();
|
||||
|
||||
var auditLogParametersDto = new AuditLogTextOrDateSearchDTO
|
||||
{
|
||||
pageNumber = 1,
|
||||
pageSize = 10,
|
||||
startDate = startDate,
|
||||
endDate = endDate
|
||||
};
|
||||
|
||||
// Act
|
||||
var paginatedResult = await _service.GetAuditLogsMatchingTextOrDateAsync(auditLogParametersDto);
|
||||
|
||||
// Assert
|
||||
Assert.That(paginatedResult.Records.Count, Is.EqualTo(3), "Should return only records within the specified date range.");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task GetAuditLogsAsync_FilterByTextAndDateRange_ReturnsCorrectRecords()
|
||||
{
|
||||
// Arrange
|
||||
var startDate = DateTime.Parse("2024-11-21T23:29:40.267Z");
|
||||
var endDate = DateTime.Parse("2024-11-22T08:48:51.194Z");
|
||||
var auditLogParametersDto = new AuditLogTextOrDateSearchDTO
|
||||
{
|
||||
pageNumber = 1,
|
||||
pageSize = 10,
|
||||
startDate = startDate,
|
||||
endDate = endDate,
|
||||
searchText = "673fc258d26d3f5086c49598"
|
||||
};
|
||||
|
||||
// Act
|
||||
var paginatedResult = await _service.GetAuditLogsMatchingTextOrDateAsync(auditLogParametersDto);
|
||||
|
||||
// Assert
|
||||
Assert.That(paginatedResult.Records.Count, Is.EqualTo(1), "Should return only records matching the text and date range.");
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,8 @@
|
||||
using System.Security.Claims;
|
||||
using audit_logs.Models;
|
||||
using audit_logs.Models.DTO;
|
||||
using audit_logs.Utils;
|
||||
using MongoDB.Bson;
|
||||
|
||||
namespace audit_test.Repository;
|
||||
|
||||
@@ -10,7 +13,7 @@ using audit_logs.Services;
|
||||
public class AuditServiceIntegrationTests
|
||||
{
|
||||
private AuditService _service;
|
||||
// private AuditRecordRepository _repository;
|
||||
// private AuditRecordRepository _repository;
|
||||
|
||||
[Order(1)]
|
||||
[SetUp]
|
||||
@@ -78,11 +81,11 @@ public class AuditServiceIntegrationTests
|
||||
|
||||
foreach (var rec in records)
|
||||
{
|
||||
await _service.AuditLogRepository.InsertOneAsync(rec);
|
||||
await _service.AuditLogRepository.InsertOneAsync(rec);
|
||||
}
|
||||
|
||||
// Test retrieval method
|
||||
var allRecords = await _service.AuditLogRepository.GetAllAuditRecordsAsync();
|
||||
var allRecords = await _service.AuditLogRepository.GetAllAuditRecordsAsync();
|
||||
|
||||
// Assert
|
||||
Assert.AreEqual(2, allRecords.Count, "All records should be retrieved.");
|
||||
@@ -91,15 +94,21 @@ public class AuditServiceIntegrationTests
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task DetectChangesAsync_DetectsAndRecordsChanges()
|
||||
public async Task DetectChangesAsync_DetectsAndRecordsChanges() //este es el que da problemas
|
||||
{
|
||||
// Arrange
|
||||
|
||||
// Arrange
|
||||
var user = new ClaimsPrincipal(new ClaimsIdentity(new[]
|
||||
{
|
||||
new Claim(ClaimTypes.Name, "testUser"),
|
||||
new Claim("IpAddress", "127.0.0.1")
|
||||
}));
|
||||
|
||||
// Variables de auditoría
|
||||
AuditLogData auditLogData = new();
|
||||
auditLogData.OriginalJson = "{ \"Username\": \"oldUser\", \"Email\": \"old@example.com\", \"address\": 15 }";
|
||||
auditLogData.ModifiedJson =
|
||||
"{ \"Username\": \"newUser\", \"Email\": \"old@example.com\", \"PhoneNumber\": \"123456789\" }";
|
||||
auditLogData.OriginalJson = "{\"nhc\":\"C469\",\"person\":{\"admTime\":\"2024-11-26T12:03:36.276Z\",\"birthDate\":\"2024-11-02\",\"firstName\":\"Carlos Vi\",\"secondName\":\"Rey\",\"gender\":\"Male\",\"allergies\":\"\",\"ids\":{\"MR\":\"C469\"},\"historicalIds\":{}},\"unitId\":\"662760a96bdc7150b49fe29d\",\"admissionDate\":\"2024-11-26T12:03:36.276Z\",\"allergies\":\"\",\"diagnosis\":{\"optionType\":null,\"name\":\"Absceso amebiano del cerebro\",\"iconDefault\":null,\"iconLight\":null,\"iconDark\":null,\"color\":null,\"bgColor\":null,\"description\":\"A06.6\",\"initDate\":null,\"endDate\":null},\"origin\":{\"optionType\":null,\"name\":\"3A ucip\",\"iconDefault\":null,\"iconLight\":null,\"iconDark\":null,\"color\":null,\"bgColor\":null,\"description\":null,\"initDate\":null,\"endDate\":null},\"pointOfCareId\":null,\"languageBarrier\":\"\",\"originAux\":\"\",\"diagnosisAux\":\"Absceso amebiano del cerebro\"}";
|
||||
// auditLogData.ModifiedJson = "{\"nhc\":\"H987541\",\"patientLocation\":{\"unitName\":\"SMACST\",\"bed\":\"SMT 2\",\"room\":\"SMT 2\"},\"person\":{\"admTime\":\"2024-11-26T10:31:37.018Z\",\"birthDate\":\"2024-11-01\",\"firstName\":\"Carlos\",\"secondName\":\"Borja\",\"gender\":\"Male\",\"allergies\":[{\"optionType\":null,\"name\":\"Sí\",\"iconDefault\":\"icCheck\",\"iconLight\":null,\"iconDark\":null,\"color\":null,\"bgColor\":null,\"description\":null,\"initDate\":null,\"endDate\":null}],\"ids\":{\"MR\":\"H987541\"},\"historicalIds\":{}},\"unitId\":\"662760a96bdc7150b49fe29d\",\"admissionDate\":\"2024-11-26T10:31:37.018Z\",\"allergies\":[{\"optionType\":null,\"name\":\"Sí\",\"iconDefault\":\"icCheck\",\"iconLight\":null,\"iconDark\":null,\"color\":null,\"bgColor\":null,\"description\":null,\"initDate\":null,\"endDate\":null}],\"diagnosis\":{\"optionType\":null,\"name\":\"Absceso amebiano del cerebro\",\"iconDefault\":null,\"iconLight\":null,\"iconDark\":null,\"color\":null,\"bgColor\":null,\"description\":\"A06.6\",\"initDate\":null,\"endDate\":null},\"origin\":{\"optionType\":null,\"name\":\"3A ucip\",\"iconDefault\":null,\"iconLight\":null,\"iconDark\":null,\"color\":null,\"bgColor\":null,\"description\":null,\"initDate\":null,\"endDate\":null},\"pointOfCareId\":\"662761fc6bdc7150b49fe29f\",\"languageBarrier\":\"\",\"originAux\":\"\",\"diagnosisAux\":\"Absceso amebiano del cerebro\"}";
|
||||
auditLogData.ModifiedJson = null;//"{\"nhc\":\"C469\",\"person\":{\"admTime\":\"2024-11-26T12:03:36.276Z\",\"birthDate\":\"2024-11-01\",\"firstName\":\"Carlos V\",\"secondName\":\"Rey\",\"gender\":\"Male\",\"allergies\":\"\",\"ids\":{\"MR\":\"C469\"},\"historicalIds\":{}},\"unitId\":\"662760a96bdc7150b49fe29d\",\"admissionDate\":\"2024-11-26T12:03:36.276Z\",\"allergies\":\"\",\"diagnosis\":{\"optionType\":null,\"name\":\"Absceso amebiano del cerebro\",\"iconDefault\":null,\"iconLight\":null,\"iconDark\":null,\"color\":null,\"bgColor\":null,\"description\":\"A06.6\",\"initDate\":null,\"endDate\":null},\"origin\":{\"optionType\":null,\"name\":\"3A ucip\",\"iconDefault\":null,\"iconLight\":null,\"iconDark\":null,\"color\":null,\"bgColor\":null,\"description\":null,\"initDate\":null,\"endDate\":null},\"pointOfCareId\":null,\"languageBarrier\":\"\",\"originAux\":\"\",\"diagnosisAux\":\"Absceso amebiano del cerebro\"}";
|
||||
auditLogData.EntityType = "User";
|
||||
auditLogData.RecordId = "1";
|
||||
auditLogData.UserId = "123";
|
||||
@@ -111,12 +120,9 @@ public class AuditServiceIntegrationTests
|
||||
// Act - Llamar a DetectChangesAsync para que identifique cambios
|
||||
await _service.CreateAuditLogAsync(auditLogData);
|
||||
|
||||
// Act - Registrar la auditoría usando los cambios detectados
|
||||
// List<AuditRecord.Change> changes = new JsonComparer().GetDifferences(originalJson, modifiedJson);
|
||||
//await _service.RecordAuditAsync(entityType, recordId, userId, actionType, reason,actionTime, changes, );
|
||||
|
||||
|
||||
// Retrieve all records to validate insertion
|
||||
var allRecords = await _service.AuditLogRepository.GetAllAuditRecordsAsync();
|
||||
var allRecords = await _service.AuditLogRepository.GetAllAuditRecordsAsync();
|
||||
|
||||
// Assert
|
||||
Assert.AreEqual(1, allRecords.Count, "Debe haber exactamente un registro de auditoría en la base de datos.");
|
||||
@@ -128,80 +134,237 @@ public class AuditServiceIntegrationTests
|
||||
Assert.AreEqual(auditLogData.Reason, storedRecord.Reason);
|
||||
|
||||
// Verificar que los cambios detectados sean correctos
|
||||
Assert.That(storedRecord.Changes.Count, Is.EqualTo(3), "Debería detectar tres cambios.");
|
||||
Assert.That(storedRecord.Changes.Count, Is.EqualTo(10), "Debería detectar tres cambios.");
|
||||
|
||||
|
||||
var changeUsername = storedRecord.Changes.Find(c => c.Field == "Username");
|
||||
Assert.NotNull(changeUsername, "Debe existir un cambio en el campo 'Username'.");
|
||||
Assert.AreEqual("oldUser", changeUsername.OldValue.AsString);
|
||||
Assert.AreEqual("newUser", changeUsername.NewValue.AsString);
|
||||
Assert.AreEqual("string", changeUsername.ValueType);
|
||||
|
||||
var changePhoneNumber = storedRecord.Changes.Find(c => c.Field == "PhoneNumber");
|
||||
Assert.NotNull(changePhoneNumber, "Debe existir un cambio en el campo 'PhoneNumber'.");
|
||||
Assert.IsTrue(changePhoneNumber.OldValue.IsBsonNull, "El valor anterior de 'PhoneNumber' debe ser nulo.");
|
||||
Assert.AreEqual("123456789", changePhoneNumber.NewValue.AsString);
|
||||
Assert.AreEqual("string", changePhoneNumber.ValueType);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task GetAuditLogsAsync_ReturnsPaginatedRecords()
|
||||
{
|
||||
// Arrange - Insert multiple audit records to test pagination
|
||||
var records = new List<AuditRecord>();
|
||||
for (int i = 1; i <= 20; i++)
|
||||
public async Task GetAuditLogsAsync_ReturnsPaginatedRecords()
|
||||
{
|
||||
records.Add(new AuditRecord
|
||||
// Arrange - Insert multiple audit records to test pagination
|
||||
var records = new List<AuditRecord>();
|
||||
for (int i = 1; i <= 20; i++)
|
||||
{
|
||||
EntityType = "TestEntity",
|
||||
RecordId = i.ToString(),
|
||||
UserId = "User" + i,
|
||||
ActionType = "Create",
|
||||
ActionTime = DateTime.UtcNow,
|
||||
Reason = "Test Reason " + i,
|
||||
Changes = new List<AuditRecord.Change>
|
||||
records.Add(new AuditRecord
|
||||
{
|
||||
new AuditRecord.Change
|
||||
EntityType = "TestEntity",
|
||||
RecordId = i.ToString(),
|
||||
UserId = "User" + i,
|
||||
ActionType = "Create",
|
||||
ActionTime = DateTime.UtcNow,
|
||||
Reason = "Test Reason " + i,
|
||||
Changes = new List<AuditRecord.Change>
|
||||
{
|
||||
Field = "Field" + i,
|
||||
OldValue = "OldValue" + i,
|
||||
NewValue = "NewValue" + i,
|
||||
ValueType = "String"
|
||||
new AuditRecord.Change
|
||||
{
|
||||
Field = "Field" + i,
|
||||
OldValue = "OldValue" + i,
|
||||
NewValue = "NewValue" + i,
|
||||
ValueType = "String"
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
foreach (var record in records)
|
||||
{
|
||||
await _service.AuditLogRepository.InsertOneAsync(record);
|
||||
}
|
||||
|
||||
// Act - Retrieve the first page with a page size of 5
|
||||
int pageNumber = 1;
|
||||
int pageSize = 5;
|
||||
SpecificAuditLogFilterDto auditLogParametersDto = new SpecificAuditLogFilterDto();
|
||||
auditLogParametersDto.pageNumber=1;
|
||||
auditLogParametersDto.pageSize = 5;
|
||||
var paginatedResult = await _service.GetAuditLogsBySpecificFilterAsync(auditLogParametersDto);
|
||||
|
||||
// Assert - Check that the pagination returns the correct number of records and page information
|
||||
Assert.AreEqual(pageSize, paginatedResult.Records.Count(), "The number of records should match the page size.");
|
||||
Assert.AreEqual(20, paginatedResult.TotalRecords,"The total number of records should match the inserted records.");
|
||||
Assert.AreEqual(4, paginatedResult.TotalPages, "The total pages should be calculated correctly.");
|
||||
Assert.AreEqual(pageNumber, paginatedResult.CurrentPage, "The current page should be correct.");
|
||||
|
||||
// Further assertions to check that the records and changes are the expected ones
|
||||
var firstRecord = paginatedResult.Records.First();
|
||||
Assert.AreEqual("TestEntity", firstRecord.EntityType);
|
||||
Assert.AreEqual("1", firstRecord.RecordId);
|
||||
Assert.AreEqual("User1", firstRecord.UserId);
|
||||
Assert.AreEqual("Create", firstRecord.ActionType);
|
||||
|
||||
// Verify the changes for the first record
|
||||
Assert.IsNotNull(firstRecord.Changes);
|
||||
Assert.AreEqual(1, firstRecord.Changes.Count, "There should be exactly one change in the first record.");
|
||||
var firstChange = firstRecord.Changes.First();
|
||||
Assert.AreEqual("Field1", firstChange.Field);
|
||||
Assert.AreEqual("OldValue1", firstChange.OldValue);
|
||||
Assert.AreEqual("NewValue1", firstChange.NewValue);
|
||||
Assert.AreEqual("String", firstChange.ValueType);
|
||||
}
|
||||
|
||||
foreach (var record in records)
|
||||
[Test]
|
||||
public async Task CreateAuditLogAsync_CreatesCorrectAuditLog()
|
||||
{
|
||||
await _service.AuditLogRepository.InsertOneAsync(record);
|
||||
// Arrange
|
||||
var user = new ClaimsPrincipal(new ClaimsIdentity(new[]
|
||||
{
|
||||
new Claim(ClaimTypes.Name, "testUser"),
|
||||
new Claim("IpAddress", "127.0.0.1")
|
||||
}));
|
||||
|
||||
var dataOriginal = new
|
||||
{
|
||||
Id = ObjectId.GenerateNewId(),
|
||||
Name = "OldName",
|
||||
Email = "old@example.com"
|
||||
};
|
||||
|
||||
var dataModified = new
|
||||
{
|
||||
Id = dataOriginal.Id,
|
||||
Name = "NewName",
|
||||
Email = "new@example.com"
|
||||
};
|
||||
|
||||
string reason = "Updating user details";
|
||||
|
||||
// Act
|
||||
await _service.CreateAuditLogAsync(user, dataOriginal, dataModified, reason);
|
||||
|
||||
// Assert - Retrieve audit logs to validate
|
||||
var allRecords = await _service.AuditLogRepository.GetAllAuditRecordsAsync();
|
||||
|
||||
Assert.AreEqual(1, allRecords.Count, "There should be exactly one audit log entry.");
|
||||
var storedRecord = allRecords[0];
|
||||
|
||||
// Validate stored record
|
||||
Assert.AreEqual("AnonymousType", storedRecord.EntityType);
|
||||
Assert.AreEqual(dataOriginal.Id.ToString(), storedRecord.RecordId);
|
||||
Assert.AreEqual("testUser", storedRecord.UserId);
|
||||
Assert.AreEqual("update", storedRecord.ActionType);
|
||||
Assert.AreEqual(reason, storedRecord.Reason);
|
||||
Assert.AreEqual("127.0.0.1", storedRecord.UserIpAddress);
|
||||
|
||||
// Validate changes
|
||||
Assert.AreEqual(2, storedRecord.Changes.Count, "There should be exactly two detected changes.");
|
||||
var nameChange = storedRecord.Changes.Find(c => c.Field == "Name");
|
||||
Assert.NotNull(nameChange, "There should be a change in the 'Name' field.");
|
||||
Assert.AreEqual("OldName", nameChange.OldValue.AsString);
|
||||
Assert.AreEqual("NewName", nameChange.NewValue.AsString);
|
||||
Assert.AreEqual("string", nameChange.ValueType);
|
||||
|
||||
var emailChange = storedRecord.Changes.Find(c => c.Field == "Email");
|
||||
Assert.NotNull(emailChange, "There should be a change in the 'Email' field.");
|
||||
Assert.AreEqual("old@example.com", emailChange.OldValue.AsString);
|
||||
Assert.AreEqual("new@example.com", emailChange.NewValue.AsString);
|
||||
Assert.AreEqual("string", emailChange.ValueType);
|
||||
}
|
||||
|
||||
// Act - Retrieve the first page with a page size of 5
|
||||
int pageNumber = 1;
|
||||
int pageSize = 5;
|
||||
var paginatedResult = await _service.GetAuditLogsAsync(pageNumber, pageSize);
|
||||
[Test]
|
||||
public async Task CreateAuditLogAsync_WithNullIpAndDataOriginal_CreatesCorrectAuditLog()
|
||||
{
|
||||
// Arrange
|
||||
var user = new ClaimsPrincipal(new ClaimsIdentity(new[]
|
||||
{
|
||||
new Claim(ClaimTypes.Name, "testUser"),
|
||||
// IP Address claim is not included to simulate a null IP scenario
|
||||
}));
|
||||
|
||||
// Assert - Check that the pagination returns the correct number of records and page information
|
||||
Assert.AreEqual(pageSize, paginatedResult.Records.Count(), "The number of records should match the page size.");
|
||||
Assert.AreEqual(20, paginatedResult.TotalRecords, "The total number of records should match the inserted records.");
|
||||
Assert.AreEqual(4, paginatedResult.TotalPages, "The total pages should be calculated correctly.");
|
||||
Assert.AreEqual(pageNumber, paginatedResult.CurrentPage, "The current page should be correct.");
|
||||
// Set dataOriginal to null to simulate scenario
|
||||
object dataOriginal = null;
|
||||
|
||||
// Further assertions to check that the records and changes are the expected ones
|
||||
var firstRecord = paginatedResult.Records.First();
|
||||
Assert.AreEqual("TestEntity", firstRecord.EntityType);
|
||||
Assert.AreEqual("1", firstRecord.RecordId);
|
||||
Assert.AreEqual("User1", firstRecord.UserId);
|
||||
Assert.AreEqual("Create", firstRecord.ActionType);
|
||||
var dataModified = new
|
||||
{
|
||||
Id = ObjectId.GenerateNewId(),
|
||||
Name = "NewName",
|
||||
Email = "new@example.com"
|
||||
};
|
||||
|
||||
// Verify the changes for the first record
|
||||
Assert.IsNotNull(firstRecord.Changes);
|
||||
Assert.AreEqual(1, firstRecord.Changes.Count, "There should be exactly one change in the first record.");
|
||||
var firstChange = firstRecord.Changes.First();
|
||||
Assert.AreEqual("Field1", firstChange.Field);
|
||||
Assert.AreEqual("OldValue1", firstChange.OldValue.AsString);
|
||||
Assert.AreEqual("NewValue1", firstChange.NewValue.AsString);
|
||||
Assert.AreEqual("String", firstChange.ValueType);
|
||||
}
|
||||
string reason = "Creating new user";
|
||||
|
||||
// Act
|
||||
await _service.CreateAuditLogAsync(user, dataOriginal, dataModified, reason);
|
||||
|
||||
// Assert - Retrieve audit logs to validate
|
||||
var allRecords = await _service.AuditLogRepository.GetAllAuditRecordsAsync();
|
||||
|
||||
Assert.AreEqual(1, allRecords.Count, "There should be exactly one audit log entry.");
|
||||
var storedRecord = allRecords[0];
|
||||
|
||||
// Validate stored record
|
||||
Assert.AreEqual("AnonymousType", storedRecord.EntityType);
|
||||
Assert.AreEqual(dataModified.Id.ToString(), storedRecord.RecordId);
|
||||
Assert.AreEqual("testUser", storedRecord.UserId);
|
||||
Assert.AreEqual("create", storedRecord.ActionType); // Action type should be 'create' as original data is null
|
||||
Assert.AreEqual(reason, storedRecord.Reason);
|
||||
|
||||
// Validate changes - expecting changes in name and email as it's a creation
|
||||
Assert.AreEqual(3, storedRecord.Changes.Count, "There should be exactly two detected changes.");
|
||||
var nameChange = storedRecord.Changes.Find(c => c.Field == "Name");
|
||||
Assert.NotNull(nameChange, "There should be a change in the 'Name' field.");
|
||||
Assert.IsTrue(nameChange.OldValue.IsBsonNull, "Old value should be null for new creations.");
|
||||
|
||||
Assert.AreEqual("NewName", nameChange.NewValue.AsString);
|
||||
Assert.AreEqual("string", nameChange.ValueType);
|
||||
|
||||
var emailChange = storedRecord.Changes.Find(c => c.Field == "Email");
|
||||
Assert.NotNull(emailChange, "There should be a change in the 'Email' field.");
|
||||
Assert.IsTrue(emailChange.OldValue.IsBsonNull, "Old value should be null for new creations.");
|
||||
Assert.AreEqual("new@example.com", emailChange.NewValue.AsString);
|
||||
Assert.AreEqual("string", emailChange.ValueType);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task CreateAuditLogAsync_WithNullIpAndDataModified_CreatesCorrectAuditLog()
|
||||
{
|
||||
// Arrange
|
||||
var user = new ClaimsPrincipal(new ClaimsIdentity(new[]
|
||||
{
|
||||
new Claim(ClaimTypes.Name, "testUser"),
|
||||
// IP Address claim is not included to simulate a null IP scenario
|
||||
}));
|
||||
|
||||
// Set dataModified to null to simulate the scenario
|
||||
object? dataModified = null;
|
||||
|
||||
var dataOriginal = new
|
||||
{
|
||||
Id = ObjectId.GenerateNewId(),
|
||||
Name = "OldName",
|
||||
Email = "old@example.com"
|
||||
};
|
||||
|
||||
string reason = "Deleting user";
|
||||
|
||||
// Act
|
||||
await _service.CreateAuditLogAsync(user, dataOriginal, dataModified, reason);
|
||||
|
||||
// Assert - Retrieve audit logs to validate
|
||||
var allRecords = await _service.AuditLogRepository.GetAllAuditRecordsAsync();
|
||||
|
||||
Assert.AreEqual(1, allRecords.Count, "There should be exactly one audit log entry.");
|
||||
var storedRecord = allRecords[0];
|
||||
|
||||
// Validate stored record
|
||||
Assert.AreEqual("AnonymousType", storedRecord.EntityType);
|
||||
Assert.AreEqual(dataOriginal.Id.ToString(), storedRecord.RecordId);
|
||||
Assert.AreEqual("testUser", storedRecord.UserId);
|
||||
Assert.AreEqual("delete", storedRecord.ActionType); // Action type should be 'delete' as modified data is null
|
||||
Assert.AreEqual(reason, storedRecord.Reason);
|
||||
|
||||
// Validate changes - expecting no changes as it's a deletion
|
||||
Assert.AreEqual(3, storedRecord.Changes.Count, "There should be exactly two detected changes.");
|
||||
var nameChange = storedRecord.Changes.Find(c => c.Field == "Name");
|
||||
Assert.NotNull(nameChange, "There should be a change in the 'Name' field.");
|
||||
Assert.AreEqual("OldName", nameChange.OldValue.AsString, "Old value should be 'OldName'.");
|
||||
Assert.IsTrue(nameChange.NewValue.IsBsonNull, "New value should be null for deletions.");
|
||||
Assert.AreEqual("string", nameChange.ValueType);
|
||||
|
||||
var emailChange = storedRecord.Changes.Find(c => c.Field == "Email");
|
||||
Assert.NotNull(emailChange, "There should be a change in the 'Email' field.");
|
||||
Assert.AreEqual("old@example.com", emailChange.OldValue.AsString, "Old value should be 'old@example.com'.");
|
||||
Assert.IsTrue(emailChange.NewValue.IsBsonNull, "New value should be null for deletions.");
|
||||
Assert.AreEqual("string", emailChange.ValueType);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
namespace audit_test.Repository;
|
||||
|
||||
using MongoDB.Bson;
|
||||
using MongoDB.Driver;
|
||||
using NUnit.Framework;
|
||||
|
||||
[SetUpFixture]
|
||||
[Category("Integration")]
|
||||
public class IntegrationDbReal
|
||||
{
|
||||
public static IMongoClient Client { get; private set; } = null!;
|
||||
public static IMongoDatabase Database { get; private set; } = null!;
|
||||
|
||||
private const string ConnectionString = "mongodb://smacsuci:2(R*aQpu2r@julianrojas.xyz:27017/?authSource=admin";
|
||||
private const string DatabaseName = "AuditMeddisPlanUciPanel";
|
||||
|
||||
[OneTimeSetUp]
|
||||
public void InitIntegrationTests()
|
||||
{
|
||||
// Configurar cliente y base de datos
|
||||
Client = new MongoClient(ConnectionString);
|
||||
Database = Client.GetDatabase(DatabaseName);
|
||||
}
|
||||
|
||||
[OneTimeTearDown]
|
||||
public void TeardownIntegrationTests()
|
||||
{
|
||||
Client = null;
|
||||
Database = null;
|
||||
}
|
||||
}
|
||||
@@ -12,6 +12,7 @@
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="coverlet.collector" Version="6.0.0"/>
|
||||
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0" />
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0"/>
|
||||
<PackageReference Include="Mongo2Go" Version="2.2.16" />
|
||||
<PackageReference Include="Moq" Version="4.20.72" />
|
||||
|
||||
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -13,7 +13,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("audit-test")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+bdfe9ffd6d7ec01a3c152f620ff834559f34f36b")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+8c3be106f93e44ea3daffe2267723e4026a0569d")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("audit-test")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("audit-test")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
@@ -1 +1 @@
|
||||
4c9c7574b1791c01687a0217e17bd7ff1a10fc07fe6faf2b876e4f03146cd59d
|
||||
142b1c1378f32e83f6fc5414661e98a2b515d2f45db3470d3ed86426c2d17e64
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
||||
90d181340d5cbcf87d8bd5f311e8460067604e26329376482969a814629cf70b
|
||||
55693e388a725ac93f4c71a4b1f07be6a6f58aeb53bdd4815ac31a4b5d1e02cd
|
||||
|
||||
@@ -218,11 +218,7 @@
|
||||
/home/julian/Documentos/repos/audit/audit-logs/audit-test/bin/Debug/net8.0/Serilog.dll
|
||||
/home/julian/Documentos/repos/audit/audit-logs/audit-test/bin/Debug/net8.0/SharpCompress.dll
|
||||
/home/julian/Documentos/repos/audit/audit-logs/audit-test/bin/Debug/net8.0/Snappier.dll
|
||||
/home/julian/Documentos/repos/audit/audit-logs/audit-test/bin/Debug/net8.0/System.Diagnostics.DiagnosticSource.dll
|
||||
/home/julian/Documentos/repos/audit/audit-logs/audit-test/bin/Debug/net8.0/System.Diagnostics.EventLog.dll
|
||||
/home/julian/Documentos/repos/audit/audit-logs/audit-test/bin/Debug/net8.0/System.IO.Pipelines.dll
|
||||
/home/julian/Documentos/repos/audit/audit-logs/audit-test/bin/Debug/net8.0/System.Text.Encodings.Web.dll
|
||||
/home/julian/Documentos/repos/audit/audit-logs/audit-test/bin/Debug/net8.0/System.Text.Json.dll
|
||||
/home/julian/Documentos/repos/audit/audit-logs/audit-test/bin/Debug/net8.0/xunit.abstractions.dll
|
||||
/home/julian/Documentos/repos/audit/audit-logs/audit-test/bin/Debug/net8.0/xunit.assert.dll
|
||||
/home/julian/Documentos/repos/audit/audit-logs/audit-test/bin/Debug/net8.0/xunit.core.dll
|
||||
@@ -298,7 +294,6 @@
|
||||
/home/julian/Documentos/repos/audit/audit-logs/audit-test/bin/Debug/net8.0/runtimes/win/native/mongocrypt.dll
|
||||
/home/julian/Documentos/repos/audit/audit-logs/audit-test/bin/Debug/net8.0/runtimes/win/lib/net8.0/System.Diagnostics.EventLog.Messages.dll
|
||||
/home/julian/Documentos/repos/audit/audit-logs/audit-test/bin/Debug/net8.0/runtimes/win/lib/net8.0/System.Diagnostics.EventLog.dll
|
||||
/home/julian/Documentos/repos/audit/audit-logs/audit-test/bin/Debug/net8.0/runtimes/browser/lib/net8.0/System.Text.Encodings.Web.dll
|
||||
/home/julian/Documentos/repos/audit/audit-logs/audit-test/bin/Debug/net8.0/audit-logs.dll
|
||||
/home/julian/Documentos/repos/audit/audit-logs/audit-test/bin/Debug/net8.0/audit-logs.pdb
|
||||
/home/julian/Documentos/repos/audit/audit-logs/audit-test/obj/Debug/net8.0/audit-test.csproj.AssemblyReference.cache
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -5,7 +5,7 @@
|
||||
},
|
||||
"projects": {
|
||||
"/home/julian/Documentos/repos/audit/audit-logs/audit-logs/audit-logs.csproj": {
|
||||
"version": "1.0.0",
|
||||
"version": "1.0.16",
|
||||
"restore": {
|
||||
"projectUniqueName": "/home/julian/Documentos/repos/audit/audit-logs/audit-logs/audit-logs.csproj",
|
||||
"projectName": "AuditLogs",
|
||||
@@ -20,7 +20,8 @@
|
||||
"net8.0"
|
||||
],
|
||||
"sources": {
|
||||
"https://api.nuget.org/v3/index.json": {}
|
||||
"https://api.nuget.org/v3/index.json": {},
|
||||
"https://smacs-nuget.epigramdev.com/v3/index.json": {}
|
||||
},
|
||||
"frameworks": {
|
||||
"net8.0": {
|
||||
@@ -45,7 +46,7 @@
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Hosting": {
|
||||
"target": "Package",
|
||||
"version": "[9.0.0-rc.2.24473.5, )"
|
||||
"version": "[8.0.0, )"
|
||||
},
|
||||
"MongoDB.Driver": {
|
||||
"target": "Package",
|
||||
@@ -57,7 +58,7 @@
|
||||
},
|
||||
"Serilog": {
|
||||
"target": "Package",
|
||||
"version": "[4.1.1-dev-02318, )"
|
||||
"version": "[4.0.2, )"
|
||||
}
|
||||
},
|
||||
"imports": [
|
||||
@@ -96,7 +97,8 @@
|
||||
"net8.0"
|
||||
],
|
||||
"sources": {
|
||||
"https://api.nuget.org/v3/index.json": {}
|
||||
"https://api.nuget.org/v3/index.json": {},
|
||||
"https://smacs-nuget.epigramdev.com/v3/index.json": {}
|
||||
},
|
||||
"frameworks": {
|
||||
"net8.0": {
|
||||
@@ -123,6 +125,10 @@
|
||||
"net8.0": {
|
||||
"targetAlias": "net8.0",
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Hosting": {
|
||||
"target": "Package",
|
||||
"version": "[8.0.0, )"
|
||||
},
|
||||
"Microsoft.NET.Test.Sdk": {
|
||||
"target": "Package",
|
||||
"version": "[17.8.0, )"
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.testplatform.testhost/17.8.0/build/netcoreapp3.1/Microsoft.TestPlatform.TestHost.props" Condition="Exists('$(NuGetPackageRoot)microsoft.testplatform.testhost/17.8.0/build/netcoreapp3.1/Microsoft.TestPlatform.TestHost.props')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.codecoverage/17.8.0/build/netstandard2.0/Microsoft.CodeCoverage.props" Condition="Exists('$(NuGetPackageRoot)microsoft.codecoverage/17.8.0/build/netstandard2.0/Microsoft.CodeCoverage.props')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.net.test.sdk/17.8.0/build/netcoreapp3.1/Microsoft.NET.Test.Sdk.props" Condition="Exists('$(NuGetPackageRoot)microsoft.net.test.sdk/17.8.0/build/netcoreapp3.1/Microsoft.NET.Test.Sdk.props')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.usersecrets/9.0.0-rc.2.24473.5/buildTransitive/net8.0/Microsoft.Extensions.Configuration.UserSecrets.props" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.usersecrets/9.0.0-rc.2.24473.5/buildTransitive/net8.0/Microsoft.Extensions.Configuration.UserSecrets.props')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.usersecrets/8.0.0/buildTransitive/net6.0/Microsoft.Extensions.Configuration.UserSecrets.props" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.usersecrets/8.0.0/buildTransitive/net6.0/Microsoft.Extensions.Configuration.UserSecrets.props')" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<Pkgxunit_analyzers Condition=" '$(Pkgxunit_analyzers)' == '' ">/home/julian/.nuget/packages/xunit.analyzers/1.16.0</Pkgxunit_analyzers>
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<Import Project="$(NuGetPackageRoot)xunit.core/2.9.2/build/xunit.core.targets" Condition="Exists('$(NuGetPackageRoot)xunit.core/2.9.2/build/xunit.core.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)system.text.json/9.0.0-rc.2.24473.5/buildTransitive/net8.0/System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json/9.0.0-rc.2.24473.5/buildTransitive/net8.0/System.Text.Json.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)system.text.json/8.0.0/buildTransitive/net6.0/System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json/8.0.0/buildTransitive/net6.0/System.Text.Json.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)netstandard.library/2.0.0/build/netstandard2.0/NETStandard.Library.targets" Condition="Exists('$(NuGetPackageRoot)netstandard.library/2.0.0/build/netstandard2.0/NETStandard.Library.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions/9.0.0-rc.2.24473.5/buildTransitive/net8.0/Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions/9.0.0-rc.2.24473.5/buildTransitive/net8.0/Microsoft.Extensions.Logging.Abstractions.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions/8.0.0/buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions/8.0.0/buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.codecoverage/17.8.0/build/netstandard2.0/Microsoft.CodeCoverage.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.codecoverage/17.8.0/build/netstandard2.0/Microsoft.CodeCoverage.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.net.test.sdk/17.8.0/build/netcoreapp3.1/Microsoft.NET.Test.Sdk.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.net.test.sdk/17.8.0/build/netcoreapp3.1/Microsoft.NET.Test.Sdk.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.options/9.0.0-rc.2.24473.5/buildTransitive/net8.0/Microsoft.Extensions.Options.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.options/9.0.0-rc.2.24473.5/buildTransitive/net8.0/Microsoft.Extensions.Options.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.binder/9.0.0-rc.2.24473.5/buildTransitive/netstandard2.0/Microsoft.Extensions.Configuration.Binder.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.binder/9.0.0-rc.2.24473.5/buildTransitive/netstandard2.0/Microsoft.Extensions.Configuration.Binder.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.usersecrets/9.0.0-rc.2.24473.5/buildTransitive/net8.0/Microsoft.Extensions.Configuration.UserSecrets.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.usersecrets/9.0.0-rc.2.24473.5/buildTransitive/net8.0/Microsoft.Extensions.Configuration.UserSecrets.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.options/8.0.0/buildTransitive/net6.0/Microsoft.Extensions.Options.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.options/8.0.0/buildTransitive/net6.0/Microsoft.Extensions.Options.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.binder/8.0.0/buildTransitive/netstandard2.0/Microsoft.Extensions.Configuration.Binder.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.binder/8.0.0/buildTransitive/netstandard2.0/Microsoft.Extensions.Configuration.Binder.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.usersecrets/8.0.0/buildTransitive/net6.0/Microsoft.Extensions.Configuration.UserSecrets.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.usersecrets/8.0.0/buildTransitive/net6.0/Microsoft.Extensions.Configuration.UserSecrets.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)coverlet.collector/6.0.0/build/netstandard1.0/coverlet.collector.targets" Condition="Exists('$(NuGetPackageRoot)coverlet.collector/6.0.0/build/netstandard1.0/coverlet.collector.targets')" />
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"version": 2,
|
||||
"dgSpecHash": "3yY4jznIPk0=",
|
||||
"dgSpecHash": "7Jhsnyq0q5Y=",
|
||||
"success": true,
|
||||
"projectFilePath": "/home/julian/Documentos/repos/audit/audit-logs/audit-test/audit-test.csproj",
|
||||
"expectedPackageFiles": [
|
||||
@@ -10,33 +10,33 @@
|
||||
"/home/julian/.nuget/packages/coverlet.collector/6.0.0/coverlet.collector.6.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/dnsclient/1.6.1/dnsclient.1.6.1.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.codecoverage/17.8.0/microsoft.codecoverage.17.8.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.configuration/9.0.0-rc.2.24473.5/microsoft.extensions.configuration.9.0.0-rc.2.24473.5.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.configuration.abstractions/9.0.0-rc.2.24473.5/microsoft.extensions.configuration.abstractions.9.0.0-rc.2.24473.5.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.configuration.binder/9.0.0-rc.2.24473.5/microsoft.extensions.configuration.binder.9.0.0-rc.2.24473.5.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.configuration.commandline/9.0.0-rc.2.24473.5/microsoft.extensions.configuration.commandline.9.0.0-rc.2.24473.5.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.configuration.environmentvariables/9.0.0-rc.2.24473.5/microsoft.extensions.configuration.environmentvariables.9.0.0-rc.2.24473.5.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.configuration.fileextensions/9.0.0-rc.2.24473.5/microsoft.extensions.configuration.fileextensions.9.0.0-rc.2.24473.5.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.configuration.json/9.0.0-rc.2.24473.5/microsoft.extensions.configuration.json.9.0.0-rc.2.24473.5.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.configuration.usersecrets/9.0.0-rc.2.24473.5/microsoft.extensions.configuration.usersecrets.9.0.0-rc.2.24473.5.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.dependencyinjection/9.0.0-rc.2.24473.5/microsoft.extensions.dependencyinjection.9.0.0-rc.2.24473.5.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.dependencyinjection.abstractions/9.0.0-rc.2.24473.5/microsoft.extensions.dependencyinjection.abstractions.9.0.0-rc.2.24473.5.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.diagnostics/9.0.0-rc.2.24473.5/microsoft.extensions.diagnostics.9.0.0-rc.2.24473.5.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.diagnostics.abstractions/9.0.0-rc.2.24473.5/microsoft.extensions.diagnostics.abstractions.9.0.0-rc.2.24473.5.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.fileproviders.abstractions/9.0.0-rc.2.24473.5/microsoft.extensions.fileproviders.abstractions.9.0.0-rc.2.24473.5.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.fileproviders.physical/9.0.0-rc.2.24473.5/microsoft.extensions.fileproviders.physical.9.0.0-rc.2.24473.5.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.filesystemglobbing/9.0.0-rc.2.24473.5/microsoft.extensions.filesystemglobbing.9.0.0-rc.2.24473.5.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.hosting/9.0.0-rc.2.24473.5/microsoft.extensions.hosting.9.0.0-rc.2.24473.5.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.hosting.abstractions/9.0.0-rc.2.24473.5/microsoft.extensions.hosting.abstractions.9.0.0-rc.2.24473.5.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.logging/9.0.0-rc.2.24473.5/microsoft.extensions.logging.9.0.0-rc.2.24473.5.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.logging.abstractions/9.0.0-rc.2.24473.5/microsoft.extensions.logging.abstractions.9.0.0-rc.2.24473.5.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.logging.configuration/9.0.0-rc.2.24473.5/microsoft.extensions.logging.configuration.9.0.0-rc.2.24473.5.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.logging.console/9.0.0-rc.2.24473.5/microsoft.extensions.logging.console.9.0.0-rc.2.24473.5.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.logging.debug/9.0.0-rc.2.24473.5/microsoft.extensions.logging.debug.9.0.0-rc.2.24473.5.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.logging.eventlog/9.0.0-rc.2.24473.5/microsoft.extensions.logging.eventlog.9.0.0-rc.2.24473.5.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.logging.eventsource/9.0.0-rc.2.24473.5/microsoft.extensions.logging.eventsource.9.0.0-rc.2.24473.5.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.options/9.0.0-rc.2.24473.5/microsoft.extensions.options.9.0.0-rc.2.24473.5.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.options.configurationextensions/9.0.0-rc.2.24473.5/microsoft.extensions.options.configurationextensions.9.0.0-rc.2.24473.5.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.primitives/9.0.0-rc.2.24473.5/microsoft.extensions.primitives.9.0.0-rc.2.24473.5.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.configuration/8.0.0/microsoft.extensions.configuration.8.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.configuration.abstractions/8.0.0/microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.configuration.binder/8.0.0/microsoft.extensions.configuration.binder.8.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.configuration.commandline/8.0.0/microsoft.extensions.configuration.commandline.8.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.configuration.environmentvariables/8.0.0/microsoft.extensions.configuration.environmentvariables.8.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.configuration.fileextensions/8.0.0/microsoft.extensions.configuration.fileextensions.8.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.configuration.json/8.0.0/microsoft.extensions.configuration.json.8.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.configuration.usersecrets/8.0.0/microsoft.extensions.configuration.usersecrets.8.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.dependencyinjection/8.0.0/microsoft.extensions.dependencyinjection.8.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.dependencyinjection.abstractions/8.0.0/microsoft.extensions.dependencyinjection.abstractions.8.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.diagnostics/8.0.0/microsoft.extensions.diagnostics.8.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.diagnostics.abstractions/8.0.0/microsoft.extensions.diagnostics.abstractions.8.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.fileproviders.abstractions/8.0.0/microsoft.extensions.fileproviders.abstractions.8.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.fileproviders.physical/8.0.0/microsoft.extensions.fileproviders.physical.8.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.filesystemglobbing/8.0.0/microsoft.extensions.filesystemglobbing.8.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.hosting/8.0.0/microsoft.extensions.hosting.8.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.hosting.abstractions/8.0.0/microsoft.extensions.hosting.abstractions.8.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.logging/8.0.0/microsoft.extensions.logging.8.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.logging.abstractions/8.0.0/microsoft.extensions.logging.abstractions.8.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.logging.configuration/8.0.0/microsoft.extensions.logging.configuration.8.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.logging.console/8.0.0/microsoft.extensions.logging.console.8.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.logging.debug/8.0.0/microsoft.extensions.logging.debug.8.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.logging.eventlog/8.0.0/microsoft.extensions.logging.eventlog.8.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.logging.eventsource/8.0.0/microsoft.extensions.logging.eventsource.8.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.options/8.0.0/microsoft.extensions.options.8.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.options.configurationextensions/8.0.0/microsoft.extensions.options.configurationextensions.8.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.extensions.primitives/8.0.0/microsoft.extensions.primitives.8.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.net.test.sdk/17.8.0/microsoft.net.test.sdk.17.8.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.netcore.platforms/5.0.0/microsoft.netcore.platforms.5.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/microsoft.testplatform.objectmodel/17.8.0/microsoft.testplatform.objectmodel.17.8.0.nupkg.sha512",
|
||||
@@ -54,20 +54,19 @@
|
||||
"/home/julian/.nuget/packages/nunit/3.14.0/nunit.3.14.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/nunit.analyzers/3.9.0/nunit.analyzers.3.9.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/nunit3testadapter/4.5.0/nunit3testadapter.4.5.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/serilog/4.1.1-dev-02318/serilog.4.1.1-dev-02318.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/serilog/4.0.2/serilog.4.0.2.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/sharpcompress/0.30.1/sharpcompress.0.30.1.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/snappier/1.0.0/snappier.1.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/system.buffers/4.5.1/system.buffers.4.5.1.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/system.diagnostics.diagnosticsource/9.0.0-rc.2.24473.5/system.diagnostics.diagnosticsource.9.0.0-rc.2.24473.5.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/system.diagnostics.eventlog/9.0.0-rc.2.24473.5/system.diagnostics.eventlog.9.0.0-rc.2.24473.5.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/system.io.pipelines/9.0.0-rc.2.24473.5/system.io.pipelines.9.0.0-rc.2.24473.5.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/system.diagnostics.diagnosticsource/8.0.0/system.diagnostics.diagnosticsource.8.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/system.diagnostics.eventlog/8.0.0/system.diagnostics.eventlog.8.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/system.memory/4.5.5/system.memory.4.5.5.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/system.reflection.metadata/1.6.0/system.reflection.metadata.1.6.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/system.runtime.compilerservices.unsafe/5.0.0/system.runtime.compilerservices.unsafe.5.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/system.security.accesscontrol/5.0.0/system.security.accesscontrol.5.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/system.security.principal.windows/5.0.0/system.security.principal.windows.5.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/system.text.encodings.web/9.0.0-rc.2.24473.5/system.text.encodings.web.9.0.0-rc.2.24473.5.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/system.text.json/9.0.0-rc.2.24473.5/system.text.json.9.0.0-rc.2.24473.5.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/system.text.encodings.web/8.0.0/system.text.encodings.web.8.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/system.text.json/8.0.0/system.text.json.8.0.0.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/xunit/2.9.2/xunit.2.9.2.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/xunit.abstractions/2.0.3/xunit.abstractions.2.0.3.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/xunit.analyzers/1.16.0/xunit.analyzers.1.16.0.nupkg.sha512",
|
||||
@@ -75,7 +74,8 @@
|
||||
"/home/julian/.nuget/packages/xunit.core/2.9.2/xunit.core.2.9.2.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/xunit.extensibility.core/2.9.2/xunit.extensibility.core.2.9.2.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/xunit.extensibility.execution/2.9.2/xunit.extensibility.execution.2.9.2.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/zstdsharp.port/0.7.3/zstdsharp.port.0.7.3.nupkg.sha512"
|
||||
"/home/julian/.nuget/packages/zstdsharp.port/0.7.3/zstdsharp.port.0.7.3.nupkg.sha512",
|
||||
"/home/julian/.nuget/packages/auditlogs/1.0.16/auditlogs.1.0.16.nupkg.sha512"
|
||||
],
|
||||
"logs": []
|
||||
}
|
||||
@@ -1 +1 @@
|
||||
"restore":{"projectUniqueName":"/home/julian/Documentos/repos/audit/audit-logs/audit-test/audit-test.csproj","projectName":"audit-test","projectPath":"/home/julian/Documentos/repos/audit/audit-logs/audit-test/audit-test.csproj","outputPath":"/home/julian/Documentos/repos/audit/audit-logs/audit-test/obj/","projectStyle":"PackageReference","originalTargetFrameworks":["net8.0"],"sources":{"https://api.nuget.org/v3/index.json":{}},"frameworks":{"net8.0":{"targetAlias":"net8.0","projectReferences":{"/home/julian/Documentos/repos/audit/audit-logs/audit-logs/audit-logs.csproj":{"projectPath":"/home/julian/Documentos/repos/audit/audit-logs/audit-logs/audit-logs.csproj"}}}},"warningProperties":{"warnAsError":["NU1605"]},"restoreAuditProperties":{"enableAudit":"true","auditLevel":"low","auditMode":"direct"}}"frameworks":{"net8.0":{"targetAlias":"net8.0","dependencies":{"Microsoft.NET.Test.Sdk":{"target":"Package","version":"[17.8.0, )"},"Mongo2Go":{"target":"Package","version":"[2.2.16, )"},"Moq":{"target":"Package","version":"[4.20.72, )"},"NUnit":{"target":"Package","version":"[3.14.0, )"},"NUnit.Analyzers":{"target":"Package","version":"[3.9.0, )"},"NUnit3TestAdapter":{"target":"Package","version":"[4.5.0, )"},"coverlet.collector":{"target":"Package","version":"[6.0.0, )"},"xunit":{"target":"Package","version":"[2.9.2, )"}},"imports":["net461","net462","net47","net471","net472","net48","net481"],"assetTargetFallback":true,"warn":true,"frameworkReferences":{"Microsoft.NETCore.App":{"privateAssets":"all"}},"runtimeIdentifierGraphPath":"/home/julian/.dotnet/sdk/8.0.401/PortableRuntimeIdentifierGraph.json"}}
|
||||
"restore":{"projectUniqueName":"/home/julian/Documentos/repos/audit/audit-logs/audit-test/audit-test.csproj","projectName":"audit-test","projectPath":"/home/julian/Documentos/repos/audit/audit-logs/audit-test/audit-test.csproj","outputPath":"/home/julian/Documentos/repos/audit/audit-logs/audit-test/obj/","projectStyle":"PackageReference","originalTargetFrameworks":["net8.0"],"sources":{"https://api.nuget.org/v3/index.json":{},"https://smacs-nuget.epigramdev.com/v3/index.json":{}},"frameworks":{"net8.0":{"targetAlias":"net8.0","projectReferences":{"/home/julian/Documentos/repos/audit/audit-logs/audit-logs/audit-logs.csproj":{"projectPath":"/home/julian/Documentos/repos/audit/audit-logs/audit-logs/audit-logs.csproj"}}}},"warningProperties":{"warnAsError":["NU1605"]},"restoreAuditProperties":{"enableAudit":"true","auditLevel":"low","auditMode":"direct"}}"frameworks":{"net8.0":{"targetAlias":"net8.0","dependencies":{"Microsoft.Extensions.Hosting":{"target":"Package","version":"[8.0.0, )"},"Microsoft.NET.Test.Sdk":{"target":"Package","version":"[17.8.0, )"},"Mongo2Go":{"target":"Package","version":"[2.2.16, )"},"Moq":{"target":"Package","version":"[4.20.72, )"},"NUnit":{"target":"Package","version":"[3.14.0, )"},"NUnit.Analyzers":{"target":"Package","version":"[3.9.0, )"},"NUnit3TestAdapter":{"target":"Package","version":"[4.5.0, )"},"coverlet.collector":{"target":"Package","version":"[6.0.0, )"},"xunit":{"target":"Package","version":"[2.9.2, )"}},"imports":["net461","net462","net47","net471","net472","net48","net481"],"assetTargetFallback":true,"warn":true,"frameworkReferences":{"Microsoft.NETCore.App":{"privateAssets":"all"}},"runtimeIdentifierGraphPath":"/home/julian/.dotnet/sdk/8.0.401/PortableRuntimeIdentifierGraph.json"}}
|
||||
@@ -1 +1 @@
|
||||
17316668982811724
|
||||
17322799320379764
|
||||
@@ -1 +1 @@
|
||||
17316668982811724
|
||||
17326086729278728
|
||||
Reference in New Issue
Block a user