aboutsummaryrefslogtreecommitdiffstats
path: root/csit
diff options
context:
space:
mode:
authorkissand <andras.zoltan.kiss@est.tech>2022-05-12 15:59:18 +0200
committerkissand <andras.zoltan.kiss@est.tech>2022-06-08 09:46:28 +0200
commite9ed581de0a6090c513e6fca0052b69396cb3cc8 (patch)
treeea66ec265e0544cf0037e9fe2969a5f017d9ad45 /csit
parent002fb164cde7079cb3cac65a14b74fec9588ddc5 (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.txt2
-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]>