blob: 76bda4e1bd55fc1cf634e6798d559841bdca4ad7 [file] [log] [blame]
danielhanrahanf66694a2024-06-10 21:32:12 +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';
halil.cakal65b870b2024-07-25 11:12:29 +010022import {
23 CONTENT_TYPE_JSON_PARAM,
24 getRandomCmHandleId,
25 NCMP_BASE_URL,
26 TOPIC_DATA_OPERATIONS_BATCH_READ
27} from './utils.js';
danielhanrahanf66694a2024-06-10 21:32:12 +010028
29export function passthroughRead() {
30 const cmHandleId = getRandomCmHandleId();
31 const resourceIdentifier = 'my-resource-identifier';
32 const includeDescendants = true;
33 const datastoreName = 'ncmp-datastore:passthrough-operational';
34 const url = `${NCMP_BASE_URL}/ncmp/v1/ch/${cmHandleId}/data/ds/${datastoreName}?resourceIdentifier=${resourceIdentifier}&include-descendants=${includeDescendants}`
35 const response = http.get(url);
danielhanrahanf66694a2024-06-10 21:32:12 +010036 return response;
37}
halil.cakalfcc81ee2024-07-11 14:54:57 +010038
39export function passthroughWrite() {
40 const cmHandleId = getRandomCmHandleId();
41 const resourceIdentifier = 'my-resource-identifier';
42 const datastoreName = 'ncmp-datastore:passthrough-running';
43 const url = `${NCMP_BASE_URL}/ncmp/v1/ch/${cmHandleId}/data/ds/${datastoreName}?resourceIdentifier=${resourceIdentifier}`
44 const body = `{"neType": "BaseStation"}`
45 const response = http.post(url, JSON.stringify(body), CONTENT_TYPE_JSON_PARAM);
46 return response;
47}
halil.cakal65b870b2024-07-25 11:12:29 +010048
49export function batchRead(cmHandleIds) {
50 const url = `${NCMP_BASE_URL}/ncmp/v1/data?topic=${TOPIC_DATA_OPERATIONS_BATCH_READ}`
51 const payload = {
52 "operations": [
53 {
54 "resourceIdentifier": "parent/child",
55 "targetIds": cmHandleIds,
56 "datastore": "ncmp-datastore:passthrough-operational",
57 "options": "(fields=schemas/schema)",
58 "operationId": "12",
59 "operation": "read"
60 }
61 ]
62 };
63 const response = http.post(url, JSON.stringify(payload), CONTENT_TYPE_JSON_PARAM);
64 return response;
65}