aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorleventecsanyi <levente.csanyi@est.tech>2025-03-06 16:15:16 +0100
committerleventecsanyi <levente.csanyi@est.tech>2025-03-06 18:16:01 +0100
commit060abae9a1766084c17d0a6563ff8a3bc6b7e046 (patch)
tree36a1fccb5664c240442bd27343dec9d864b1433c
parent1337752d3175309a66a50fe04aa9b289a33e4290 (diff)
Randomize cm handle ids in a legacy batch array
- added new JS method to get a random list of CmHandle IDs Issue-ID: CPS-2687 Change-Id: I3b02d4b7c03af3a05860e30b32877475b7e70dba Signed-off-by: leventecsanyi <levente.csanyi@est.tech>
-rw-r--r--k6-tests/ncmp/common/utils.js13
-rw-r--r--k6-tests/ncmp/ncmp-test-runner.js8
2 files changed, 17 insertions, 4 deletions
diff --git a/k6-tests/ncmp/common/utils.js b/k6-tests/ncmp/common/utils.js
index 6bedb1f949..ee3e9c7b4b 100644
--- a/k6-tests/ncmp/common/utils.js
+++ b/k6-tests/ncmp/common/utils.js
@@ -48,6 +48,19 @@ export function makeBatchOfCmHandleIds(batchSize, batchNumber) {
}
/**
+ * Generates an unordered batch of CM-handle IDs based on batch size.
+ * @returns {string[]} Array of CM-handle IDs, for example ['ch-8', 'ch-2' ... 'ch-32432']
+ */
+export function makeRandomBatchOfCmHandleIds() {
+ const cmHandleIds = new Set();
+ while (cmHandleIds.size < LEGACY_BATCH_THROUGHPUT_TEST_BATCH_SIZE) {
+ const randomNum = Math.floor(Math.random() * TOTAL_CM_HANDLES) + 1;
+ cmHandleIds.add('ch-' + randomNum);
+ }
+ return Array.from(cmHandleIds)
+}
+
+/**
* Helper function to perform POST requests with JSON payload and content type.
* @param {string} url - The URL to send the POST request to.
* @param {Object} payload - The JSON payload to send in the POST request.
diff --git a/k6-tests/ncmp/ncmp-test-runner.js b/k6-tests/ncmp/ncmp-test-runner.js
index 3c87057e8c..89d1c0cfe7 100644
--- a/k6-tests/ncmp/ncmp-test-runner.js
+++ b/k6-tests/ncmp/ncmp-test-runner.js
@@ -23,9 +23,9 @@ import { Trend } from 'k6/metrics';
import { Reader } from 'k6/x/kafka';
import {
TOTAL_CM_HANDLES, READ_DATA_FOR_CM_HANDLE_DELAY_MS, WRITE_DATA_FOR_CM_HANDLE_DELAY_MS,
- makeCustomSummaryReport, makeBatchOfCmHandleIds, LEGACY_BATCH_THROUGHPUT_TEST_BATCH_SIZE,
- REGISTRATION_BATCH_SIZE, LEGACY_BATCH_THROUGHPUT_TEST_NUMBER_OF_REQUESTS, KAFKA_BOOTSTRAP_SERVERS,
- LEGACY_BATCH_TOPIC_NAME, CONTAINER_UP_TIME_IN_SECONDS, testConfig
+ makeCustomSummaryReport, makeBatchOfCmHandleIds, makeRandomBatchOfCmHandleIds,
+ LEGACY_BATCH_THROUGHPUT_TEST_BATCH_SIZE, REGISTRATION_BATCH_SIZE, LEGACY_BATCH_THROUGHPUT_TEST_NUMBER_OF_REQUESTS,
+ KAFKA_BOOTSTRAP_SERVERS, LEGACY_BATCH_TOPIC_NAME, CONTAINER_UP_TIME_IN_SECONDS, testConfig
} from './common/utils.js';
import { createCmHandles, deleteCmHandles, waitForAllCmHandlesToBeReady } from './common/cmhandle-crud.js';
import { executeCmHandleSearch, executeCmHandleIdSearch } from './common/search-base.js';
@@ -215,7 +215,7 @@ export function cmHandleSearchTrustLevelScenario() {
}
export function legacyBatchProduceScenario() {
- const nextBatchOfCmHandleIds = makeBatchOfCmHandleIds(LEGACY_BATCH_THROUGHPUT_TEST_BATCH_SIZE, 0);
+ const nextBatchOfCmHandleIds = makeRandomBatchOfCmHandleIds();
const response = legacyBatchRead(nextBatchOfCmHandleIds);
check(response, { 'data operation batch read status equals 200': (r) => r.status === 200 });
}