summaryrefslogtreecommitdiffstats
path: root/cps-ncmp-service/src/test
AgeCommit message (Collapse)AuthorFilesLines
2024-01-17Create datastores for NCMP w/subscription modelemaclee3-9/+40
Issue-ID: CPS-2035 Change-Id: I80234c7ca93c5774ee50082803cdc102f693a5a7 Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech>
2024-01-11Create tests for EventPublisher error scenariosJvD_Ericsson1-0/+120
- Added tests for error scenarios - Added tests for expected scenarios Issue-ID: CPS-1978 Signed-off-by: JvD_Ericsson <jeff.van.dam@est.tech> Change-Id: I6ba19ac456098f074e634f7cf70fdc141491c635
2024-01-10Merge "Remove inefficient saveListElementsBatch API"Lee Anjella Macabuhay1-5/+5
2024-01-10Introduce cmSubscriptionEventCachempriyank1-0/+64
- inmemory datastructure to keep track of the ongoing subscriptions - Test cases to cover cache config and sample data test - Use of cache will be in other patchsets after this Issue-ID: CPS-2022 Change-Id: Ic6cd22cceaeacb9c7184f42c1ebfac28303f2c26 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2024-01-09Remove inefficient saveListElementsBatch APIdanielhanrahan1-5/+5
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-08Allow updating of cmHandles with an alternateIdleventecsanyi1-3/+59
- added methods to update alternate id - fixed unit tests - added new unit test for coverage Issue-ID: CPS-1986 Change-Id: I9ef717c5f2c405482e0a5bb70f94f465ba1ff64f Signed-off-by: leventecsanyi <levente.csanyi@est.tech>
2023-12-21Deprecate use of basic subscription modelseanbeirne16-22/+24
- Deprecate json files in resources Issue-ID: CPS-1973 Signed-off-by: seanbeirne <sean.beirne@est.tech> Change-Id: I3bf59807f740e3e6f19af0cf0d418edb4f961328
2023-12-20Updating config variable names for HttpClientwaqas.ikram1-5/+5
for DMI Issue-ID: CPS-2016 Change-Id: Ief5428e6e4afc8309ceed2a8221365e2fab31686 Signed-off-by: waqas.ikram <waqas.ikram@est.tech>
2023-12-19Deprecate use of basic subscription modelemaclee1-3/+3
- Checked all subscription related files and Removed use of basic subscription model as much as possible that will not break the entire code, other files still has references on it but will and shall be removed on further implementation of the subscription epic story - Created new YangModel Event (YangModelCmDataSubscriptionEvent.java)for the new model as changing the old one affects many files Issue-ID: CPS-1973 Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech> Change-Id: I7d3866780261110d3bb71c4807f39edc2703d0dc
2023-12-18Remove the dependency-cycle between beansToineSiebelink6-40/+46
- 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-18Enhancing the REST template with HttpClient5waqas.ikram3-6/+62
for better performance and allowing users to configure timeouts as per their requirements Issue-ID: CPS-1994 Change-Id: I9fa94fb3923a50e33b3850ec0f190a51e278698f Signed-off-by: waqas.ikram <waqas.ikram@est.tech>
2023-12-18Merge "Update Model to allow Persisting of alternateId"Toine Siebelink1-3/+3
2023-12-14Moving and Renaming eexisting subscription implemaclee9-16/+16
-renamed the existing subscription related packages to have 'deprecated' on its name as this shall be removed with new implementation of the subscription positive cases - replaced the existing schemas with the new ones Issue-ID: CPS-1991 Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech> Change-Id: I8f27861b80756540477e03971c53219ea589975c
2023-12-14Update Model to allow Persisting of alternateIdleventecsanyi1-3/+3
- 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-14Merge "Modify cmHandle registration for alternateId"Toine Siebelink4-56/+9
2023-12-13Introduce Schema Set upgrade methodsourabh_sourabh2-11/+28
- 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-13Modify cmHandle registration for alternateIdleventecsanyi4-56/+9
- added alternate id to the interface for persisting the new value - updated unit tests to validate the new field Issue-ID: CPS-1985 Signed-off-by: leventecsanyi <levente.csanyi@est.tech> Change-Id: I81e61f2ea2ecc5d8c0938af00fa81a99e27e2e23
2023-12-11Uplift Guava dependencyhalil.cakal1-3/+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-12-06[BUG] Dminame to valid topic suffixmpriyank1-0/+16
- dmi name can be in the form of URL , and we are using dmi-name as topic suffix , which results in the invalid topic name. - fix to extract out domain name excluding port from the url - test case for the same - updated the documentation - fix only supports ipv4 addresses at the moment Issue-ID: CPS-1979 Change-Id: I9c6ea113afae816f727b45a30c94070af013a16d Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2023-11-29Fix the algorithm for device trust levelhalil.cakal3-34/+79
- Add new method to handle device trust level changes in trust level manager - Change algorithm to find effective trust level for each use case - Separate responsibilities of each function - Change device heartbeat consumer accordingly Issue-ID: CPS-1910 Change-Id: I228f82955b224dc4ebfd1b305082e06aac6008d2 Signed-off-by: halil.cakal <halil.cakal@est.tech>
2023-11-29Merge "Publish trust level notification event"Toine Siebelink9-64/+189
2023-11-28Publish trust level notification eventJvD_Ericsson9-64/+189
- Add mapper that maps attribute value change event to cloud event - Add publisher that publish the cloud event from ncmp to client - Handle notifications for the uses cases below - Initial registration case - Device heart beat consumer case - Dmi status changes within dmi watchdog case - Added tests for mapper, publisher, and trustLevelManager - Added test for dmi watchdog Issue-ID: CPS-1910 Signed-off-by: JvD_Ericsson <jeff.van.dam@est.tech> Change-Id: I7c0798346a221e703da58902b9d631115de8d91a Signed-off-by: halil.cakal <halil.cakal@est.tech> Signed-off-by: JvD_Ericsson <jeff.van.dam@est.tech>
2023-11-24Fix @Ignore testleventecsanyi1-89/+0
- removed EventPublisherSpec - fixed toDataStores test Issue-ID: CPS-1874 Signed-off-by: leventecsanyi <levente.csanyi@est.tech> Change-Id: I857c7bcb0aa52604da6692545456769a4ec151ec
2023-11-23Retry for yang module upgrade operationsourabh_sourabh5-49/+70
- Added retry code for yang module upgrade failed Issue-ID: CPS-1802 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech> Change-Id: Ida68d45f926ed48b92f4b5a3b82e641d778303ce Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2023-11-23Merge "Onboard merge subscriptions model"Priyank Maheshwari4-14/+14
2023-11-21Onboard merge subscriptions modelemaclee4-14/+14
-Add new model in subscription -Update unit tests for uploading models using modelLoader -Modify abstract model loaders to handle more than one yangResource in creating schema set -Modifying use of the basic subscription model to the new model will be on a seperate commit Issue-ID: CPS-1928 Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech> Change-Id: I5805ab8c721e8a63726fd210379e815b84b387a3
2023-11-14Trust level updates with dmi status changehalil.cakal4-102/+90
- Change dmi watchdog to store Trustlevel for each DMI - Corrected query algorithm for TrustLevel Queries Issue-ID: CPS-1907 Change-Id: I7ca25db8edfd25b72bcda48e4fde1d9be5c56dc0 Signed-off-by: halil.cakal <halil.cakal@est.tech>
2023-11-13Add DMI trustlevel at registrationseanbeirne2-5/+11
-Re-introduce trustLevelPerDmiPlugin to registration process Issue-ID: CPS-1902 Signed-off-by: seanbeirne <sean.beirne@est.tech> Change-Id: Ic3f154aca60c3e1244ff4fd9a4c4865964884b31
2023-11-02Handling Yang module upgrade error scenariossourabh_sourabh2-2/+36
- cm handle not ready, not found , invalid id Issue-ID: CPS-1802 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech> Change-Id: I2039faa44abbda17237e7c2dc085b4ac775c2039 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2023-11-02Initial Registration with trustLevel on NCMPseanbeirne1-8/+24
- Updated NcmpServiceCmHandle class to include registration trustLevel Issue-ID: CPS-1902 Signed-off-by: seanbeirne <sean.beirne@est.tech> Change-Id: I7c97928f5cdd82f3036a57ea5f0c149e2872f4f1
2023-10-23Introduce and use new Hazelcast map pt. 2sourabh_sourabh13-70/+150
- modified ModuleSyncService - created ModuleSetTagCacheConfig and tests - ensure both Create and Upgrade cm Handle use cases work - Moved inventory pkg to its right patha as production code. Issue-ID: CPS-1859 Signed-off-by: leventecsanyi <levente.csanyi@est.tech> Change-Id: I173dcd81fe2e74d86d85365b2ead461302cad974 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2023-10-19Code coverage: Update YANG schema set using moduleSetTagsourabh_sourabh4-13/+99
- Code coverage is increased to 98. - New groovy test is added to cover new code. Issue-ID: CPS-1798 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech> Change-Id: Ia979be3f43ec8e4bbf6f8cb66a8a5e748118f19b Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2023-10-16Merge "Add withTrustLevel condition to CmHandle Query API"Toine Siebelink9-84/+168
2023-10-12Add withTrustLevel condition to CmHandle Query APIhalil.cakal9-84/+168
- Change untrustworthyCmHandleSet with trustLevelPerCmHandleMap - Change trust level cache config accordingly - Change device heartbet consumer accordingly - Add json schema for device trust level - Add with_trust_level enum into cm handle query conditions - Add query cm handle by trustlevel function to cm handle queries - Add query cm handle by trustlevel service to network cm proxy cm handle service - Add unit tests and fix code smells Issue-ID: CPS-1864 Change-Id: Ie214f0713cef779307d3379df81e2b95115b6d6d Signed-off-by: halil.cakal <halil.cakal@est.tech>
2023-10-11Expose REST endpoint to update YANG schema set using moduleSetTagsourabh_sourabh10-34/+53
- 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-10Conflicting Error codesourabh_sourabh5-76/+76
-Used common error codes for NCMP responses Issue-ID: CPS-1904 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech> Change-Id: Id2beaa9f3d49dffd0a193b05fbaa7a6dd801e34a Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2023-09-26Introduce and use new Hazelcast map for module set tagleventecsanyi2-5/+32
- added new IMap for moduleSetTags, updated SynchronizationCacheConfigSpec - updated deployment.rst Issue-ID: CPS-1859 Signed-off-by: leventecsanyi <levente.csanyi@est.tech> Change-Id: I5233c5150fd784974d7c1e5ba387119c1eaba194
2023-09-25Refactoring persistence classessourabh_sourabh29-170/+228
- Created a common ncmppersistence pkg inside ncmp service "api/impl" pkg". - Move "inventery" into "api/impl" pkg. - Created common class named as "NcmpPersistence" inside "ncmppersistence" pkg. - Move all the commin constants and methods into "NcmpPersistence". - SubscriptionPersistence and InventoryPersistence extends "NcmpPersistence". - Find and replace all the constants of NCMP. Issue-ID: CPS-1883 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech> Change-Id: Id3e678109766d680589fa7aab965ea251a55f075 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2023-09-25Merge "Reinstate Spring Boot 3.0 after revert"Toine Siebelink2-1/+4
2023-09-25Merge "Add DMI to TrustLevel Cache During Registration"Priyank Maheshwari2-6/+13
2023-09-22Reinstate Spring Boot 3.0 after revertegernug2-1/+4
Issue-ID: CPS-1789 Signed-off-by: egernug <gerard.nugent@est.tech> Change-Id: Iee5c514ccdba36a387f83948d8a3ba26e6b1de5b
2023-09-21Add DMI to TrustLevel Cache During Registrationseanbeirne2-6/+13
Issue-ID: CPS-1861 Signed-off-by: seanbeirne <sean.beirne@est.tech> Change-Id: I1e71b78eec9e2a9f536f82ef1ba5a9933ca2bf6b
2023-09-21Merge "Set lock state and reason upon request"Toine Siebelink8-36/+83
2023-09-20Revert "Migrate CPS to Spring-boot 3.0"Toine Siebelink2-4/+1
This reverts commit 9693ec51cf6526082f0ad0c3ad208d144cbbb163. Reason for revert: Bug fix delivery Change-Id: I73bdc1528192c662983b0bbef73b10b6d612a719 Signed-off-by: egernug <gerard.nugent@est.tech> Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
2023-09-18Set lock state and reason upon requestleventecsanyi8-36/+83
- added new LockReasonCategories and improved SyncUtils.isReadyForRetry - refactored logic aroudn retry times - refactored unit tests Issue-ID: CPS-1860 Signed-off-by: leventecsanyi <levente.csanyi@est.tech> Change-Id: I4382d6ad1fa0a7d9dacb8c8281b0458a5afc0375
2023-09-18Merge "Migrate CPS to Spring-boot 3.0"Toine Siebelink2-1/+4
2023-09-14Migrate CPS to Spring-boot 3.0egernug2-1/+4
Issue-ID: CPS-1789 Signed-off-by: egernug <gerard.nugent@est.tech> Change-Id: I932fca8a50cedf2ae0604401c5e2b27896e4d449
2023-09-04Dmi plugin watchdog cheking alivenesshalil.cakal4-2/+121
- Add capability of GET request into DmiRestClient - Add watchdog job to check aliveness of dmi plugins - DmiPluginStatus enum as UP or DOWN - Add unit tests for the new function in dmi rest client - Add unit tests for dmi watchdog Issue-ID: CPS-1856 Change-Id: Ic38a96f0485a0bfe1b6af5bb2f57f6119d8fa563 Signed-off-by: halil.cakal <halil.cakal@est.tech>
2023-08-31Merge "Hazelcast cache config stroring trust level per dmi plugin"Priyank Maheshwari1-0/+87
2023-08-31Hazelcast cache config stroring trust level per dmi pluginhalil.cakal1-0/+87
- Add Hazelcast cache config to store trust level per dmi plugin Issue-ID: CPS-1855 Change-Id: Ibe7f8393008ca7352aacddba99ecd19d6e1eb326 Signed-off-by: halil.cakal <halil.cakal@est.tech>