From fe918df5ed7c91f7809115aa029b91eaf8865353 Mon Sep 17 00:00:00 2001 From: Ladislav Sulak Date: Mon, 22 Jan 2024 14:48:28 +0100 Subject: [PATCH] post-merge fixes --- .../atum/agent/model/MeasurementBuilder.scala | 16 ++++++++++++++-- .../agent/model/MeasurementBuilderTest.scala | 8 ++++---- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/agent/src/main/scala/za/co/absa/atum/agent/model/MeasurementBuilder.scala b/agent/src/main/scala/za/co/absa/atum/agent/model/MeasurementBuilder.scala index 44f9370e5..20ca59dfd 100644 --- a/agent/src/main/scala/za/co/absa/atum/agent/model/MeasurementBuilder.scala +++ b/agent/src/main/scala/za/co/absa/atum/agent/model/MeasurementBuilder.scala @@ -24,7 +24,7 @@ import za.co.absa.atum.model.dto.{MeasureDTO, MeasureResultDTO, MeasurementDTO} */ private [agent] object MeasurementBuilder { - private def validateMeasurement(measure: Measure, result: MeasureResult): Unit = { + private def validateMeasurement(measure: AtumMeasure, result: MeasureResult): Unit = { val actualType = result.resultType val requiredType = measure.resultValueType @@ -58,7 +58,19 @@ private [agent] object MeasurementBuilder { private[agent] def buildMeasurementDTO(measure: Measure, measureResult: MeasureResult): MeasurementDTO = { val measureName = measure.measureName - val measuredColumns = Seq(measure.measuredColumns) + val measuredColumns = measure.measuredColumns + + val measureDTO = MeasureDTO(measureName, measuredColumns) + val measureResultDTO = MeasureResultDTO( + MeasureResultDTO.TypedValue(measureResult.resultValue.toString, measureResult.resultType) + ) + MeasurementDTO(measureDTO, measureResultDTO) + } + + // TODO Measure vs AtumMeasure + private[agent] def buildMeasurementDTO(measure: AtumMeasure, measureResult: MeasureResult): MeasurementDTO = { + val measureName = measure.measureName + val measuredColumns = measure.measuredColumns validateMeasurement(measure, measureResult) diff --git a/agent/src/test/scala/za/co/absa/atum/agent/model/MeasurementBuilderTest.scala b/agent/src/test/scala/za/co/absa/atum/agent/model/MeasurementBuilderTest.scala index fc9d410b8..5513f31a6 100644 --- a/agent/src/test/scala/za/co/absa/atum/agent/model/MeasurementBuilderTest.scala +++ b/agent/src/test/scala/za/co/absa/atum/agent/model/MeasurementBuilderTest.scala @@ -19,7 +19,7 @@ package za.co.absa.atum.agent.model import org.scalatest.flatspec.AnyFlatSpec import za.co.absa.atum.agent.exception.AtumAgentException.MeasurementException import za.co.absa.atum.model.dto.{MeasureDTO, MeasureResultDTO, MeasurementDTO} -import za.co.absa.atum.agent.model.AtumMeasure.SumOfValuesOfColumn +import za.co.absa.atum.agent.model.AtumMeasure._ import za.co.absa.atum.model.dto.MeasureResultDTO.{ResultValueType, TypedValue} class MeasurementBuilderTest extends AnyFlatSpec { @@ -111,7 +111,7 @@ class MeasurementBuilderTest extends AnyFlatSpec { } "buildMeasurementDTO" should "throw exception for unsupported result value type for a given Measure" in { - val measure = DistinctRecordCount("col") + val measure = DistinctRecordCount(Seq("col")) val measureResult = MeasureResult("1") assertThrows[MeasurementException](MeasurementBuilder.buildMeasurementDTO(measure, measureResult)) @@ -119,7 +119,7 @@ class MeasurementBuilderTest extends AnyFlatSpec { "buildMeasurementDTO" should "build Seq[MeasurementDTO] for multiple measures, all unique" in { val measurements = Set( - Measurement(DistinctRecordCount("col"), MeasureResult("1", ResultValueType.Long)), + Measurement(DistinctRecordCount(Seq("col")), MeasureResult("1", ResultValueType.Long)), Measurement(SumOfValuesOfColumn("col1"), MeasureResult(BigDecimal(1.2))), Measurement(SumOfValuesOfColumn("col2"), MeasureResult(BigDecimal(1.3))) ) @@ -142,7 +142,7 @@ class MeasurementBuilderTest extends AnyFlatSpec { "buildMeasurementDTO" should "throw exception for multiple measures, some of them repetitive" in { val measurements = Set( - Measurement(DistinctRecordCount("col"), MeasureResult("1")), + Measurement(DistinctRecordCount(Seq("col")), MeasureResult("1")), Measurement(SumOfValuesOfColumn("col"), MeasureResult(BigDecimal(1.2))), Measurement(SumOfValuesOfColumn("col"), MeasureResult(BigDecimal(1.3))) )