blob: 5617f9d0931f5649970a98da0346b539d3f82bac [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
seanbeirne28559522024-07-19 16:55:06 +010039export function passthroughReadWithAltId() {
40 const cmHandleId = getRandomCmHandleId();
41 const resourceIdentifier = 'my-resource-identifier';
42 const includeDescendants = true;
43 const datastoreName = 'ncmp-datastore:passthrough-operational';
44 const url = `${NCMP_BASE_URL}/ncmp/v1/ch/alt-${cmHandleId}/data/ds/${datastoreName}?resourceIdentifier=${resourceIdentifier}&include-descendants=${includeDescendants}`
45 const response = http.get(url);
46 return response;
47}
48
halil.cakalfcc81ee2024-07-11 14:54:57 +010049export function passthroughWrite() {
50 const cmHandleId = getRandomCmHandleId();
51 const resourceIdentifier = 'my-resource-identifier';
52 const datastoreName = 'ncmp-datastore:passthrough-running';
53 const url = `${NCMP_BASE_URL}/ncmp/v1/ch/${cmHandleId}/data/ds/${datastoreName}?resourceIdentifier=${resourceIdentifier}`
54 const body = `{"neType": "BaseStation"}`
55 const response = http.post(url, JSON.stringify(body), CONTENT_TYPE_JSON_PARAM);
56 return response;
57}
halil.cakal65b870b2024-07-25 11:12:29 +010058
59export function batchRead(cmHandleIds) {
60 const url = `${NCMP_BASE_URL}/ncmp/v1/data?topic=${TOPIC_DATA_OPERATIONS_BATCH_READ}`
61 const payload = {
62 "operations": [
63 {
64 "resourceIdentifier": "parent/child",
65 "targetIds": cmHandleIds,
66 "datastore": "ncmp-datastore:passthrough-operational",
67 "options": "(fields=schemas/schema)",
68 "operationId": "12",
69 "operation": "read"
70 }
71 ]
72 };
73 const response = http.post(url, JSON.stringify(payload), CONTENT_TYPE_JSON_PARAM);
74 return response;
75}