[k6] Refactor k6 tests for CM handle searches 51/138151/1
authordanielhanrahan <daniel.hanrahan@est.tech>
Thu, 6 Jun 2024 19:43:21 +0000 (20:43 +0100)
committerdanielhanrahan <daniel.hanrahan@est.tech>
Thu, 6 Jun 2024 19:43:21 +0000 (20:43 +0100)
A cleanup of the k6 tests to avoid code duplication

Issue-ID: CPS-2208
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: If1e58ee87300cd28ed72b365d9a86e2709dc6c13

k6-tests/ncmp/10-mixed-load-test.js
k6-tests/ncmp/4-id-search-no-filter.js
k6-tests/ncmp/5-search-no-filter.js
k6-tests/ncmp/6-id-search-public-property.js
k6-tests/ncmp/7-search-public-property.js
k6-tests/ncmp/8-id-search-module.js
k6-tests/ncmp/9-search-module.js
k6-tests/ncmp/search-base.js

index 829219b..4bb0297 100644 (file)
@@ -21,7 +21,7 @@
 import http from 'k6/http';
 import { check } from 'k6';
 import { NCMP_BASE_URL, getRandomCmHandleId, makeCustomSummaryReport } from './utils.js'
-import { searchRequest } from './search-base.js';
+import { executeCmHandleSearch, executeCmHandleIdSearch } from './search-base.js';
 
 export const options = {
     scenarios: {
@@ -66,27 +66,11 @@ export function passthrough_read() {
 }
 
 export function id_search_module() {
-    const search_filter = {
-        "cmHandleQueryParameters": [
-            {
-                "conditionName": "hasAllModules",
-                "conditionParameters": [{"moduleName": "ietf-yang-types-1"}]
-            }
-        ]
-    };
-    searchRequest('id-searches', JSON.stringify(search_filter));
+    executeCmHandleIdSearch('module');
 }
 
 export function cm_search_module() {
-    const search_filter = {
-        "cmHandleQueryParameters": [
-            {
-                "conditionName": "hasAllModules",
-                "conditionParameters": [{"moduleName": "ietf-yang-types-1"}]
-            }
-        ]
-    };
-    searchRequest('searches', JSON.stringify(search_filter));
+    executeCmHandleSearch('module');
 }
 
 export function handleSummary(data) {
index 1c96665..ed8d77f 100644 (file)
@@ -18,7 +18,7 @@
  *  ============LICENSE_END=========================================================
  */
 
-import { searchRequest } from './search-base.js';
+import { executeCmHandleIdSearch } from './search-base.js';
 import { makeCustomSummaryReport } from "./utils.js";
 
 export const options = {
@@ -30,9 +30,8 @@ export const options = {
     },
 };
 
-// The function that defines VU logic.
 export default function () {
-    searchRequest('id-searches', '{}')
+    executeCmHandleIdSearch('no-filter');
 }
 
 export function handleSummary(data) {
index 4ef8a57..73fa827 100644 (file)
@@ -18,7 +18,7 @@
  *  ============LICENSE_END=========================================================
  */
 
-import { searchRequest } from './search-base.js';
+import { executeCmHandleSearch } from './search-base.js';
 import { makeCustomSummaryReport } from "./utils.js";
 
 export const options = {
@@ -31,7 +31,7 @@ export const options = {
 };
 
 export default function () {
-    searchRequest('searches', '{}')
+    executeCmHandleSearch('no-filter');
 }
 
 export function handleSummary(data) {
index 0c5fcc6..543ee1a 100644 (file)
@@ -18,7 +18,7 @@
  *  ============LICENSE_END=========================================================
  */
 
-import { searchRequest } from './search-base.js';
+import { executeCmHandleIdSearch } from './search-base.js';
 import { makeCustomSummaryReport } from "./utils.js";
 
 export const options = {
@@ -31,15 +31,7 @@ export const options = {
 };
 
 export default function () {
-    const search_filter = {
-        "cmHandleQueryParameters": [
-            {
-                "conditionName": "hasAllProperties",
-                "conditionParameters": [{"Color": "yellow"}, {"Size": "small"}]
-            }
-        ]
-    };
-    searchRequest('id-searches', JSON.stringify(search_filter));
+    executeCmHandleIdSearch('property');
 }
 
 export function handleSummary(data) {
index 6a46a03..cb39b54 100644 (file)
@@ -18,7 +18,7 @@
  *  ============LICENSE_END=========================================================
  */
 
-import { searchRequest } from './search-base.js';
+import { executeCmHandleSearch } from './search-base.js';
 import { makeCustomSummaryReport } from "./utils.js";
 
 export const options = {
@@ -31,15 +31,7 @@ export const options = {
 };
 
 export default function () {
-    const search_filter = {
-        "cmHandleQueryParameters": [
-            {
-                "conditionName": "hasAllProperties",
-                "conditionParameters": [{"Color": "yellow"}, {"Size": "small"}]
-            }
-        ]
-    };
-    searchRequest('searches', JSON.stringify(search_filter));
+    executeCmHandleSearch('property');
 }
 
 export function handleSummary(data) {
index 4c9e03e..d058a1b 100644 (file)
@@ -18,7 +18,7 @@
  *  ============LICENSE_END=========================================================
  */
 
-import { searchRequest } from './search-base.js';
+import { executeCmHandleIdSearch } from './search-base.js';
 import { makeCustomSummaryReport } from "./utils.js";
 
 export const options = {
@@ -31,15 +31,7 @@ export const options = {
 };
 
 export default function () {
-    const search_filter = {
-        "cmHandleQueryParameters": [
-            {
-                "conditionName": "hasAllModules",
-                "conditionParameters": [{"moduleName": "ietf-yang-types-1"}]
-            }
-        ]
-    };
-    searchRequest('id-searches', JSON.stringify(search_filter));
+    executeCmHandleIdSearch('module');
 }
 
 export function handleSummary(data) {
index 3237e6a..c6bbb06 100644 (file)
@@ -18,7 +18,7 @@
  *  ============LICENSE_END=========================================================
  */
 
-import { searchRequest } from './search-base.js';
+import { executeCmHandleSearch } from './search-base.js';
 import { makeCustomSummaryReport } from "./utils.js";
 
 export const options = {
@@ -31,15 +31,7 @@ export const options = {
 };
 
 export default function () {
-    const search_filter = {
-        "cmHandleQueryParameters": [
-            {
-                "conditionName": "hasAllModules",
-                "conditionParameters": [{"moduleName": "ietf-yang-types-1"}]
-            }
-        ]
-    };
-    searchRequest('searches', JSON.stringify(search_filter));
+    executeCmHandleSearch('module');
 }
 
 export function handleSummary(data) {
index 19a6a5a..04b6444 100644 (file)
@@ -22,8 +22,37 @@ import http from 'k6/http';
 import { check } from 'k6';
 import { NCMP_BASE_URL, TOTAL_CM_HANDLES } from './utils.js';
 
-export function searchRequest(searchType, searchFilter) {
-    const response = http.post(NCMP_BASE_URL + '/ncmp/v1/ch/' + searchType, searchFilter, {
+const SEARCH_PARAMETERS_PER_SCENARIO = {
+    'no-filter': {},
+    'module': {
+        'cmHandleQueryParameters': [
+            {
+                'conditionName': 'hasAllModules',
+                'conditionParameters': [{'moduleName': 'ietf-yang-types-1'}]
+            }
+        ]
+    },
+    'property': {
+        'cmHandleQueryParameters': [
+            {
+                'conditionName': 'hasAllProperties',
+                'conditionParameters': [{'Color': 'yellow'}]
+            }
+        ]
+    }
+};
+
+export function executeCmHandleSearch(scenario) {
+    executeSearchRequest('searches', scenario);
+}
+
+export function executeCmHandleIdSearch(scenario) {
+    executeSearchRequest('id-searches', scenario);
+}
+
+function executeSearchRequest(searchType, scenario) {
+    const searchParameter = JSON.stringify(SEARCH_PARAMETERS_PER_SCENARIO[scenario]);
+    const response = http.post(NCMP_BASE_URL + '/ncmp/v1/ch/' + searchType, searchParameter, {
         headers: {'Content-Type': 'application/json'},
     });
     check(response, {