[k6] Refactor k6 tests for CM handle searches

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
diff --git a/k6-tests/ncmp/search-base.js b/k6-tests/ncmp/search-base.js
index 19a6a5a..04b6444 100644
--- a/k6-tests/ncmp/search-base.js
+++ b/k6-tests/ncmp/search-base.js
@@ -22,8 +22,37 @@
 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, {