[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, {