aboutsummaryrefslogtreecommitdiffstats
path: root/integration-test/src/test/groovy/org
AgeCommit message (Collapse)AuthorFilesLines
2024-03-28[BUG] Mock DMI will respond to Health Checks during testsdanielhanrahan4-30/+42
Health Check for DMI is sometimes running during integration tests, causing the mockDmiServer to fail due to unexpected Rest requests. As a fix, the mock DMI will respond to health checks. Issue-ID: CPS-2167 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: Ie4a0059583e66dfcc00e1aa998671a662ccf053a
2024-03-26Merge "Code review cleanup for: Add kafka messaging support to integration ↵Lee Anjella Macabuhay2-12/+15
test module"
2024-03-25Code review cleanup for: Add kafka messaging support to integration test modulehalil.cakal2-12/+15
- Address code review on commit which already merged https://gerrit.onap.org/r/c/cps/+/137496 Issue-ID: CPS-2152 Change-Id: I7a46dd08c919227c37fdeacf4763d0ab364c88c1 Signed-off-by: halil.cakal <halil.cakal@est.tech>
2024-03-25Merge "Save new cm notification subscription"Priyank Maheshwari1-0/+46
2024-03-22Save new cm notification subscriptionemaclee1-0/+46
Issue-ID: CPS-2043 Change-Id: If1c066a7d1c1f7e1c154714fe06f2566b727634c Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech>
2024-03-19Merge "Add kafka messaging support to integration test module"Toine Siebelink2-4/+26
2024-03-19Add kafka messaging support to integration test modulehalil.cakal2-4/+26
- add ncmp test using kafka to integration test suite Issue-ID: CPS-2152 Change-Id: Ia486bbcf1590ecf3ec6cbc2f513b74d55e4d6a31 Signed-off-by: halil.cakal <halil.cakal@est.tech>
2024-03-14Merge "Performance tests of alternate-id/module-set-tag lookup"Toine Siebelink5-40/+161
2024-03-13Provide support for data producer identifier during registration (CPS-1964 1)JvD_Ericsson1-1/+1
- Added support for the dataProducerIdentifier to be added, and updated from blank to something once - The dataProducerIdentifier is persisted in the DB Issue-ID: CPS-2105 Signed-off-by: JvD_Ericsson <jeff.van.dam@est.tech> Change-Id: I1c230be8f9402154a761e8c2ba4d8a6331965b3c
2024-03-08Performance tests of alternate-id/module-set-tag lookupdanielhanrahan5-40/+161
- Add some tests of CPS get/query operations comparing look up of cm-handle id vs alternate-id - Add test of querying all CM handles by module-set-tag - Test accuracy is improved by performing warmup operations (reported results are faster with more warmup iterations) Issue-ID: CPS-2087 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I4214e157ccf93f751c69b8a17d55f4185749ca90
2024-03-06Merge "Test of retry of failed module sync"Toine Siebelink3-18/+78
2024-03-05Integration test of Bearer Token pass-through (CPS-2126 #5)danielhanrahan2-1/+131
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-27Test of retry of failed module syncdanielhanrahan3-18/+78
A new integration test verifies that LOCKED handles that failed module sync will be retried after a few minutes. Issue-ID: CPS-2033 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: If194daeb315090f2710a017270875b6301f7140a
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 & moduleSetTagdanielhanrahan4-148/+381
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 moduledanielhanrahan2-0/+157
- 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 classesdanielhanrahan3-168/+13
- 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-12Fix test failure by ordering leaf-listsdanielhanrahan2-9/+35
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.cakal7-36/+59
- 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 Siebelink1-26/+74
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 Singh1-26/+74
- 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 Macabuhay5-27/+27
2024-01-10Enable hibernate write batchingdanielhanrahan5-27/+27
- 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 Siebelink1-1/+1
2023-12-14Update Model to allow Persisting of alternateIdleventecsanyi1-1/+1
- 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 usagedanielhanrahan1-0/+83
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 Singh2-0/+114
- 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 timingsdanielhanrahan10-69/+62
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 testsseanbeirne11-123/+114
-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 Siebelink11-201/+203
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]emaclee11-201/+203
Issue-ID: CPS-1753 Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech> Change-Id: I08fd0802f536b8fe333ddbfc9301356095f58171
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