Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: updated comment in metric test #1407

Merged
merged 9 commits into from
Dec 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ public async Task<HttpResponseData> RunAsync(
.ReceiveIncomingMarketMessageAsync(
incomingMarketMessageStream,
incomingDocumentFormat: DocumentFormat.Ebix,
IncomingDocumentType.MeteredDataForMeasurementPoint,
IncomingDocumentType.NotifyValidatedMeasureData,
responseDocumentFormat: DocumentFormat.Ebix,
cancellationToken)
.ConfigureAwait(false);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ private static async Task<HttpResponseData> CreateResponseAsync(
{
{ IncomingDocumentType.RequestAggregatedMeasureData, AuditLogEntityType.RequestAggregatedMeasureData },
{ IncomingDocumentType.RequestWholesaleSettlement, AuditLogEntityType.RequestWholesaleServices },
{ IncomingDocumentType.MeteredDataForMeasurementPoint, AuditLogEntityType.MeteredDataForMeasurementPointReceived },
{ IncomingDocumentType.NotifyValidatedMeasureData, AuditLogEntityType.MeteredDataForMeasurementPointReceived },
};

entityTypeMapping.TryGetValue(incomingDocumentType, out var affectedEntityType);
Expand Down
2 changes: 1 addition & 1 deletion source/BuildingBlocks.Domain/Models/DocumentType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public class DocumentType : EnumerationType
public static readonly DocumentType RejectRequestAggregatedMeasureData = new(nameof(RejectRequestAggregatedMeasureData), MessageCategory.Aggregations);
public static readonly DocumentType NotifyWholesaleServices = new(nameof(NotifyWholesaleServices), MessageCategory.Aggregations);
public static readonly DocumentType RejectRequestWholesaleSettlement = new(nameof(RejectRequestWholesaleSettlement), MessageCategory.Aggregations);
public static readonly DocumentType MeteredDataForMeasurementPoint = new(nameof(MeteredDataForMeasurementPoint), MessageCategory.TimeSeries);
public static readonly DocumentType NotifyValidatedMeasureData = new(nameof(NotifyValidatedMeasureData), MessageCategory.TimeSeries);

private DocumentType(string name, MessageCategory category)
: base(name)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public class IncomingDocumentType : EnumerationType
public static readonly IncomingDocumentType B2CRequestAggregatedMeasureData = new(nameof(B2CRequestAggregatedMeasureData));
public static readonly IncomingDocumentType RequestWholesaleSettlement = new(nameof(RequestWholesaleSettlement));
public static readonly IncomingDocumentType B2CRequestWholesaleSettlement = new(nameof(B2CRequestWholesaleSettlement));
public static readonly IncomingDocumentType MeteredDataForMeasurementPoint = new(nameof(MeteredDataForMeasurementPoint));
public static readonly IncomingDocumentType NotifyValidatedMeasureData = new(nameof(NotifyValidatedMeasureData));

private IncomingDocumentType(string name)
: base(name)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,14 +83,16 @@ public async Task Validate_WhenPeriodStartAndPeriodEndAreInvalidFormat_ReturnsUn
// Arrange
var now = SystemClock.Instance.GetCurrentInstant().ToDateTimeOffset();

var startToYearsAgo = now.AddYears(-2);
var endToYearsAgo = now.AddYears(-2).AddMonths(1);
var request = new WholesaleServicesRequestBuilder()
.WithPeriodStart(
new LocalDateTime(now.Year - 2, now.Month, 1, 17, 45, 12)
new LocalDateTime(startToYearsAgo.Year, startToYearsAgo.Month, 1, 17, 45, 12)
.InZoneStrictly(DateTimeZoneProviders.Tzdb.GetZoneOrNull("Europe/Copenhagen")!)
.ToInstant()
.ToString())
.WithPeriodEnd(
new LocalDateTime(now.Year - 2, now.Month + 1, 1, 8, 13, 56)
new LocalDateTime(endToYearsAgo.Year, endToYearsAgo.Month, 1, 8, 13, 56)
.InZoneStrictly(DateTimeZoneProviders.Tzdb.GetZoneOrNull("Europe/Copenhagen")!)
.ToInstant()
.ToString())
Expand All @@ -100,8 +102,7 @@ public async Task Validate_WhenPeriodStartAndPeriodEndAreInvalidFormat_ReturnsUn
var validationErrors = await _sut.ValidateAsync(request);

// Assert
validationErrors.Should().HaveCount(2);
validationErrors.Select(e => e.ErrorCode).Should().BeEquivalentTo(["D66", "D66"]);
validationErrors.Where(x => x.ErrorCode == "D66").Should().HaveCount(2);
}

[Fact]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ private ProcessType MapToProcessType(IncomingDocumentType incomingDocumentType)
{ IncomingDocumentType.B2CRequestAggregatedMeasureData, ProcessType.RequestEnergyResults },
{ IncomingDocumentType.RequestWholesaleSettlement, ProcessType.RequestWholesaleResults },
{ IncomingDocumentType.B2CRequestWholesaleSettlement, ProcessType.RequestWholesaleResults },
{ IncomingDocumentType.MeteredDataForMeasurementPoint, ProcessType.IncomingMeteredDataForMeasurementPoint },
{ IncomingDocumentType.NotifyValidatedMeasureData, ProcessType.IncomingMeteredDataForMeasurementPoint },
};

