blob: 3a640871b90e4c85de6d3f85b5cdfc9d99e27fc7 [file] [log] [blame]
JosephKeenandeac4772022-03-28 12:26:07 +01001/*
2 * ============LICENSE_START=======================================================
3 * Copyright (C) 2022 Nordix Foundation
4 * ================================================================================
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 * SPDX-License-Identifier: Apache-2.0
18 * ============LICENSE_END=========================================================
19 */
20
21*** Settings ***
22Documentation Public Properties Query Test
23
24Library Collections
25Library OperatingSystem
26Library RequestsLibrary
27Library BuiltIn
28
29Suite Setup Create Session CPS_URL http://${CPS_CORE_HOST}:${CPS_CORE_PORT}
30
31*** Variables ***
32
33${auth} Basic Y3BzdXNlcjpjcHNyMGNrcyE=
34${ncmpBasePath} /ncmp/v1
35${jsonMatchingQueryParameters} {"publicCmHandleProperties": {"Contact" : "newemailforstore@bookstore.com", "Contact2" : "storeemail2@bookstore.com"}}
36${jsonMissingPropertyQueryParameters} {"publicCmHandleProperties": { "" : "doesnt matter"}}
37
38*** Test Cases ***
39Retrieve CM Handles where query parameters Match
40 ${uri}= Set Variable ${ncmpBasePath}/data/ch/searches
41 ${headers}= Create Dictionary Content-Type=application/json Authorization=${auth}
42 ${response}= POST On Session CPS_URL ${uri} headers=${headers} data=${jsonMatchingQueryParameters}
43 ${responseJson}= Set Variable ${response.json()}
44 Should Be Equal As Strings ${response.status_code} 200
45 Should Contain ${responseJson} PNFDemo
46
47Throw 400 when Structure of Request is Incorrect
48 ${uri}= Set Variable ${ncmpBasePath}/data/ch/searches
49 ${headers}= Create Dictionary Content-Type=application/json Authorization=${auth}
50 ${response}= POST On Session CPS_URL ${uri} headers=${headers} data=${jsonMissingPropertyQueryParameters} expected_status=400
51 Should Be Equal As Strings ${response} <Response [400]>