Age | Commit message (Collapse) | Author | Files | Lines |
|
- 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
|
|
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
|
|
-updated recordAndAssertResourceUsage
Issue-ID: CPS-1941
Signed-off-by: seanbeirne <sean.beirne@est.tech>
Change-Id: I62f42c7ab396e555d54a7280ebc7da8804045667
|
|
|
|
- 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>
|
|
Issue-ID: CPS-1753
Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech>
Change-Id: I08fd0802f536b8fe333ddbfc9301356095f58171
|
|
|
|
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
|
|
Issue-ID: CPS-1881
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
Change-Id: I6b18d13fd8f1f877eb21fee783bc3fc8515a575c
|
|
- 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
|
|
|
|
- there was no test to check the exceptions thrown by getDataNodes
Signed-off-by: Arpit Singh <as00745003@techmahindra.com>
Change-Id: Ifa1df8ebe83fafba833be14559d94261bca93ef0
|
|
- 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>
|
|
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
|
|
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
|
|
- 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
|
|
Issue-ID: CPS-1605
Change-Id: Ia6ba73d5e4930bcc547cf24d06c50c681c3a7452
Signed-off-by: halil.cakal <halil.cakal@est.tech>
|
|
|
|
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>
|
|
|
|
-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>
|
|
Issue-ID: CPS-1811
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: Ic87bcb1847b97a0e8c59b2e3636e9ccd66f814ae
|
|
-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>
|
|
|
|
|
|
Some operations were previously limited to 32,768 parameters,
such as getDataNodesForMultipleXpaths. After this limit was lifted,
the tests only verified that database exceptions were not thrown.
This commit improves the tests by verifying that the operations
return or delete the expected data.
- Create 33,000 data nodes
- Verify that getDataNodesForMultipleXpaths returns 33,000 nodes
- Verify than deleteDataNodes deletes 33,000 nodes
Issue-ID: CPS-1811
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I7029ea0cf1d4e95c5ca814ca62c222fc5b9ddc7e
|
|
|
|
- getDataNodes can now retrieve list data nodes.
Issue-ID: CPS-1696
Signed-off-by: arpitsingh <as00745003@techmahindra.com>
Change-Id: I320a368d6cb73599d3f7c13fe9b8ab7d0cc69470
|
|
|
|
- Removed list named invoice from all bookstore files
- Added a new parent list as bookstore-address
- Refactored tests
Issue-ID: CPS-1813
Signed-off-by: Arpit Singh <as00745003@techmahindra.com>
Change-Id: I5c7e83e1ee0ad9ac1d94d1906c2361c7a00d49af
|
|
- Add perf test for openroadm (linear time)
- Add perf test for bookstore (exponential time!)
Issue-ID: CPS-1811
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I9c1772a9e9684707f2dbb32b2c361ec248fb1c60
|
|
Issue-ID: CPS-1811
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I183129bb5b0a2d620b87e9b36f3113fe8e169798
|
|
Issue-ID: CPS-1811
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: Ifae635f45d8ec1990452ade958253972fde68415
|
|
CPS POM is setup so that only files ending in 'Spec' or 'Test' are
run as tests, and files ending in 'PerfTest' will only run in the
'include-performance' profile. The 32K limit tests are currently
being skipped always, as they do not end in 'Spec', 'Test', or
'PerfTest'. This commit renames them to PerfTest.
Issue-ID: CPS-1811
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I75a4ae92edf324213f734503c23dedb2b31fd007
|
|
|
|
|
|
Apostrophe is not currently handled correctly, and having apostrophe in
the xpath will lead to various errors.
For example, normalizing this xpath works:
/path[@name="I'm quoted"] -> /path[@name='I\'m quoted']
However the resulting xpath will throw a PathParsingException if parsed!
(Thus path normalization is not idempotent.)
- Use '' for escaping apostrophe in single quoted leaf value,
to comply with XPath standard (and use "" for escaping in ").
- Use Liquibase to make existing data comply with new rules.
- Leaf values in data leaves are now unescaped, e.g. "I'm quoted"
- Quoting is now consistent for leaf/text/contains conditions.
Issue-ID: CPS-1769
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: Iafc287f738254d7f99706c6bc548091c0ecd5aa0
|
|
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>
|
|
Presently, a query using the same leaf name twice will fail:
//books[@price > 10 and @price < 20]
It is caused by storing data leaves in a Map.
This is fixed by storing data leaves in a List<DataLeaf>.
Issue-ID: CPS-1779
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: Ie6990ea5e622cf37e986b720a0a07fb69ce4f03b
|
|
Issue-ID: CPS-1774
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I52ff9074a9f8188e8635a811b0d2713a97cb4b10
|
|
This fixes issues with special characters for CPS-500, CPS-1756,
CPS-1758, and CPS-1760. It also improves query performance.
- use SQL LIKE instead of regex in Cps Path queries
Issue-ID: CPS-1763
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I5c179882bfba71d3b009c60059e9073f46227e7d
|
|
If '%' and '_' are used in the contains-condition of a CpsPath query,
incorrect results will be returned. For example:
/bookstore/categories[contains(@code, "%")]
Special characters in the contains-condition value must be escaped.
Issue-ID: CPS-1762
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I2fdd5a26433d510cd7d6af5b734a6779b537d63d
|
|
|
|
Issue-ID: CPS-1673
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: Ia2e5bf557bf2ade98fba64b7923856f727049d84
|
|
Data nodes are being saved with non-normalized xpaths, resuling in
data nodes that cannot be operated on. This affects all operations
including get, query, update, and delete.
Issue-ID: CPS-1765
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I5352182d79daec67805753ca5943b1a86c18159f
|
|
Avoid fetching descendants during batchUpdateDataLeaves,
as descendants are not needed:
- Remove prefetch descendants step from getFragmentEntities;
- Explicitly prefetch descendants in operations requiring it;
- Update performance tests (5x faster for batch update).
Issue-ID: CPS-1675
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I7442a6f799cc0803b3a78f09d1ee53377f24b0b7
|
|
Issue-ID: CPS-1675
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I4dcd2ff0d0f6c3acf7373357da0ef7217a691573
|
|
The fixes to lower memory usage in FragmentRepository have
positively affected read performance, so tests must be updated.
Issue-ID: CPS-1716
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I2c8b882f56fb8c1eaefe5b802da1d308d16b1f02
|
|
- Moved session manager test
- Improved schemaset concurrency test (retry testing)
- Cleaned up all ri (container based) integration test (setup)
- Applied some groovy best practice where needed
- internal ri module cover now down to 29%, covred by integration instead with
- Line coverage up by 41 lines to 99% (was 97%)
- Branch coverage up by 3 branches to 96% (was 93%)
Issue-ID: CPS-1687
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
Change-Id: Ifb77a053e5a5db62a3f6a32ae60a3a8b10918efd
|
|
- Moved all Data Intergation Test
- Added/improved some module Moudle Servcie test too
- Removed some unused (impossible) code-paths in prod code
- Replaced null's with meaningful strings (in edge case scenarios)
- Replaced @Shared with static (shorter) in some test
Issue-ID: CPS-1687
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
Change-Id: Ib4b1ec1706ace7e3f5ac03d85177a6f7d4f6b8d0
|