summaryrefslogtreecommitdiffstats
path: root/integration-test/src
AgeCommit message (Collapse)AuthorFilesLines
2024-03-05Integration test of Bearer Token pass-through (CPS-2126 #5)danielhanrahan3-2/+132
This covers REST endpoints of GET, POST, PUT, PATCH, DELETE of /ncmp/v1/ch/{cmHandleId}/data/ds/{datastoreName} and the async REST endpoint of POST /ncmp/v1/data It verifies that: - bearer token is passed from NCMP to DMI - basic auth header is not passed from NCMP to DMI Issue-ID: CPS-2137 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: Ie4761a848904175a9d8cd5b917817e85f5b69813
2024-02-23Remove subscriptionModelLoader flagmpriyank1-1/+0
- removed the flag as the functionality around model loader is stable now - removed the config parameter from the application yaml file as well Issue-ID: CPS-2112 Change-Id: Ie4e3317c0689615b900dcd9bbf1896bc3a5f37b3 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2024-02-21Upgrade yang modules using module set tagdanielhanrahan1-3/+0
- New algorithm is implemented as per the pseudo code -> https://wiki.onap.org/display/DW/CPS-1733%3A+Upgrade+YANG+Schema-Set+for+CM+Handle+Using+a+Module+Set+Tag Issue-ID: CPS-2027 Change-Id: I78fc1c8f927de1a1b814c3c1c62351dda58f2139 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech> Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
2024-02-21Add moduleSetTag when getting a CM handledanielhanrahan2-4/+19
Test changes: - Check moduleSetTag (and alternateId) in unit test of get CM handle. - Verify moduleSetTag is updated in tests of CM handle upgrade. Code changes: - Set moduleSetTag when converting a YangModelCmHandle to NcmpServiceCmHandle. - Set moduleSetTag in YangModelCmHandle copy constructor. - Minor refactor using StringUtils::isBlank. Issue-ID: CPS-2027 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I6a9a92aa58d15c6ecf5a6bb21aa5c9d6ec8dc817
2024-02-19Tests of CM-handle module upgrade & moduleSetTagdanielhanrahan10-244/+429
Integration tests covering scenarios of the creation and upgrade of CM-handles with: - no moduleSetTag - new moduleSetTag - existing moduleSetTag Failing tests are marked @Ignore. Issue-ID: CPS-2102 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: Id5567e08a13d8c26dc7b6458f0af8449bef6f082
2024-02-15Add NCMP to integration-test moduledanielhanrahan5-0/+347
- Add NCMP to integration test base class - Use MockRestServiceServer to mock DMI responses in groovy tests - Added tests for CM-handle registration to READY and LOCKED states - Add test of CM-handle deregistration Issue-ID: CPS-2033 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I89f9f8aab2bba9d4eb5b3136a2feb238e7cf1b06
2024-02-14Clean up of integration-test base classesdanielhanrahan4-171/+104
- Remove TestConfig and instead use auto-configuration - Add needed application.yml config - Refactor helper methods for creating JSON Issue-ID: CPS-2090 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I4f618a1d4a83e9c75e468928c257b817d449c22f
2024-02-13Remove liquibase test changelogdanielhanrahan2-629/+1
Complete liquibase changelog takes under 1 second to run, so having separate changelog for integration tests offers no benefit. Issue-ID: CPS-2090 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: Ib0e928f35d401b91c23dfcb5dc82c77778a044dc
2024-02-12Fix test failure by ordering leaf-listsdanielhanrahan3-9/+41
YANG specifies two ways that leaf-lists can be ordered: - ordered-by user: original order in JSON is preserved - ordered-by system (default): it is up to the system how to order For leaf-lists to preserve same order as the JSON, the Yang module must specify 'ordered-by user'. To ensure consistent behaviour even when system ordering is used, the leaf-list is sorted during parsing. - Add 'ordered-by user' to authors field in bookstore.yang - Sort leaf-list during parsing when using 'ordered-by system' - Add new tests to verify ordering Issue-ID: CPS-2057 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I6ab688ec2fa4a22182e853d1a8b26642f278c40a
2024-02-12Include integration test results in Jacocodanielhanrahan1-1/+0
integration-test module is not recording code coverage due to incorrectly overriding the maven surefire config from parent pom. Issue-ID: CPS-2086 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I774c64acedca546f5c01403597bd9f5010de73d2
2024-02-01Add integration test for extending API: Get Module Definitionshalil.cakal9-44/+89
- Add new module: bookstore-types - Import the new module from stores module - Change integration testwares to comply with the new module - Add new integration test for retrieving module definition Issue-ID: CPS-1135 Change-Id: Ib51c998ceeab50d3fcea212ed55c8ab50ca09257 Signed-off-by: halil.cakal <halil.cakal@est.tech>
2024-02-01Extend API: Get Module Definitionshalil.cakal1-2/+12
- add query parameters: module-name and revision to OpenAPI - extend the controller method to hande the new parameters - add the new method stack to the service layer - extend the SQL query to support the new parameters - add unit and integration testwares Issue-ID: CPS-1135 Change-Id: I089ad2ad71effb58ac0ba809e9f441d6cdb59c4f Signed-off-by: halil.cakal <halil.cakal@est.tech>
2024-01-18Merge "CPS Delta API: Update action for delta service"Toine Siebelink2-29/+76
2024-01-17Clear instance based Schema Context Cache upon validation errorsToineSiebelink2-6/+22
- retry yang parser exceptions one time by clearing cache - split yangUtils into YangParserHelper (instance based) and YangUtils for non-parsering static methods - removed public methods only used from test. Refactored to use variation with (empty) parent path - removed use of optional for parentPath, easier to handle with just an empty string! - make methods no longer used in production code in YangUtils are private - udpate testware to use proper public methods instead of private methods of yang utils / parser (helper) Issue-ID:CPS-2000 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: I0c7590a5e1495d047006e7136f1bd873be37f7b0
2024-01-16CPS Delta API: Update action for delta serviceArpit Singh2-29/+76
- Added code for Update action in Delta service - added method to get updated Leaf data: getUpdatedLeavesBetweenSourceAndTargetDataNode - added method to compare Leaf data common in source and target data node - added method to process leaves unique to target data node - added method to compare leaves: compareLeaves - added method to store updated data to a DeltaReport: addUpdatedLeavesToDeltaReport - Added corresponding testware Issue-ID: CPS-1824 Signed-off-by: Arpit Singh <as00745003@techmahindra.com> Change-Id: I3de07ea3227988784a0892f6a92c238ecf00a7fa
2024-01-11Merge "Enable hibernate write batching"Lee Anjella Macabuhay7-35/+42
2024-01-10Enable hibernate write batchingdanielhanrahan7-35/+42
- Implement fragment ID sequence generator with allocation size of 100 - Enable write batching for insert and update, with batch size of 100 - Write performance is over 2x faster Issue-ID: CPS-1795 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I7ebd0f834abb57c593603e2cd3fafc7e3425ab1e
2024-01-09Remove inefficient saveListElementsBatch APIdanielhanrahan2-39/+9
CpsDataService::saveListElementsBatch method is not needed as saveListElements supports saving multiple list elements in a single operation. This both simplifies implementation and greatly improves performance when saving list elements, as the Yang parser need only run once for the whole batch. - Change InventoryPersistence to save CM-handles in batches of 100 using existing CpsDataService::saveListElements method. - Remove not needed CpsDataService::saveListElementBatch. Issue-ID: CPS-2019 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I8b74dda2917e094d064b42f2c0e4d57029b90395
2024-01-05Merge "Normalize JSON attributes during update"Toine Siebelink1-5/+5
2024-01-04Add performance tests for saveListElementsdanielhanrahan1-14/+75
Add performance tests for CpsDataService methods: - saveListElements - saveListElementsBatch Results show that saveListElementsBatch (used only by NCMP for saving CM-handles) has extremely poor performance compared to saveListElements, which is over 4x faster and uses less memory. Issue-ID: CPS-2019 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I89d634c69b3790f1e1a79e2ff5392db5a45c761b
2024-01-04Normalize JSON attributes during updatedanielhanrahan1-5/+5
This change fixes a few issues related to JSON encoding of FragmentEntity attributes (data leaves). This significantly improves update performance in cases of partial updates. - Normalize JSON and order leaves by name when comparing data leaves during update operations. - Update performance test timings. Issue-ID: CPS-2018 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: Ia764a353bf96c05758827845e1358745247ee237
2023-12-22CpsDataService Update performance testsdanielhanrahan1-42/+106
Test suite for CpsDataService update methods: - updateDataLeaves - updateDataNodeAndDescendants - replaceListContent Added JVM warmup for update tests Issue-ID: CPS-1674 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: Ia07d792bef63fbe2d376a16c210d9d0c4425e302
2023-12-22Fix performance tests after anchor/dataspace splitdanielhanrahan1-2/+2
CpsAdminService was split into CpsDataspaceService and CpsAnchorService. One test has incorrect changes. Issue-ID: CPS-871 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I8013c4d9d17a5846d183e1c06bc11fa5ef9b4c4d
2023-12-18Remove the dependency-cycle between beansToineSiebelink12-105/+159
- Splitting admin service into AnchorService and DataspaceService (this resolves the cyclic dependency) - Improved Delete dataspace integration error tests (were depending on execution order, now independent) Issue-ID: CPS-871 Change-Id: I47efedb6eb4bd2900f72d689616b7b7b62df2938 Signed-off-by: halil.cakal <halil.cakal@est.tech> Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
2023-12-18Merge "Remove Notification code for updated events"Toine Siebelink1-6/+0
2023-12-18Remove Notification code for updated eventsmpriyank1-6/+0
- removed existing code for sending notifications to topic cps.dataupdated events formerly used by cps-temporal - corresponding testware removed or updated - unnecessary to fetch anchor details for delete and replace operation removed which might gain minor performance boost - yaml configurations , documentation removal and update - Added missing test for AsyncConfig to comply with coverage check Issue-ID: CPS-2005 Change-Id: I1848f7f229cb713fe8c0302ea50328e7451652ee Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2023-12-18Merge "Update Model to allow Persisting of alternateId"Toine Siebelink2-2/+19
2023-12-14Update Model to allow Persisting of alternateIdleventecsanyi2-2/+19
- added new dmi model registry and modified tests Issue-ID: CPS-1989 Signed-off-by: leventecsanyi <levente.csanyi@est.tech> Change-Id: I576a5a0704fe28924dcc304c276fec5665b52764
2023-12-13Introduce Schema Set upgrade methodsourabh_sourabh1-3/+63
- Incl. integration test - Prod code is changed to use new method that update yand module. - updated module resource to return multiple modules. Issue-ID: CPS-1806 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech> Change-Id: I751d9393ce78a3be9daeaff6d0252738c02115e0 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2023-12-11Uplift Guava dependencyhalil.cakal1-2/+3
- upgrade Guava to the latest version to fix critial vulnerability Issue-ID: CPS-1987 Change-Id: I6ea314407133dea229e9626fdf2d9c938f7c7e08 Signed-off-by: halil.cakal <halil.cakal@est.tech>
2023-11-22Make performance tests measure PEAK memory usagedanielhanrahan2-5/+115
Presently, performance tests measure CURRENT memory usage instead of PEAK memory usage, leading to under-reporting if garbage collector runs during a test. This patch fixes it, so that memory reported will now be at least the memory of live objects at that time. - Add tests for ResourceMeter class - ResourceMeter measures peak memory usage instead of current Issue-ID: CPS-1967 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I36e9ea2196420b84877ecabc1b7331c5d3e2e252
2023-11-14CPS Delta API 1: Delta between 2 anchorsArpit Singh4-0/+317
- 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-11-13Adjust performance test timingsdanielhanrahan11-71/+64
New limits for time and memory are based on analyzing 40 previous performance job runs. Test limits are chosen so that individual test cases would pass 95% of the the time. Issue-ID: CPS-1884 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: Iadca27eb1f9482016759070e5afdc70c53f9d043
2023-11-08Use Seconds as time unit for all performance testsseanbeirne12-125/+116
-updated recordAndAssertResourceUsage Issue-ID: CPS-1941 Signed-off-by: seanbeirne <sean.beirne@est.tech> Change-Id: I62f42c7ab396e555d54a7280ebc7da8804045667
2023-10-17Merge "Add memory usage to integration tests [UPDATED]"Toine Siebelink12-201/+273
2023-10-11Expose REST endpoint to update YANG schema set using moduleSetTagsourabh_sourabh2-2/+2
- Added new schema to upgrade model into component. - Modified Ncmp rest input mapper to add upgradedCmHandles attributes. - Modified cm handle state mapper to add new lock reason. - Added new method to parse and upgrade Cm handles in DmiRegistration. - YANG data converter is modified to add "module-set-tag" atribute. - Cm handle new query method is added for cps path without appending ancestor. - Modified setCompositeStateForRetry to add lock reason. - New lock reason category is added. - Existing module sync service is modified to upgrade the model "syncAndCreateOrUpgradeSchemaSetAndAnchor". - Sync util method "getModuleSyncFailedCmHandles" to modified to add another lock reason "LOCKED_MISBEHAVING". - Added new attribute "UpgradedCmHandles" into DmiPluginRegistration and DmiPluginRegistrationResponse. - New attribute "moduleSetTag" is added into NcmpServiceCmHandle. - New model "UpgradedCmHandles" is added. - New method "updateSchemaSetWithExistingModules" is added into cps module service to update cm handle with exsting model. - Code coverage is reducced to 96 percentage that would be addressed and pushed into new patch. Issue-ID: CPS-1798 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech> Change-Id: I540acb404e38fc434de87a0d959bfde710a18b03 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2023-10-11Add memory usage to integration tests [UPDATED]emaclee12-201/+273
Issue-ID: CPS-1753 Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech> Change-Id: I08fd0802f536b8fe333ddbfc9301356095f58171
2023-09-27Uplift Spring Boot to 3.1.2egernug1-1/+1
To align with Ericsson Spring Boot is being uplifted to version 3.1.2 Issue-ID: CPS-1888 Signed-off-by: egernug <gerard.nugent@est.tech> Change-Id: Icfe97df15ab67a7fb25e0a98e4bbbbe91f332321
2023-09-26Merge "CM Data Subscriptions PoC/Performance test fixes"Toine Siebelink1-28/+44
2023-09-26CM Data Subscriptions PoC/Performance test fixesdanielhanrahan1-28/+44
There were some issues in original update test that caused no updates to be written. This fixes those issues and adds verifies the subscriber count. Issue-ID: CPS-1881 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I7b5a5e95bee247d1b1d52f5bc5e8567b8871a659
2023-09-26Rename Subscrption Perf Test class to fit filenameToineSiebelink1-1/+1
Issue-ID: CPS-1881 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: I6b18d13fd8f1f877eb21fee783bc3fc8515a575c
2023-09-25CM Data Subscriptions PoC/Performance testToineSiebelink7-57/+281
- New model introduced in test can be ported to production code - Groovy test around the new use-cases can be used as a guid for actau production code solution - Current worst use-case about 10 secodn son windows laptop. is acceptable as per Requiremenyt of 30 second - TODO: update test limits/expectations based on CI results Issue-ID: CPS-1881 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: I05f3adf7f9cc4d9a9c94a8435a392ed76f9fad66
2023-08-22Merge "Missing test for getDataNodes (ep1)"Luke Gleeson1-0/+14
2023-08-18Missing test for getDataNodes (ep1)Arpit Singh1-0/+14
- there was no test to check the exceptions thrown by getDataNodes Signed-off-by: Arpit Singh <as00745003@techmahindra.com> Change-Id: Ifa1df8ebe83fafba833be14559d94261bca93ef0
2023-08-18CPS-Core : Expose a java interface to update schema setsourabh_sourabh6-5/+107
- Exposed an interface to update anchor by schema set name. - New interface is implemented into RI model. - New native query is exposed to update id with given schema set name. - A new integration test is written to test new interface into cps core. Issue-ID: CPS-1800 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech> Change-Id: Ibf44712e11b53cb6673b04b9e3fd864321c90839 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2023-08-17Update of top-level data node fails with SQL errordanielhanrahan1-0/+11
The error is caused by the fetch-descendants code using ResultSet.getLong which returns a 'long' primitive instead of a 'Long' object. Thus a parent ID of 'NULL' becomes '0', which causes an error during update. To preserve the NULL value, ResultSet.getObject must be used. Issue-ID: CPS-1841 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: Ida6837a04954cd3c23f0f2faabd7d0712d8ee19d
2023-08-15Update performance test timing for warmupdanielhanrahan2-2/+2
Incorrect limit on the warmup results in performance pipeline failing, as the first test that runs must include the time taken to write initial data. Issue-ID: CPS-1811 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I82353fcd5d0904f458808b32f4f01597ba25a688
2023-08-04Update performance test timings for larger datasetdanielhanrahan9-159/+159
- Populate 3 anchors with 1000 openroadm devices nodes for read and query tests (over 250,000 fragments) - Increase update perf tests to update 100 out of 1000 devices - Increase delete perf tests to delete 100 out of 300 devices - Remove bookstore data from performance tests - Update test timings Issue-ID: CPS-1811 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: Iaa36694be907278e772ae729a85510ea9d004fd1
2023-08-03Fix: integration test that is for add and delete top level list elementhalil.cakal1-1/+1
Issue-ID: CPS-1605 Change-Id: Ia6ba73d5e4930bcc547cf24d06c50c681c3a7452 Signed-off-by: halil.cakal <halil.cakal@est.tech>
2023-08-03Merge "Support pagination in query across all anchors(ep4)"Luke Gleeson4-24/+70