blob: bc964856af0cc31cbb1545c588e59c1f440add03 [file] [log] [blame]
danielhanrahanc0b6f3a2024-04-29 16:16:42 +01001/*
2 * ============LICENSE_START=======================================================
3 * Copyright (C) 2024 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
21import http from 'k6/http';
danielhanrahan4e9f68c2024-06-28 13:43:35 +010022import { NCMP_BASE_URL, CONTENT_TYPE_JSON_PARAM } from './utils.js';
danielhanrahanc0b6f3a2024-04-29 16:16:42 +010023
danielhanrahan0e006002024-06-06 20:43:21 +010024const SEARCH_PARAMETERS_PER_SCENARIO = {
danielhanrahan0e006002024-06-06 20:43:21 +010025 'module': {
26 'cmHandleQueryParameters': [
27 {
28 'conditionName': 'hasAllModules',
29 'conditionParameters': [{'moduleName': 'ietf-yang-types-1'}]
30 }
31 ]
danielhanrahan4e9f68c2024-06-28 13:43:35 +010032 },
33 'readyCmHandles': {
34 'cmHandleQueryParameters': [
35 {
36 'conditionName': 'cmHandleWithCpsPath',
37 'conditionParameters': [{'cpsPath': '//state[@cm-handle-state="READY"]'}]
38 }
39 ]
danielhanrahan0e006002024-06-06 20:43:21 +010040 }
41};
42
43export function executeCmHandleSearch(scenario) {
danielhanrahan4e9f68c2024-06-28 13:43:35 +010044 return executeSearchRequest('searches', scenario);
danielhanrahan0e006002024-06-06 20:43:21 +010045}
46
47export function executeCmHandleIdSearch(scenario) {
danielhanrahan4e9f68c2024-06-28 13:43:35 +010048 return executeSearchRequest('id-searches', scenario);
danielhanrahan0e006002024-06-06 20:43:21 +010049}
50
51function executeSearchRequest(searchType, scenario) {
danielhanrahanf66694a2024-06-10 21:32:12 +010052 const searchParameters = SEARCH_PARAMETERS_PER_SCENARIO[scenario];
53 const payload = JSON.stringify(searchParameters);
54 const url = `${NCMP_BASE_URL}/ncmp/v1/ch/${searchType}`;
danielhanrahan4e9f68c2024-06-28 13:43:35 +010055 const response = http.post(url, payload, CONTENT_TYPE_JSON_PARAM);
56 return response;
danielhanrahanc0b6f3a2024-04-29 16:16:42 +010057}