Hi,
I have a generic question/concern how the VES 7.2.1 (stndDefined) events are 
validated against schema reference in the VES Collector.
Based on the online documentation: 
https://docs.onap.org/projects/onap-dcaegen2/en/latest/sections/services/ves-http/stnd-defined-validation.html,
 I had an impression, that maintaining schemas locally along with proper public 
to local mappings in the schema-map.json allows for complete 'offline' (without 
need the VES Collector to pull any schemas from any public 
repository/internet). However hands-on experience and code analysis revealed 
that this is not always the case. In the situations, where 
$.event.stndDefinedFields.schemaReference has direct or indirect 
relative-reference to other local schema file, assuming that all referenced 
files are in proper locations, this whole process of validation could be 
offline:
$ref: 'genericNrm.yaml#/components/schemas/resources-genericNrm'
On the other hand, I noticed that if $.event.stndDefinedFields.schemaReference 
has direct or indirect uri reference, validation will always try to pull that 
uri, regardless whether it is defined in the schema-map.json or not:
$ref: 
'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RedirectInformation'
It seems, that introduced public to local schema mapping mechanism, only works 
for the top level schema reference from 
$.event.stndDefinedFields.schemaReference and it does not consider references.
The actual validation is implemented in the 
org.openapi4j.schema.validator.v3.SchemaValidator , which is a dependency to 
the dcaegen2/services/sdk project. And this is how it works. However some use 
cases might require full offline validation and it seems that it is not 
possible to achieve in the VES Collector, unless all the uri schema references 
(recursively) are refactored to local relative-references, and of course all 
the files are available locally. This would be the case for many refs from 
forge.3gpp.org repositories.

Could you please confirm that this is a current limitation on the VES Collector?
Are there any other ways to achieve full 'offline' validation other than 
proposed above?

I'd appreciate your comments/suggestions
Best regards,
Marcin


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#23498): https://lists.onap.org/g/onap-discuss/message/23498
Mute This Topic: https://lists.onap.org/mt/85106666/21656
Mute #dcaegen2:https://lists.onap.org/g/onap-discuss/mutehashtag/dcaegen2
Group Owner: onap-discuss+ow...@lists.onap.org
Unsubscribe: https://lists.onap.org/g/onap-discuss/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to