aboutsummaryrefslogtreecommitdiffstats
path: root/cps-ncmp-rest/src/test
AgeCommit message (Collapse)AuthorFilesLines
2024-07-01Improve handling of Invalid Operation exceptionToineSiebelink1-10/+14
- MOve to API package - Handle in REST Controller to return BAD REQUEST Issue-ID: CPS-2256 Change-Id: I4f96519aaf2e7f781729c8b8671ea02630a2e0a8 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
2024-06-27repackage 'data' featureToineSiebelink2-11/+11
- moved relevant classes into these (new) packages: api.data.exceptions api.data.models impl.data impl.data.async impl.data.exceptions impl.data.models impl.data.utils utils.events - removed old unused event class - moves some missed inventory related class to the right place Issue-ID: CPS-2256 Change-Id: I75563e063acc0054769d8f2b13146e6c1d1c6054 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
2024-06-27Simplify package structure cps-ncmp-restToineSiebelink5-10/+12
Issue-ID: CPS-2294 Change-Id: Idc3605c1b877be13a8d344875612da6bef791fc7 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
2024-06-26Move TrustLevel FeatureToineSiebelink2-21/+13
-Moved TrustLevel impl from Controller to Inventory Facade -Applied new package name convention using impl\inventory\trustlevel for this (sub)feature -Renamed some trustlevel related classes to better describe their role -Disabled failing architecture test (agreed this is tech. debt and created CPS-2293) -Refactored YangDataConverter method names and signatures (moved Spec to correct place) -Cleaned up names and javadoc of class now called DeviceTrustLevelMessageConsumer -Applied conventions to modified test methods Issue-ID: CPS-2255 Change-Id: Iccd20541488e6b61444bb2c7406c90e61a34124d Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
2024-06-24Repackage Inventory FeatureToineSiebelink6-25/+25
- decided that cm handle queries is part of 'inventory' feature - a lot of files (~100 total) have changes because of some files have been moved. - The reviewers should probably just focus on the MOVED/renamed (~30) files - New packages (top level only): -- org.onap.cps.ncmp.api.inventory -- org.onap.cps.ncmp.impl.inventory -- org.onap.cps.ncmp.impl.models (common models NOT used in API, this was unforeseen) -- org.onap.cps.ncmp.impl.utils - I am NOT updating copyright years as part of this commit since there are no real code changes and it is simply NOT worth the effort TODO: - extend scope to 'TrustLevel' as an 'internal feature' (TBD) Issue-ID: CPS-2255 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: I40b4efc8326068ab9ae1f31b77f46b2fe8579431
2024-06-20Introducing NCMP FacadesToineSiebelink3-127/+54
- NetworkCmProxyDataService was polluted with many non-data operations - it is now split into: 1) NetworkCmProxyFacade, a single thin facade for the (main) controler to redirect calls to the correct services 2) CmHandleRegistrationService(Impl), methods related to registration only - introduced NetworkCmProxyInventoryFacade for the invenoty controller - renamed some services for consitency and clarification - Use facade to acces ncmp data request handlers (instead of direct from controller) - remove unnecesarry wrappings between request handlers and facade - split facades according to names: data & inventory (the REST controllers are not split properly so I think one rest controller will end up needing both facades) Issue-ID: CPS-2263 Change-Id: I250732aa16ec28b43ff642d2adf10ba36f67290e Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
2024-06-17Refactor and Move NCMP Data Request HandlersToineSiebelink4-237/+41
- Simplified NCMP Rest Request Handlers - Moved responsEntity wrapping to Controller so most handler methods can have clear return types - Moved NCMP Rest Request Handlers to Service Layer - Moved related exceptions and utils to Service Layer - Used Lombok for constructors - Improved related testware Issue-ID: CPS-2266 Change-Id: I0025fab1c92e0d613825093b6e4b43dae044c01a Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
2024-06-13 #2: Used async version of web client for single cm handle read operationsourabh_sourabh4-135/+29
- Code change is done to use async web client for single cm handle read data operation. - CpsNcmpTaskExecutor class and groovy test code is removed. - Use of supplier code is removed from cm handle Query service. Issue-ID:CPS-2259 Change-Id: I2b7a36e8a151a9224937afd876fceb30be6a24ce Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2024-06-13 #1: Used async version of web client for batch read operationsourabh_sourabh2-25/+25
- Exposed async version of post method into dmi rest client. - Code change is done to use async web client for batch data operation. - Use of CpsNcmpTaskExecutor code is removed. Issue-ID: CPS-2174 Change-Id: I7840fd8c6d9debe42e50c860f9cf39d64274df72 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2024-05-17Replaced RestTemplate with WebClient in synchronous DMI callssourabh_sourabh1-2/+3
- added DmiWebClientConfiguration - use WebClient in DmiRestClient - fixed unit tests - encode query params for DMI request - added configurable buffer size - Re-used ncmp.dmi.httpclient.maximumConnectionsTotal parameter (as documented in RTD) to control webclient connection poolsize Issue-ID: CPS-2173 Change-Id: I21584563034d58e8ae3ff3cbcf172e0d14b408fb Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2024-05-02Handle error in case of upgrade operationsourabh_sourabh1-9/+13
- Send an error response if cm handle not found for upgrade operation. - Restrict upgrade operation if it is already in progress. Issue-ID:CPS-2204 Change-Id: Iad63732c5b1d2215b06a09ddda1c0c604cd7648c Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2024-04-23[BUG] Make failed async task report failure on Kafka topicdanielhanrahan3-3/+20
- In event of async task timeout, error code 102 (DMI_SERVICE_NOT_RESPONDING) is sent to client topic. - In event of unexpected error (such as database unavailable), error code 108 (UNKNOWN_ERROR) is sent to client topic. - The default timeouts have been adjusted so that the task timeout (60s) is longer than the HTTP and Database timeouts (30s), so that expected codes are returned. Issue-ID: CPS-2186 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I84c3447a625e084c445ab2f5c01e2b32a0c971ac
2024-04-19Temporary dsiable Operation Too Large ExceptionToineSiebelink1-2/+3
- settign limit to 50000 to efftively disable it - ericsson is not ready and wil infrom us when it can be enabled again Issue-ID: CPS-2164 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: Ib1a8308a20bd77fcba9c4c9fc94739d5dd731b1f
2024-04-10Introduce and handle Operation Too Large Exception for batch operationsToineSiebelink2-19/+30
Issue-ID: CPS-2164 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: Iec05d2013be4f971309f0e75d84dc5d0936eb8ef
2024-03-19Fix SonarQube warningsToineSiebelink2-163/+90
targetted: - Introduced CmResourceAddress (name agreed with Daniel and Priyank) - Extracted out private method in AltenateIdChecker to reduce complexity side effects: - use 'record' java feature as suggested by ItelliJ - had to uprade spotbugs version to avoid incorrect warning on 'record' equeals method - convention: added missing 'asserts' in affected testware - my preference: removed a lot of unnecessary linebreaks in affected testware - removed redunfant (variation) of a 'delegation' test Issue-ID: CPS-475 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: Ie0c9d5ebc33196ae14ed6c226843095a2a040d1d
2024-03-13Modify the get cmHandle api to return dataProducerIdentifier, moduleSetTag, ↵JvD_Ericsson1-3/+5
and alternateId (CPS-1964 2) Issue-ID: CPS-2113 Signed-off-by: JvD_Ericsson <jeff.van.dam@est.tech> Change-Id: I672e5c8408e77a5fa15d6fc2f41438aca705484c
2024-03-13Provide support for data producer identifier during registration (CPS-1964 1)JvD_Ericsson1-4/+5
- 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-02-29Add bearer token to NCMP async batch data passthrough (CPS-2126 #4)danielhanrahan1-5/+5
Async processing was not passing bearer token. Issue-ID: CPS-2128 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I75da35cce555c49cca638b68f106a9daba79c24a
2024-02-29Add bearer token to NCMP passthrough operations (CPS-2126 #2)danielhanrahan2-8/+11
For NCMP resource data passthrough operations, accept an authorization header and propagate it to outgoing DMI request if it has a bearer token, otherwise use same behaviour as before Issue-ID: CPS-2128 Change-Id: Ib3bf401abce4221a8b706989fb6f07618aa33fe2 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
2024-02-08Correct use of Spock setup and cleanup methods (no need for @Before @After)ToineSiebelink1-5/+1
- unfortunately we copied the bad test code for logging about 4 times alraedy... - simplified setup for WatchdogSchedulingConfigurerSpec Issue-ID:CPS-465 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: I8d068541263272fdf99a6e30d365d85e31726432
2024-02-07Replace sleep with PollingConditionsJvD_Ericsson2-15/+16
Issue-ID: CPS-1950 Signed-off-by: JvD_Ericsson <jeff.van.dam@est.tech> Change-Id: I0e23c697ef6b5a134295728f352f2dff7be05a62
2024-02-01Extend API: Get Module Definitionshalil.cakal1-28/+74
- 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-18Use PollingConditions to improve intermittent test failureJvD_Ericsson1-10/+18
Set timeOutInMilliSeconds to 100 (default was 0) Issue-ID: CPS-1950 Signed-off-by: JvD_Ericsson <jeff.van.dam@est.tech> Change-Id: I0028f0cd5e5e89d979d4200df77dbd7a42105622
2023-12-18Remove Notification code for updated eventsmpriyank1-2/+1
- 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-13Modify cmHandle registration for alternateIdleventecsanyi1-1/+4
- 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-11-24Fix @Ignore testleventecsanyi1-4/+1
- removed EventPublisherSpec - fixed toDataStores test Issue-ID: CPS-1874 Signed-off-by: leventecsanyi <levente.csanyi@est.tech> Change-Id: I857c7bcb0aa52604da6692545456769a4ec151ec
2023-11-06Step 1 and 2 of release processmpriyank1-2/+2
- Sync the openapi docs and the release notes - Also commenting a test scenario coz of unrelated failure. will be fixed later Issue-ID: CPS-1949 Change-Id: I27c955e569acdfe1f699f345fa583f7bce95e76a Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2023-11-02Initial Registration with trustLevel on NCMPseanbeirne1-8/+10
- Updated NcmpServiceCmHandle class to include registration trustLevel Issue-ID: CPS-1902 Signed-off-by: seanbeirne <sean.beirne@est.tech> Change-Id: I7c97928f5cdd82f3036a57ea5f0c149e2872f4f1
2023-10-25Update return body of RestOutputCMHandleemaclee1-95/+107
Issue-ID: CPS-1869 Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech> Change-Id: I946db9e6785fc50775d1c5ff18e7462e8bad9af6
2023-10-19Code coverage: Update YANG schema set using moduleSetTagsourabh_sourabh1-8/+11
- 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-11Expose REST endpoint to update YANG schema set using moduleSetTagsourabh_sourabh2-9/+9
- 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_sourabh1-12/+12
-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-25Refactoring persistence classessourabh_sourabh2-29/+30
- 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-22Reinstate Spring Boot 3.0 after revertegernug2-1/+3
Issue-ID: CPS-1789 Signed-off-by: egernug <gerard.nugent@est.tech> Change-Id: Iee5c514ccdba36a387f83948d8a3ba26e6b1de5b
2023-09-18Set lock state and reason upon requestleventecsanyi2-5/+5
- 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-07-21Increase timeout for PollingConditionsegernug1-2/+2
Test failing due to timing issues. Increasing timeout to rectify. Issue-ID: CPS-475 Signed-off-by: egernug <gerard.nugent@est.tech> Change-Id: I89b512809922470f10940fcdd739f057b8f9c80e
2023-07-20Refactor ncmp request handlers (fix async issue)ToineSiebelink4-68/+240
- simplified request handlers (sub)classes (no more need for default interface) - fix issue with async execution of data operation requests (wasn't really async) - removed redundant (unreachable) check in production code - Improved code coverage (branches) ncmp request handlers added UNIT test - removed MVC test scenarios now covered by appropriate unit level tests - applied Spock Polling Condition for verifying async call Issue-ID: CPS-475 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: Ibe601c709de65080fa8898f2419fdbd92c5ba27d
2023-07-11Combine alreadyDefinedException classesdanielhanrahan1-10/+9
Issue-ID: CPS-1774 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I52ff9074a9f8188e8635a811b0d2713a97cb4b10
2023-06-22NCMP : Replacing the word 'Batch' as 'DataOperation'.raviteja.karumuri2-40/+41
Issue-ID: CPS-1754 Signed-off-by: raviteja.karumuri <raviteja.karumuri@est.tech> Change-Id: Ie9f56effb160582ba7177331fb6260b2bde2342b
2023-05-25NCMP: Update existing Batch endpoint (Moving url param into rest body)sourabh_sourabh2-23/+75
- NCMP batch endpoint is updated to accept details into request payload. - Removed unused code of previous impl. Issue-ID: CPS-1635 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech> Change-Id: Ic290b750557da06b861c5a4a9bb12debc495ec2e Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2023-05-09NCMP: Delete DatastoreType enum from cps-ncmp-restsourabh_sourabh1-3/+3
- Delete duplicate enum of datastore - Use datastore from cps-ncmp-service Issue-ID: CPS-1635 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech> Change-Id: I36484d6a327c81d81741b18a932fc6a1febfc520
2023-05-03Refactor datatrore handling in API requestsToineSiebelink3-112/+63
- Fully parameterized datastore(name) - Improved controler testing to verify all parameter handling - Simplified service inject (alwasy using contructors instead of @AutoWire) - Added delay to fix isuse with intermitting failign test that tests invocation of a method that is executed on a separate thread Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: Iba5d118d2484badee9c7c90ec7694882f6557d16
2023-04-27CPS-1553 :REST endpoint to accept collection of cm handles for GET operationsourabh_sourabh2-50/+93
-Introduced an interface having all un-implemented or default defination of any method that is further extended or implemented by abstract or stubbed controller. -Exposed an endpoint to accept bulk request -Modified an existing methods for more readability. (Parameterized datasource for ... methods) -Code impl. for getResourceDataFromDmi method to send bulk request to new proposed dmi-plugin endpoint that would accept bulk request. -We need to investigate a groovy test that fails only into onap CICD pipeline. For now it's commented out by added TODO tag. (org/onap/cps/ncmp/rest/controller/NetworkCmProxyControllerSpec.groovy:205) Issue-ID: CPS-1553 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech> Change-Id: Ieac39690956e3a0eab41068db57c5d93a16d04f0 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2023-04-03500 Error Response on NCMP ID-Searches Testingseanbeirne1-1/+43
Issue-ID: CPS-1563 Signed-off-by: seanbeirne <sean.beirne@est.tech> Change-Id: Idc393e90d31b369095bc2b122537e17a4464a364
2022-12-01Filter on private properties of CM Handlesleventecsanyi2-1/+49
- Moved cm handle query validation to cps-ncmp-service (where it belongs!) - Added new enum type for private/public field types - Created new methods for private and public queries - Added new REST endpoint - Created service methods for filtering on different types of properties - Refactored getPublicPropertyPairs and queryCmHandleAnyProperties - Added unit test for the controller layer - Fixed refactoring suggestions - Imporved code coverage with unit tests - Refactoring - Added new functionality to NcmpRestInputMapper - Updated version number to 3.2.1-SNAPSHOT and updated release-notes.rst Issue-ID: CPS-1236 Change-Id: I0ddf6866473f7c3c6b8507d222d441bf97ca6bdc Signed-off-by: leventecsanyi <levente.csanyi@est.tech>
2022-11-15Query data NCMP-Operational with CPSpathlukegleeson3-20/+85
New GET Endpoint: /v1/ch/{cm-handle}/data/ds/{ncmp-datastore-name}/query?cps-path={CPSPath} Implemented error for {ncmp-datastore-name} other than operational - (Toine) Refactored and renamed (abstract) handler for better re-use Mainly by introducing a separate handler for OperationalQuery Reviewers Toine, Sourabh, Priyank Issue-ID: CPS-1002 Signed-off-by: lukegleeson <luke.gleeson@est.tech> Change-Id: Iaca018869d95d4ce800072431baa190050a6dad0
2022-10-19Improve code coverageleventecsanyi1-1/+6
- Fixed and refactored unit test to get over the 97% coverage baseline. - Removed unused exception. Issue-ID: CPS-475 Change-Id: I6dbcba58b880a584f6d9346e2aca6c763e5d2081 Signed-off-by: leventecsanyi <levente.csanyi@est.tech>
2022-10-17Fix SonarQube Violationsleventecsanyi1-1/+0
- Fixed SonarCube issue: added private constructor to TopicValidator and a unit test. Issue-ID: CPS-475 Change-Id: I4379522f023f32c8999a3ee595392bfbab147050 Signed-off-by: leventecsanyi <levente.csanyi@est.tech>
2022-09-13Handle partial failure (improvements)ToineSiebelink1-8/+12
- catching of failures on retry of individual nodes - extract cm handle id from xpaths (can only report xpaths in cps core) - add test for same Issue-ID: CPS-1232 Issue-ID: CPS-1126 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: Ice2032c8b15fea97ae0aaa4d1ed642b3499228fa
2022-09-07Handle invalid operations on merged datastore endpointbmiklos1-19/+44
- Move the other endpoints under the same thats handling the get - Add exceptions to handle invalid cases - Add new tests for testing the invalid cases Issue-ID: CPS-1001 Issue-ID: CPS-1219 Change-Id: I26fd57b5921f976cde7089b4cf1e8c0e5d8dc43b Signed-off-by: bmiklos <miklos.baranyak@est.tech>