if (documentTypeToProcessTypeMap.TryGetValue(incomingDocumentType, out var processType))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ await _delegateIncomingMessage

private static bool ShouldArchive(IncomingDocumentType documentType)
{
return documentType != IncomingDocumentType.MeteredDataForMeasurementPoint;
return documentType != IncomingDocumentType.NotifyValidatedMeasureData;
}

private async Task<IncomingMarketMessageParserResult> ParseIncomingMessageAsync(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ public class MeteredDateForMeasurementPointEbixMessageParser(EbixSchemaProvider
private const string QuantityQuality = "QuantityQuality";
private const string IntervalEnergyObservation = "IntervalEnergyObservation";

public override IncomingDocumentType DocumentType => IncomingDocumentType.MeteredDataForMeasurementPoint;
public override IncomingDocumentType DocumentType => IncomingDocumentType.NotifyValidatedMeasureData;

public override DocumentFormat DocumentFormat => DocumentFormat.Ebix;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public class MeteredDateForMeasurementPointJsonMessageParser(JsonSchemaProvider
private const string QuantityElementName = "quantity";
private const string RegistrationDateAndOrTimeElementName = "registration_DateAndOrTime.dateTime";

public override IncomingDocumentType DocumentType => IncomingDocumentType.MeteredDataForMeasurementPoint;
public override IncomingDocumentType DocumentType => IncomingDocumentType.NotifyValidatedMeasureData;

public override DocumentFormat DocumentFormat => DocumentFormat.Json;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ public class MeteredDateForMeasurementPointXmlMessageParser(CimXmlSchemaProvider
private const string QualityElementName = "quality";
private const string RegistrationDateAndOrTimeElementName = "registration_DateAndOrTime.dateTime";

public override IncomingDocumentType DocumentType => IncomingDocumentType.MeteredDataForMeasurementPoint;
public override IncomingDocumentType DocumentType => IncomingDocumentType.NotifyValidatedMeasureData;

protected override string RootPayloadElementName => "NotifyValidatedMeasureData_MarketDocument";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,9 +68,9 @@ public static TheoryData<DocumentFormat, IncomingDocumentType, ActorRole, Incomi
{
{ DocumentFormat.Json, IncomingDocumentType.RequestAggregatedMeasureData, ActorRole.BalanceResponsibleParty, ReadFile(@"IncomingMessages\RequestAggregatedMeasureDataAsDdk.json") },
{ DocumentFormat.Json, IncomingDocumentType.RequestWholesaleSettlement, ActorRole.EnergySupplier, ReadFile(@"IncomingMessages\RequestWholesaleSettlement.json") },
{ DocumentFormat.Ebix, IncomingDocumentType.MeteredDataForMeasurementPoint, ActorRole.GridAccessProvider, ReadFile(@"IncomingMessages\EbixMeteredDataForMeasurementPoint.xml") },
{ DocumentFormat.Xml, IncomingDocumentType.MeteredDataForMeasurementPoint, ActorRole.GridAccessProvider, ReadFile(@"IncomingMessages\MeteredDataForMeasurementPoint.xml") },
{ DocumentFormat.Json, IncomingDocumentType.MeteredDataForMeasurementPoint, ActorRole.GridAccessProvider, ReadFile(@"IncomingMessages\MeteredDataForMeasurementPoint.json") },
{ DocumentFormat.Ebix, IncomingDocumentType.NotifyValidatedMeasureData, ActorRole.GridAccessProvider, ReadFile(@"IncomingMessages\EbixMeteredDataForMeasurementPoint.xml") },
{ DocumentFormat.Xml, IncomingDocumentType.NotifyValidatedMeasureData, ActorRole.GridAccessProvider, ReadFile(@"IncomingMessages\MeteredDataForMeasurementPoint.xml") },
{ DocumentFormat.Json, IncomingDocumentType.NotifyValidatedMeasureData, ActorRole.GridAccessProvider, ReadFile(@"IncomingMessages\MeteredDataForMeasurementPoint.json") },
};

return data;
Expand Down Expand Up @@ -409,7 +409,7 @@ public async Task When_MeteredDataForMeasurementPointMessageIsReceived_Then_Inco
await _incomingMessagesRequest.ReceiveIncomingMarketMessageAsync(
messageStream,
DocumentFormat.Ebix,
IncomingDocumentType.MeteredDataForMeasurementPoint,
IncomingDocumentType.NotifyValidatedMeasureData,
DocumentFormat.Ebix,
CancellationToken.None);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -384,7 +384,7 @@ await AddDelegationAsync(
var response = await _incomingMessagesRequest.ReceiveIncomingMarketMessageAsync(
messageStream,
documentFormat,
IncomingDocumentType.MeteredDataForMeasurementPoint,
IncomingDocumentType.NotifyValidatedMeasureData,
documentFormat,
CancellationToken.None);

Expand Down Expand Up @@ -431,7 +431,7 @@ public async Task AndGiven_MessageIsMeteredDataForMeasurementPoint_When_SenderIs
var response = await _incomingMessagesRequest.ReceiveIncomingMarketMessageAsync(
messageStream,
documentFormat,
IncomingDocumentType.MeteredDataForMeasurementPoint,
IncomingDocumentType.NotifyValidatedMeasureData,
documentFormat,
CancellationToken.None);

Expand Down Expand Up @@ -480,7 +480,7 @@ await AddDelegationAsync(
var response = await _incomingMessagesRequest.ReceiveIncomingMarketMessageAsync(
messageStream,
documentFormat,
IncomingDocumentType.MeteredDataForMeasurementPoint,
IncomingDocumentType.NotifyValidatedMeasureData,
documentFormat,
CancellationToken.None);

Expand Down Expand Up @@ -529,7 +529,7 @@ public async Task AndGiven_MessageIsMeteredDataForMeasurementPoint_When_SenderIs
var response = await _incomingMessagesRequest.ReceiveIncomingMarketMessageAsync(
messageStream,
documentFormat,
IncomingDocumentType.MeteredDataForMeasurementPoint,
IncomingDocumentType.NotifyValidatedMeasureData,
documentFormat,
CancellationToken.None);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -609,13 +609,13 @@ public async Task When_BusinessTypeIsNotAllowed_Then_ExpectedValidationError()
DocumentFormat documentFormat)
{
var incomingMarketMessageStream = new IncomingMarketMessageStream(message);
if (_messageParsers.TryGetValue((IncomingDocumentType.MeteredDataForMeasurementPoint, documentFormat), out var messageParser))
if (_messageParsers.TryGetValue((IncomingDocumentType.NotifyValidatedMeasureData, documentFormat), out var messageParser))
{
var result = await messageParser.ParseAsync(incomingMarketMessageStream, CancellationToken.None).ConfigureAwait(false);
return (IncomingMessage: (MeteredDataForMeasurementPointMessage?)result.IncomingMessage, ParserResult: result);
}

throw new NotSupportedException($"No message parser found for message format '{documentFormat}' and document type '{IncomingDocumentType.MeteredDataForMeasurementPoint}'");
throw new NotSupportedException($"No message parser found for message format '{documentFormat}' and document type '{IncomingDocumentType.NotifyValidatedMeasureData}'");
}

private async Task StoreMessageIdForActorAsync(string messageId, string senderActorNumber)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public bool HandlesFormat(DocumentFormat format)

public bool HandlesType(DocumentType documentType)
{
return documentType == DocumentType.MeteredDataForMeasurementPoint;
return documentType == DocumentType.NotifyValidatedMeasureData;
}

public async Task<MarketDocumentStream> WriteAsync(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ public bool HandlesFormat(DocumentFormat format)

public bool HandlesType(DocumentType documentType)
{
return documentType == DocumentType.MeteredDataForMeasurementPoint;
return documentType == DocumentType.NotifyValidatedMeasureData;
}

public Task<MarketDocumentStream> WriteAsync(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,7 @@ public record MeteredDateForMeasurementPointMarketActivityRecord(
string EndedDateTime,
IReadOnlyList<PointActivityRecord> Points);

public record PointActivityRecord(int Position, string? Quality, int? Quantity);
public record PointActivityRecord(
int Position,
string? Quality,
int? Quantity);
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ public void Ensure_that_all_document_support_ebix(DocumentType documentType)
var writer = _documentWriters.FirstOrDefault(writer =>
writer.HandlesType(documentType) && writer.HandlesFormat(DocumentFormat.Ebix));

if (documentType == DocumentType.MeteredDataForMeasurementPoint)
if (documentType == DocumentType.NotifyValidatedMeasureData)
{
writer.Should().BeNull($"{documentType} does not support ebix");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,22 @@ namespace Energinet.DataHub.EDI.Tests.Application.OutgoingMessages;

public class MetricNameGenerationTests
{
// The following values has to be hardcoded, since they are hardcoded in the terraform defining the dashboard
// The following values have to be hardcoded, since they are hardcoded in the terraform defining the dashboard.
// When a new document type is introduced, the following needs to be inserted into to the terraform script:
// {
// "resourceMetadata": {
// "id": "${appi_sharedres_id}"
// },
// "name": "MeteredDataForMeasurementPoint{format}",
// "aggregationType": 7,
// "namespace": "azure.applicationinsights",
// "metricVisualization": {
// "displayName": "MeteredDataForMeasurementPoint{format}"
// }
// }
// replace {format} with the supported formats for the new document type.
// and include this link to the file: https://github.com/Energinet-DataHub/dh3-infrastructure/blob/main/edi/terraform/main/dashboard-templates/edi_monitor.tpl
// Look for RejectRequestWholesaleSettlement in the script for an example.
private static readonly string[] _formats = ["Json", "Xml", "Ebix" ];
private static readonly string[] _documentMetrics =
[
Expand All @@ -31,7 +46,14 @@ public class MetricNameGenerationTests
"NotifyWholesaleServices",
"NotifyWholesaleServicesResponse",
"RejectRequestWholesaleSettlement",
"MeteredDataForMeasurementPoint",
"NotifyValidatedMeasureData",
"NotifyValidatedMeasureDataResponse",
];

private static readonly DocumentType[] _isOnlyTriggeredByIncomingMessage =
[
DocumentType.RejectRequestWholesaleSettlement,
DocumentType.RejectRequestAggregatedMeasureData
];

private readonly string[] _loggedMessageGenerationMetric = _formats.Select(
Expand Down Expand Up @@ -63,13 +85,15 @@ private static List<string> AllMessageGenerationsMetricsNames()
{
foreach (var documentType in documentTypes)
{
// Most documents are logged as an outgoing message and as a response to a corresponding incoming message
names.Add(MetricNameMapper.MessageGenerationMetricName(
documentType,
documentFormat,
false));
if (documentType.Name.Contains("Notify"))

// Some documents are only logged as an outgoing message
if (!_isOnlyTriggeredByIncomingMessage.Contains(documentType))
{
// We're logging a response of a request as a separate message generation, even though it's the same document
names.Add(MetricNameMapper.MessageGenerationMetricName(
documentType,
documentFormat,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ public void Ensure_all_DocumentTypes_are_supported()

// TODO - Remove this line when all DocumentTypes are supported in B2C
supportedDocumentTypes = supportedDocumentTypes
.Where(x => x != IncomingDocumentType.MeteredDataForMeasurementPoint.Name);
.Where(x => x != IncomingDocumentType.NotifyValidatedMeasureData.Name);

// Act & Assert
documentTypes.Should().BeEquivalentTo(supportedDocumentTypes.ToList());
Expand Down
Loading