diff options
author | kissand <andras.zoltan.kiss@est.tech> | 2022-05-12 15:59:18 +0200 |
---|---|---|
committer | kissand <andras.zoltan.kiss@est.tech> | 2022-06-08 09:46:28 +0200 |
commit | e9ed581de0a6090c513e6fca0052b69396cb3cc8 (patch) | |
tree | ea66ec265e0544cf0037e9fe2969a5f017d9ad45 /csit | |
parent | 002fb164cde7079cb3cac65a14b74fec9588ddc5 (diff) |
Merge 2 'query' end points in NCMP
- merge two endpoint for a same backend
- use xPath query instead of sql query
- modify searches endpoint to return a cmHandle object with all public
properties
- handle old (deprecated) queries
- handle public property queries
- create useful examples
- use more verbose error messages
- simplify openapi yamls
- create new query service
- change second endpoint name to a better matched name
- modify legacy tests with new requirements
- create new tests for the new scenarios
Issue-ID: CPS-1016
Change-Id: I7476e9dbd510ec93b5b48ce85d477ecb2dadffff
Signed-off-by: kissand <andras.zoltan.kiss@est.tech>
Diffstat (limited to 'csit')
-rw-r--r-- | csit/plans/cps/testplan.txt | 2 | ||||
-rw-r--r-- | csit/tests/cm-handle-query/cm-handle-query.robot (renamed from csit/tests/public-properties-query/public-properties-query.robot) | 21 |
2 files changed, 16 insertions, 7 deletions
diff --git a/csit/plans/cps/testplan.txt b/csit/plans/cps/testplan.txt index d4615e7010..c0cf4512dd 100644 --- a/csit/plans/cps/testplan.txt +++ b/csit/plans/cps/testplan.txt @@ -21,4 +21,4 @@ cps-admin cps-data cps-model-sync ncmp-passthrough -public-properties-query
\ No newline at end of file +cm-handle-query
\ No newline at end of file diff --git a/csit/tests/public-properties-query/public-properties-query.robot b/csit/tests/cm-handle-query/cm-handle-query.robot index 3a640871b9..3adc25362c 100644 --- a/csit/tests/public-properties-query/public-properties-query.robot +++ b/csit/tests/cm-handle-query/cm-handle-query.robot @@ -32,20 +32,29 @@ Suite Setup Create Session CPS_URL http://${CPS_CORE_HOST}:${C ${auth} Basic Y3BzdXNlcjpjcHNyMGNrcyE= ${ncmpBasePath} /ncmp/v1 -${jsonMatchingQueryParameters} {"publicCmHandleProperties": {"Contact" : "newemailforstore@bookstore.com", "Contact2" : "storeemail2@bookstore.com"}} -${jsonMissingPropertyQueryParameters} {"publicCmHandleProperties": { "" : "doesnt matter"}} +${jsonModuleAndPropertyQueryParameters} {"cmHandleQueryParameters": [{"conditionName": "hasAllModules", "conditionParameters": [ {"moduleName": "iana-crypt-hash"} ]}, {"conditionName": "hasAllProperties", "conditionParameters": [ {"Contact": "newemailforstore@bookstore.com"} ]}]} +${jsonEmptyQueryParameters} {} +${jsonMissingPropertyQueryParameters} {"cmHandleQueryParameters": [{"conditionName": "hasAllProperties", "conditionParameters": [{"" : "doesnt matter"}]}]} *** Test Cases *** -Retrieve CM Handles where query parameters Match - ${uri}= Set Variable ${ncmpBasePath}/data/ch/searches +Retrieve CM Handle ids where query parameters Match (module and property query) + ${uri}= Set Variable ${ncmpBasePath}/ch/id-searches ${headers}= Create Dictionary Content-Type=application/json Authorization=${auth} - ${response}= POST On Session CPS_URL ${uri} headers=${headers} data=${jsonMatchingQueryParameters} + ${response}= POST On Session CPS_URL ${uri} headers=${headers} data=${jsonModuleAndPropertyQueryParameters} + ${responseJson}= Set Variable ${response.json()} + Should Be Equal As Strings ${response.status_code} 200 + Should Contain ${responseJson} PNFDemo + +Retrieve CM Handle ids where query parameters Match (empty query) + ${uri}= Set Variable ${ncmpBasePath}/ch/id-searches + ${headers}= Create Dictionary Content-Type=application/json Authorization=${auth} + ${response}= POST On Session CPS_URL ${uri} headers=${headers} data=${jsonEmptyQueryParameters} ${responseJson}= Set Variable ${response.json()} Should Be Equal As Strings ${response.status_code} 200 Should Contain ${responseJson} PNFDemo Throw 400 when Structure of Request is Incorrect - ${uri}= Set Variable ${ncmpBasePath}/data/ch/searches + ${uri}= Set Variable ${ncmpBasePath}/ch/id-searches ${headers}= Create Dictionary Content-Type=application/json Authorization=${auth} ${response}= POST On Session CPS_URL ${uri} headers=${headers} data=${jsonMissingPropertyQueryParameters} expected_status=400 Should Be Equal As Strings ${response} <Response [400]> |