aboutsummaryrefslogtreecommitdiffstats
path: root/cps-rest/src/test
AgeCommit message (Collapse)AuthorFilesLines
2023-11-14CPS Delta API 1: Delta between 2 anchorsArpit Singh1-1/+20
- CPS Delta Feature Part 1: To find delta between two anchors - created new endpoint deltaByDataspaceAndAnchors - endpoint to take dataspaceName, source anchor, target anchor, xpath, descendants as input - added new service CpsDeltaService - added method to find delta between DataNodes: getDeltaReport - added method to find removed data nodes: getRemovedDeltaReports - added method to get Added DataNodes: getAddedDeltaReports - added method to get Map of xpath to DataNode: convertToXPathToDataNodesMap - added a POJO for delta report - Added new JSON data for delta feature testing - Added groovy test files CpsDeltaServiceImplSpec and DeltaReportBuilderSpec - code related to update operation, will be added in separate commit Issue-ID: CPS-1824 Signed-off-by: Arpit Singh <as00745003@techmahindra.com> Change-Id: I313f0f71d04b03878be7643f709d8af1aa6df6ba
2023-08-17Add code coverage for missing branches in pagination API(ep4)rajesh.kumar1-2/+36
Add new test cases for missing branch covereage in Pagiantion API - Added test cases in cps-rest to cover the scenario of missing page index and missing page size Issue-ID:CPS-1835 Change-ID: I73f97f986a817d423f93a8d922dcd9647b1108bc Signed-off-by: rajesh.kumar <rk00747546@techmahindra.com>
2023-08-03Merge "Support pagination in query across all anchors(ep4)"Luke Gleeson1-4/+47
2023-08-02Support pagination in query across all anchors(ep4)rajesh.kumar1-4/+47
Add pagination query parameters in query across all anchors API pagination parameters (pageIndex and pageSize) are optional default is to query all fragments each pageSize represents number of records(number of anchors) TotalRecords is returned in response header to find number of pages. - If pagination option is provided in request then query number of anchors equal to pageSize. pageIndex is used for setting offset. - return number of records(one anchor per record) as per pagesize and pageSize Issue-ID: CPS-1605 Change-ID: I73f97f986a817d423f93a8d922dcd9647b2504bc Signed-off-by: rajesh.kumar <rk00747546@techmahindra.com>
2023-07-31Add 'direct' keyword to descendants option to query direct children (ep1)Rudrangi Anupriya1-2/+2
-added 'direct' keyword also to Fetch Descendants Option along with 'all' and 'none' to Query direct child. -added unit tests to test direct keyword Issue-ID: CPS-1784 Change-Id: Icb7f59fbeebb03703626132d6d5d2cfde0e5ab4d Signed-off-by: Rudrangi Anupriya <ra00745022@techmahindra.com>
2023-07-28Add 'direct' keyword to descendants option to query direct children (ep1)Rudrangi Anupriya1-2/+8
-added 'direct' keyword also to Fetch Descendants Option along with 'all' and 'none' to Query direct child. -added unit tests to test direct keyword Issue-ID:CPS-1784 Change-Id: Iab7f59fbeebb03703626132c6d5c2afde0e5ab4d Signed-off-by: Rudrangi Anupriya <ra00745022@techmahindra.com>
2023-07-18Persisting a list element to a parent list (ep2)Rudrangi Anupriya1-0/+23
Post List Element does not allow for create List Element, only appends onto existing node as children -Add a check in saveListElements to see if the parent xpath is a root path ("/").If root node store list element as top node. Else add passed list element to parent xpath node. -Add test for scenario for above -Add test scenario Saving list element data fragment under Root node -Add Integration Tests Add and Delete top-level list (element) data nodes with root node -Update bookstore model with TopLevelList datanode Issue-ID: CPS-1586 Change-Id: Iaa7f59fbeebb03703626132c6d5c2afde0e7ab4b Signed-off-by: Rudrangi Anupriya <ra00745022@techmahindra.com>
2023-06-29Improved code coverage (branches) around multipart file utilsToineSiebelink1-11/+26
- added test - moved wrongly placed test (from MultipartFileUtilSpec to DataMapUtilsSpec) - applied curent conventions to DataMapUtilsSpec Issue-ID: CPS-475 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: Ie8dc7f6802bb6ff0a256dc05df73da6af75409f3
2023-03-21Query data nodes across all anchors under one dataspacerajesh.kumar1-0/+30
Issue-ID: CPS-1396 Change-ID: I73f97f986a817d423f93a8d922dcd9647b1412ab Signed-off-by: rajesh.kumar <rk00747546@techmahindra.com>
2023-02-20Fix sonar code smellhalil.cakal2-2/+2
Issue-ID: CPS-475 Change-Id: I6c213090862b68ccf44fb95395c57c717f52a9b2 Signed-off-by: halil.cakal <halil.cakal@est.tech>
2023-02-17CPS-1401 Implement V2 of GET Data Node APIarpitsingh1-28/+77
- Modified the GET Data Node API so it returns all the data nodes when xpath set to root "/" - Fragment Repository now returns a collection of Fragment Entities - Instead of returning only the first Fragment Entity now all fragment entities are returned when xpath is set to root - The Fragemnt Entities are further processed to a Collection of Data Nodes. As opposed to singular Data Node in current implementation. - Finally the DataRestController also returns a Collection of Data Nodes when xpath is set to root and valid data is present - Response body changed from JSON object to JSON Array. - Exception handling for invalid xpath and non-existing xpath is now done separately at persistence layer. - Refactored code against CPS-1422 - Deprecated getDataNode method from Service and Persistence layer - Modified V1 of Get Data Node API to use the getDataNodes method and get the first data node from the collection returned. - Modified NCMP to use getDataNodes method - NCMP still does not support multiple data nodes. It retrieves the first data node from the collection returned by getDataNodes Signed-off-by: arpitsingh <as00745003@techmahindra.com> Change-Id: I494a5740a53f65376d135fcb9f1e2e8900a2803e
2023-02-13Test for yang file archive limitationhalil.cakal3-24/+52
- add new test - fixed misleading method names Issue-ID: CPS-1480 Change-Id: I9dd8f41d0acfc8b1c063aab65567d619670f4905 Signed-off-by: halil.cakal <halil.cakal@est.tech>
2023-01-31Introduce InstrumentationToineSiebelink1-2/+12
- Add instrumentation related dependency - Added Timed Instrumentation - CPS-Service Crud methods - CPS Yang parsing - NCMP Registration methods - NCMP Events handling - Remove manual Gauge for YanResources Cache as (better!) instrumentation is already built into the 3PP - Sorted dependecies alphabetically (as we used to enforce, to prevent duplicates) - Added ## P E R F O R M A N C E T E S T R E S U L T S ### mini report - (unrelated) test improvement (because of bug that turned out to be invalid) Reviewers: Sourabh,Priyank, Luke Issue-ID: CPS-1457 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: I34b20bece2f59488b022b8effa9470704c57be4d
2023-01-23Added depth parameter in query nodes API.rajesh.kumar2-3/+54
Issue-ID: CPS-1381 Change-ID: I73f97f986a817d423f93a8d922dcd9647b1206bb Signed-off-by: rajesh.kumar <rk00747546@techmahindra.com>
2022-12-22XML content on create anchors node supportMichal Jagiello2-40/+46
Add XML content type support on anchor node creation. Issue-ID: CPS-1257 Change-Id: I7e7a9a1961b6e81de93a4e32e842b47f8a163a09 Signed-off-by: Michal Jagiello <michal.jagiello@t-mobile.pl> Signed-off-by: Lee Anjella Macabuhay <lee.anjella.macabuhay@est.tech>
2022-12-16API versioning supported and added different versions for POST APIsrajesh.kumar1-28/+42
Issue-ID: CPS-1189 Change-ID: I73f97f986a817d423f92f8d922dcd9647b1214aa Signed-off-by: rajesh.kumar <rk00747546@techmahindra.com>
2022-12-09Added API to get all schema sets for a given dataspace.rajesh.kumar1-0/+15
Issue-ID: CPS-1187 Change-ID: I73f97f986a817d423f93a8d922dcd9647b0914aa Signed-off-by: rajesh.kumar <rk00747546@techmahindra.com>
2022-11-18Added get APIs for dataspace.rajesh.kumar1-0/+28
Issue-ID: CPS-1186 Change-ID: I73f97f986a817d423f93a8d922dcd9647b0829aa Signed-off-by: rajesh.kumar <rk00747546@techmahindra.com>
2022-11-10HTTP error code 500 changed to 400 for invalid JSON payloadrajesh.kumar1-0/+13
Issue-ID: CPS-1289 Change-ID: I73f97f986a817d423f93a8d922dcd9647b1012aa Signed-off-by: rajesh.kumar <rk00747546@techmahindra.com>
2022-11-02Ensure prefix is correct module prefixToineSiebelink3-0/+13
- Moved Prefix logic from RI to Service layer - Prefix is no PREFIX propety, not the moduel name! == RI (DB Layer) Changes - Removed prefix logic incl hazelcast - Added new basic ri-test for getDataNode and assert prefix is null - Updated exsiting ri-test to us getDataNode - Updated existing ri-test to only use " where really needed == CPS Service Layer Changes - Introduced PrefixResolver with clear and limited responsibility - Use PrefixResolver where needed - Cache prefix map per anchor, use cached entry when available - Disabled SONAR on new Regex == REST Layer - Use PrefixResolver where needed Issue-ID: CPS-1353 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: Ie16f0e1ee1c280f3eb69c9e64fab69a780fb692a
2022-08-25Performance Improvement: Batch Update DataNodeslukegleeson1-3/+3
Implemented methods to perform a batch operation on updating datanodes Refactored replace data node(s) tree methods to update data node(s) and descendants Issue-ID: CPS-1203 Signed-off-by: lukegleeson <luke.gleeson@est.tech> Change-Id: I365d657422b19c9ce384110c9a23d041eaed06f4
2022-04-25Fix Absolute Path to list with Integer/String keyLathish1-1/+0
- Introduced normalizedXpath to normalize the xpath and cpspath - Introduced normalizedAncestorpath to normalize the ancestor path in xpath and cpspath - Added new condition in the ANTLR Grammar to capture the invalid path in the xpath - Introduced PathParsingException to replace the IllegalStateException Issue-ID: CPS-961 Change-Id: Ie10f5c6cfc466387e79eec184b933297d1d79587 Signed-off-by: Lathish <lathishbabu.ganesan@est.tech>
2022-03-30Additional validation for names/identifiersDylanB95EST1-4/+3
Implementing additional regex validation for names/identifiers in CPS - Introduces a CpsValidator - Applies to relevent java public API's - Tests have been updated where necessary Issue-ID: CPS-322 Change-Id: I29ab8820bb1fe0eee247e425d6bb018bcd38f28e Signed-off-by: DylanB95EST <dylan.byrne@est.tech>
2022-03-10Replacing ModelMapper with MapStructlukegleeson4-45/+80
- Removed Model Mapper from pom files - Replaced ModelMapper with MapStruct - Added Tests for MapStruct - Changed mapstruct annotations for individual variables to be null safe rather than all variables - Excluded generated code from code coverage - Set ModuleReferences input to required for SchemaSet so that ModuleReferences list set to empty list rather than null Issue-ID: CPS-127 Signed-off-by: lukegleeson <luke.gleeson@est.tech> Change-Id: I43f874aea79f58dda5526c6fdead27d8474d90af
2022-02-17Align JSON DataNode for Get and Post/Put API in CPSputhuparambil.aditya2-8/+12
Issue-ID: CPS-865 Signed-off-by: puthuparambil.aditya <aditya.puthuparambil@bell.ca> Change-Id: I60b1f9c94e79bdd66d60fe6a68f5fc4adc718d35
2022-01-25Replace gson mapper with jackson mappersourabh_sourabh3-15/+22
We introduced JsonObjectMapper (wapper) as Spring component. Issue-ID: CPS-751 Change-Id: I536b0771a3a263325e6907717baf6941d70c0d6c Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2022-01-07CPS-Core: Unable to parse JSON input with space for POST endpointsourabh_sourabh1-21/+20
Issue-ID: CPS-831 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech> Change-Id: If2f5f7034f05763990001c9dd8ccd9d8dc0099cf
2021-12-02Adding examples in openapi for cps-coreputhuparambil.aditya2-35/+30
1. Added examples for all parameters, request body and response body 2. Changed the response/request type to Object from String for all json objects 3. Passed json format data in all tests 4. PUT and PATCH operations at present return empty response, hence examples are changed to be in sync Issue-ID: CPS-780 Signed-off-by: puthuparambil.aditya <aditya.puthuparambil@bell.ca> Change-Id: If6dd5bb48df4e1bbf1026eaadf315df8f972e282
2021-11-23CPS-314: Delete Dataspaceniamhcore2-1/+16
Issue-ID: CPS-314 Change-Id: I778e2b784c7b1ff3fecc1036425708dc4ec73227 Signed-off-by: niamhcore <niamh.core@est.tech>
2021-11-02Delete DataNode (xpath) for a given AnchorDylanB95EST1-0/+22
Delete Datanode within CPS. Deprecates delete functionality of /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/list-nodes. New api is backwards compatible with this API Issue-ID: CPS-313 Change-Id: I110c4ab1446e8a1399a0d9bf89c0be614a9104df Signed-off-by: DylanB95EST <dylan.byrne@est.tech>
2021-11-02Clean Up Code around List NodesDylanB95EST1-25/+20
Make sure code refers clearly to List (whole) nodes or List elements incl. method names, parameter names, test descriptions etc. Issue-ID: CPS-756 Change-Id: Ic9dae6565c0e84c1ba4c2d6e891d3ea307f589da Signed-off-by: DylanB95EST <dylan.byrne@est.tech>
2021-09-01Add ncmp endpoints to swagger-uiRenu Kumari1-6/+1
- added ncmp-enpoints to swagger-ui - removed springfox dependencies - removed Docket configuration as we are loading ui from openapi.yml - removed endpoints which are not implemented - Fixed ncmp basepath as per CPS-616 Issue-ID: CPS-601 Issue-ID: CPS-616 Signed-off-by: Renu Kumari <renu.kumari@bell.ca> Change-Id: I03c7789f48a12d3ffd5fcb934d7ba6347d4044e4
2021-08-30Change the list-node rest interfaceRenu Kumari1-6/+6
- Changed the list-node interface to be consistent with datanode api Issue-ID: CPS-598 Signed-off-by: Renu Kumari <renu.kumari@bell.ca> Change-Id: Ic99828f1463e9a724244c05166e477581756f602
2021-08-25Add optional observed timestamp in the cps data apiaditya puthuparambil3-77/+215
- Added optional query parameter in cps data endpoints - Updated service layer and notification to use observedTimestamp Note: - NCMP REST endpoints are not updated as a part of this patch - NCMP does not sent observed timestamp when using cps data services Issue-ID: CPS-477 Signed-off-by: puthuparambil.aditya <aditya.puthuparambil@bell.ca> Change-Id: I1f92da3da7b3a13c45405fdf44e5fef861991d9a Signed-off-by: Renu Kumari <renu.kumari@bell.ca>
2021-08-18Delete list-node p2 rest layerlukegleeson1-0/+15
Issue-ID: CPS-361 Signed-off-by: lukegleeson <luke.gleeson@est.tech> Change-Id: I5fb8d202fc0a65679d10377cc2959a7f8f854ca7
2021-08-11Merge "Update response query format"aditya puthuparambil1-3/+6
2021-08-11Update response query formatniamhcore1-3/+6
Issue-ID: CPS-560 Change-Id: I1c71270a8cde7e940c5af80bc743d0f01ab6b9bb Signed-off-by: niamhcore <niamh.core@est.tech>
2021-08-10Upgrade Swager Codegen-maven-pluginJosephKeenan3-33/+3
- Removed swagger annotations dependency as latest plugin generates code using v3 annotations. - updated the method signature as per the new generated code - removed unnecessary mock springbeans from the WebMvcTest Issue-ID: CPS-205 Change-Id: Ie7911d7389dca587bde945d913f458de46027e0f Signed-off-by: JosephKeenan <joseph.keenan@est.tech>
2021-07-13Editing of Nordix Licenses to ONAP guidelineslukegleeson5-6/+13
Issue-ID: CPS-489 Signed-off-by: lukegleeson <luke.gleeson@est.tech> Change-Id: I415534515b3d8325f41d5dc1d02c6e0ae70c6cf1
2021-06-18Merge "Missing licence info added in pom file"Bruno Sakoto1-0/+16
2021-06-18Missing licence info added in pom fileshivasubedi1-0/+16
- Added licence info to files that were missing it - Fixed licence info to match with the creator of the file Issue-ID: CPS-467 Signed-off-by: shivasubedi <shiva.subedi@est.tech> Change-Id: I1c0eaedb2c87743a61a1cd58f33b0d0d04b3a977
2021-06-15[OpenAPI] Implemented example as per example wiki page for getting anchors ↵JosephKeenan1-1/+1
based on dataspace -moved components from cpsAdmin.yml to components.yml -refactored variable for anchor details list in AdminRestController.java -reintrocuded paramter for anchorsByDataspace -refactored variables in AdminRestController.java getAnchors() to be more intuitive -refactored AdminRestController.java to use modelmapper and removed extra conversion code. Also modified AdminRestControllerSpec.groovy to use ModelMapper as Spy rather than a Mock -added responses for getAnchor & getSchemaSet -added javadoc for AdminRestController.java public methods -refactored schemaDetils pararmeter from dataSpasceName to name for CSOT tests & added some code review comments Issue-ID: CPS-429 Change-Id: I01d4113313c9a23d9a7e0e96e46b90f9ac767f24 Signed-off-by: JosephKeenan <joseph.keenan@est.tech>
2021-06-01Introducing Antlr4 for cpsPath parsingToineSiebelink1-11/+12
-created new module for cpPathParser -added antlr rule for cpsPathWithSingleLeafCondition -added antlr rule for cpsPathWithDescendant (and with leaf conditions) -added antlr rule for ancestor axis -added unit test (copied from existing CpsPathQuerySpec) -udpated cps-ri to use new cpPathQuery from parser module -'imported' lexer rules from publix xPath grammar -Re-used existing CpsPathException but conversion happens in cps-ri to prevent additional dependency in cps-path-parser module Issue-ID: CPS-376 Change-Id: I2c5df98969402cbf69f6573c52705879450ce606 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
2021-05-25Replace list-node content (part 2): CPS REST layerRuslan Kashapov1-1/+17
Issue-ID: CPS-362 Change-Id: I46dc9b48758fa10a47a648aa4e6a63775466234b Signed-off-by: Ruslan Kashapov <ruslan.kashapov@pantheon.tech>
2021-05-20Response code fix (Bad Request instead of Not Found) when modifying ↵Ruslan Kashapov1-0/+24
non-existent node. Issue-ID: CPS-422 Change-Id: I6652f8bcafb9938ce588be3d0a0d2bb1672723b0 Signed-off-by: Ruslan Kashapov <ruslan.kashapov@pantheon.tech>
2021-05-11Create list-node elements (part2): CPS REST layerRuslan Kashapov1-4/+18
Issue-ID: CPS-360 Change-Id: Iaca8baff085e1659453c06ce0dee0203aa007b4a Signed-off-by: Ruslan Kashapov <ruslan.kashapov@pantheon.tech>
2021-04-29Investigate and update Spock versionshivasubedi5-18/+1
Issue-ID: CPS-368 Signed-off-by: shivasubedi <shiva.subedi@est.tech> Change-Id: Ie8505cf29068660af6bc6b9887f593f7e3be074f
2021-04-28- Remove redundant and misleading testsToineSiebelink1-29/+11
- Some small improvemnt to tets ins same class Issue-ID: CPS-325 Change-Id: I0d888dbd9db555508b23e37957098b7b4d518912 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
2021-04-26Get Data under anchor using single rootRishi.Chail1-1/+1
Issue-ID: CPS-325 Signed-off-by: Rishi.Chail <rishi.chail@est.tech> Change-Id: Id8da3d767199c5767c625b55d175ac6791dcca48
2021-04-20Create child data node (part 1): CPS service + RESTRuslan Kashapov1-3/+30
Issue-ID: CPS-337 Change-Id: I9c5c62d144b5301ac80e2b82a5cc66a980dad011 Signed-off-by: Ruslan Kashapov <ruslan.kashapov@pantheon.tech>