From fa97b0851a89a32f58c1be4f7393b187ff33bd9c Mon Sep 17 00:00:00 2001 From: Joe Boccanfuso Date: Fri, 27 Oct 2023 16:20:29 -0400 Subject: [PATCH] fix(measurement service): Implemented correct check of schema keys in _isValidMeasurment. --- .../MeasurementService.test.js | 19 +++++++++++++++++++ .../MeasurementService/MeasurementService.ts | 6 +++--- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/platform/core/src/services/MeasurementService/MeasurementService.test.js b/platform/core/src/services/MeasurementService/MeasurementService.test.js index 93517d58c2f..51ec9b66d23 100644 --- a/platform/core/src/services/MeasurementService/MeasurementService.test.js +++ b/platform/core/src/services/MeasurementService/MeasurementService.test.js @@ -324,6 +324,25 @@ describe('MeasurementService.js', () => { }).toThrow(); }); + it('throws Error if adding measurement with unknown schema key', () => { + measurementService.addMapping( + source, + annotationType, + matchingCriteria, + toSourceSchema, + () => { + return { + ...measurement, + invalidSchemaKey: 0, + }; + } + ); + + expect(() => { + source.annotationToMeasurement(annotationType, measurement); + }).toThrow(); + }); + it('updates existing measurement', () => { measurementService.addMapping( source, diff --git a/platform/core/src/services/MeasurementService/MeasurementService.ts b/platform/core/src/services/MeasurementService/MeasurementService.ts index dde9ff4d217..30228a25116 100644 --- a/platform/core/src/services/MeasurementService/MeasurementService.ts +++ b/platform/core/src/services/MeasurementService/MeasurementService.ts @@ -691,14 +691,14 @@ class MeasurementService extends PubSubService { * @return {boolean} Measurement validation */ _isValidMeasurement(measurementData) { - Object.keys(measurementData).forEach(key => { + return Object.keys(measurementData).every(key => { if (!MEASUREMENT_SCHEMA_KEYS.includes(key)) { log.warn(`Invalid measurement key: ${key}`); return false; } - }); - return true; + return true; + }); } /**