From 416981a721907006f5daf6b371390ebe32dd3844 Mon Sep 17 00:00:00 2001 From: KrupaNagabhushan Date: Mon, 7 Jul 2025 12:29:37 +0100 Subject: [PATCH] Fix postschemas test failures Issue-ID: SMO-191 Change-Id: Ia957779cafd48a35c7dcb0d1cd385cec35aad1e0 Signed-off-by: KrupaNagabhushan --- teiv/src/main/java/org/oran/smo/teiv/utils/YangParser.java | 2 ++ .../java/org/oran/smo/teiv/utils/yangparser/ExposureYangParser.java | 5 +++++ .../test/resources/contracts/exposure/schemas/02_postSchemas.groovy | 4 ++-- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/teiv/src/main/java/org/oran/smo/teiv/utils/YangParser.java b/teiv/src/main/java/org/oran/smo/teiv/utils/YangParser.java index f0f6c32..83ce995 100644 --- a/teiv/src/main/java/org/oran/smo/teiv/utils/YangParser.java +++ b/teiv/src/main/java/org/oran/smo/teiv/utils/YangParser.java @@ -30,6 +30,7 @@ import java.util.*; import org.oran.smo.teiv.exception.TeivException; import org.oran.smo.teiv.exception.YangModelException; +import org.oran.smo.teiv.utils.yangparser.ExposureYangParser; import org.oran.smo.yangtools.parser.data.YangData; import org.oran.smo.yangtools.parser.findings.FindingSeverity; import org.oran.smo.yangtools.parser.findings.ModuleAndFindingTypeAndSchemaNodePathFilterPredicate; @@ -134,6 +135,7 @@ public class YangParser { context.setIgnoreImportedProtocolAccessibleObjects(true); context.setFailFast(false); yangDeviceModel.parseIntoYangModels(context, yangModels); + ExposureYangParser.validateContext(findingsManager); checkFindings(context.getFindingsManager(), severityCalculator); assert inputYangModel != null; diff --git a/teiv/src/main/java/org/oran/smo/teiv/utils/yangparser/ExposureYangParser.java b/teiv/src/main/java/org/oran/smo/teiv/utils/yangparser/ExposureYangParser.java index a46ff9f..6ded4ff 100644 --- a/teiv/src/main/java/org/oran/smo/teiv/utils/yangparser/ExposureYangParser.java +++ b/teiv/src/main/java/org/oran/smo/teiv/utils/yangparser/ExposureYangParser.java @@ -32,6 +32,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArrayList; import org.oran.smo.teiv.exception.YangException; +import org.oran.smo.yangtools.parser.findings.FindingsManager; import org.springframework.web.multipart.MultipartFile; import org.oran.smo.yangtools.parser.ParserExecutionContext; @@ -137,4 +138,8 @@ public class ExposureYangParser extends YangModelLoader { return resultMap; } + public static void validateContext(FindingsManager findingsManager) { + YangFindingsManager.handleExposureFindings(findingsManager); + } + } diff --git a/teiv/src/test/resources/contracts/exposure/schemas/02_postSchemas.groovy b/teiv/src/test/resources/contracts/exposure/schemas/02_postSchemas.groovy index 60b7225..ddc5216 100644 --- a/teiv/src/test/resources/contracts/exposure/schemas/02_postSchemas.groovy +++ b/teiv/src/test/resources/contracts/exposure/schemas/02_postSchemas.groovy @@ -716,7 +716,7 @@ import org.springframework.cloud.contract.spec.Contract body('''{ "status": "BAD_REQUEST", "message": "Invalid file input", - "details": "Invalid file input: Module 'o-ran-smo-teiv-ran' multiple times in the input, with both conformance types IMPLEMENT and IMPORT." + "details": "Invalid file input: Module 'o-ran-smo-teiv-ran' has multiple revisions in the input, but desired exact revision not specified in the 'import' statement." }''') } }, @@ -770,7 +770,7 @@ import org.springframework.cloud.contract.spec.Contract body('''{ "status": "BAD_REQUEST", "message": "Invalid file input", - "details": "Invalid file input: Missing content at the beginning of the document." + "details": "Invalid file input: Expected single statement ('module' or 'submodule')." }''') } }, -- 2.16.6