diff --git a/api/proto/audit/v1/event_entity.proto b/api/proto/audit/v1/event_entity.proto index d0b09bd..1a5d3bd 100644 --- a/api/proto/audit/v1/event_entity.proto +++ b/api/proto/audit/v1/event_entity.proto @@ -6,6 +6,7 @@ import "google/protobuf/timestamp.proto"; import "audit/v1/http_details.proto"; import "audit/v1/dns_details.proto"; import "audit/v1/dhcp_details.proto"; +import "audit/v1/netmon_details.proto"; enum TransportProtocol { TRANSPORT_PROTOCOL_UNSPECIFIED = 0; @@ -52,5 +53,6 @@ message EventEntity { HTTPDetailsEntity http = 20; DNSDetailsEntity dns = 21; DHCPDetailsEntity dhcp = 22; + NetMonDetailsEntity net_mon = 23; } } diff --git a/api/proto/audit/v1/netmon_details.proto b/api/proto/audit/v1/netmon_details.proto new file mode 100644 index 0000000..7cb2d60 --- /dev/null +++ b/api/proto/audit/v1/netmon_details.proto @@ -0,0 +1,8 @@ + +syntax = "proto3"; + +package inetmock.audit.v1; + +message NetMonDetailsEntity { + string reverse_resolved_host = 1; +} diff --git a/src/INetMock.Client/Audit/Details.cs b/src/INetMock.Client/Audit/Details.cs index d5dea8c..0095d03 100644 --- a/src/INetMock.Client/Audit/Details.cs +++ b/src/INetMock.Client/Audit/Details.cs @@ -51,3 +51,13 @@ public record DhcpDetails() : EventDetails public DHCPOpCode OpCode { get; init; } = DHCPOpCode.Unspecified; public DHCPHwType HardwareType { get; init; } = DHCPHwType.Unspecified; } + +public record NetMonDetails() : EventDetails +{ + public NetMonDetails(NetMonDetailsEntity entity) : this() + { + ReverseResolvedHost = entity.ReverseResolvedHost; + } + + public string ReverseResolvedHost { get; init; } = string.Empty; +} diff --git a/src/INetMock.Client/Audit/Event.cs b/src/INetMock.Client/Audit/Event.cs index 724119d..646d892 100644 --- a/src/INetMock.Client/Audit/Event.cs +++ b/src/INetMock.Client/Audit/Event.cs @@ -57,6 +57,7 @@ public record Event : EventBase EventEntity.ProtocolDetailsOneofCase.Http => new HttpDetails(entity.Http), EventEntity.ProtocolDetailsOneofCase.Dns => new DnsDetails(entity.Dns), EventEntity.ProtocolDetailsOneofCase.Dhcp => new DhcpDetails(entity.Dhcp), + EventEntity.ProtocolDetailsOneofCase.NetMon => new NetMonDetails(entity.NetMon), _ => null }; } @@ -80,6 +81,7 @@ public record Event : EventBase where T : EventDetails, new() EventEntity.ProtocolDetailsOneofCase.Http => new HttpDetails(entity.Http) as T, EventEntity.ProtocolDetailsOneofCase.Dns => new DnsDetails(entity.Dns) as T, EventEntity.ProtocolDetailsOneofCase.Dhcp => new DhcpDetails(entity.Dhcp) as T, + EventEntity.ProtocolDetailsOneofCase.NetMon => new NetMonDetails(entity.NetMon) as T, _ => null }; } diff --git a/src/INetMock.Client/INetMock.Client.csproj b/src/INetMock.Client/INetMock.Client.csproj index 2dc98c4..9aaf04f 100644 --- a/src/INetMock.Client/INetMock.Client.csproj +++ b/src/INetMock.Client/INetMock.Client.csproj @@ -18,13 +18,7 @@ - - - - - - - - + + diff --git a/tests/INetMock.Client.IntegrationTest/Audit/Serialization/GenericReaderTest.cs b/tests/INetMock.Client.IntegrationTest/Audit/Serialization/GenericReaderTest.cs index 6c960ff..d82dadf 100644 --- a/tests/INetMock.Client.IntegrationTest/Audit/Serialization/GenericReaderTest.cs +++ b/tests/INetMock.Client.IntegrationTest/Audit/Serialization/GenericReaderTest.cs @@ -11,6 +11,7 @@ public class GenericReaderTest [Theory] [InlineData("test.ima")] [InlineData("test2.ima")] + [InlineData("test3.ima")] public async Task Test_ReadAllAsync_AuditFile(string testFile) { await using var auditFileStream = File.OpenRead(Path.Join("testdata", testFile)); diff --git a/tests/INetMock.Client.IntegrationTest/testdata/test3.ima b/tests/INetMock.Client.IntegrationTest/testdata/test3.ima new file mode 100644 index 0000000..7fd2eff Binary files /dev/null and b/tests/INetMock.Client.IntegrationTest/testdata/test3.ima differ