From c8050a2e323271f4378eeed363275c07fb209ee2 Mon Sep 17 00:00:00 2001 From: bhumi46 Date: Fri, 15 Nov 2024 13:23:31 +0530 Subject: [PATCH 1/8] [MOSIP-37447] added helm changes and install.sh changes for pushing reports to nfs Signed-off-by: bhumi46 --- deploy/apitestrig/install.sh | 103 ++++++++++++++++++------- helm/apitestrig/templates/cronjob.yaml | 11 +++ helm/apitestrig/templates/pv.yaml | 23 ++++++ helm/apitestrig/templates/pvc.yaml | 23 ++++++ helm/apitestrig/templates/secrets.yaml | 2 +- helm/apitestrig/values.yaml | 36 ++++++--- 6 files changed, 160 insertions(+), 38 deletions(-) create mode 100644 helm/apitestrig/templates/pv.yaml create mode 100644 helm/apitestrig/templates/pvc.yaml diff --git a/deploy/apitestrig/install.sh b/deploy/apitestrig/install.sh index cd6d4783af..554b4d63c6 100755 --- a/deploy/apitestrig/install.sh +++ b/deploy/apitestrig/install.sh @@ -17,10 +17,10 @@ function installing_apitestrig() { kubectl label ns $NS istio-injection=disabled --overwrite helm repo update - echo Copy configmaps + echo Copy Configmaps ./copy_cm.sh - echo Copy secrets + echo echo Copy Secrtes ./copy_secrets.sh echo "Delete s3, db, & apitestrig configmap if exists" @@ -90,29 +90,80 @@ function installing_apitestrig() { else echo "eSignet service is not deployed. hence will be skipping esignet related test-cases..." fi - - echo Installing apitestrig - helm -n $NS install apitestrig mosip/apitestrig \ - --set crontime="0 $time * * *" \ - -f values.yaml \ - --version $CHART_VERSION \ - --set apitestrig.configmaps.s3.s3-host='http://minio.minio:9000' \ - --set apitestrig.configmaps.s3.s3-user-key='admin' \ - --set apitestrig.configmaps.s3.s3-region='' \ - --set apitestrig.configmaps.db.db-server="$DB_HOST" \ - --set apitestrig.configmaps.db.db-su-user="postgres" \ - --set apitestrig.configmaps.db.db-port="5432" \ - --set apitestrig.configmaps.apitestrig.ENV_USER="$ENV_USER" \ - --set apitestrig.configmaps.apitestrig.ENV_ENDPOINT="https://$API_INTERNAL_HOST" \ - --set apitestrig.configmaps.apitestrig.ENV_TESTLEVEL="smokeAndRegression" \ - --set apitestrig.configmaps.apitestrig.reportExpirationInDays="$reportExpirationInDays" \ - --set apitestrig.configmaps.apitestrig.slack-webhook-url="$slackWebhookUrl" \ - --set apitestrig.configmaps.apitestrig.eSignetDeployed="$eSignetDeployed" \ - --set apitestrig.configmaps.apitestrig.NS="$NS" \ - $ENABLE_INSECURE - - echo Installed apitestrig. - return 0 + read -p "Is values.yaml for onboarder chart set correctly as part of pre-requisites? (Y/n) : " yn; + if [[ $yn = "Y" ]] || [[ $yn = "y" ]] ; then + NFS_OPTION='' + S3_OPTION='' + config_complete=false # flag to check if S3 or NFS is configured + while [ "$config_complete" = false ]; do + read -p "Do you have S3 details for storing Onboarder reports? (Y/n) : " ans + if [[ "$ans" == "y" || "$ans" == "Y" ]]; then + read -p "Please provide S3 host: " s3_host + if [[ -z $s3_host ]]; then + echo "S3 host not provided; EXITING;" + exit 1; + fi + read -p "Please provide S3 region: " s3_region + if [[ $s3_region == *[' !@#$%^&*()+']* ]]; then + echo "S3 region should not contain spaces or special characters; EXITING;" + exit 1; + fi + + read -p "Please provide S3 access key: " s3_user_key + if [[ -z $s3_user_key ]]; then + echo "S3 access key not provided; EXITING;" + exit 1; + fi + S3_OPTION="--set apitestrig.configmaps.s3.s3-host=$s3_host --set apitestrig.configmaps.s3.s3-user-key=$s3_user_key --set apitestrig.configmaps.s3.s3-region=$s3_region" + push_reports_to_s3="yes" + config_complete=true + elif [[ "$ans" == "n" || "$ans" == "N" ]]; then + push_reports_to_s3="no" + read -p "Since S3 details are not available, do you want to use NFS directory mount for storing reports? (y/n) : " answer + if [[ $answer == "Y" ]] || [[ $answer == "y" ]]; then + read -p "Please provide NFS Server IP: " nfs_server + if [[ -z $nfs_server ]]; then + echo "NFS server not provided; EXITING." + exit 1; + fi + read -p "Please provide NFS directory to store reports from NFS server (e.g. /srv/nfs//onboarder/), make sure permission is 777 for the folder: " nfs_path + if [[ -z $nfs_path ]]; then + echo "NFS Path not provided; EXITING." + exit 1; + fi + NFS_OPTION="--set apitestrig.volumes.reports.nfs.server=$nfs_server --set apitestrig.volumes.reports.nfs.path=$nfs_path" + config_complete=true + else + echo "Please rerun the script with either S3 or NFS server details." + exit 1; + fi + else + echo "Invalid input. Please respond with Y (yes) or N (no)." + fi + done + echo Installing apitestrig + helm -n $NS install apitestrig mosip/apitestrig \ + --set crontime="0 $time * * *" \ + -f values.yaml \ + --version $CHART_VERSION \ + $NFS_OPTION \ + $S3_OPTION \ + --set apitestrig.variables.push_reports_to_s3=$push_reports_to_s3 \ + --set apitestrig.configmaps.db.db-server="$DB_HOST" \ + --set apitestrig.configmaps.db.db-su-user="postgres" \ + --set apitestrig.configmaps.db.db-port="5432" \ + --set apitestrig.configmaps.apitestrig.ENV_USER="$ENV_USER" \ + --set apitestrig.configmaps.apitestrig.ENV_ENDPOINT="https://$API_INTERNAL_HOST" \ + --set apitestrig.configmaps.apitestrig.ENV_TESTLEVEL="smokeAndRegression" \ + --set apitestrig.configmaps.apitestrig.reportExpirationInDays="$reportExpirationInDays" \ + --set apitestrig.configmaps.apitestrig.slack-webhook-url="$slackWebhookUrl" \ + --set apitestrig.configmaps.apitestrig.eSignetDeployed="$eSignetDeployed" \ + --set apitestrig.configmaps.apitestrig.NS="$NS" \ + $ENABLE_INSECURE + + echo Installed apitestrig. + return 0 + fi } # set commands for error handling. @@ -121,4 +172,4 @@ set -o errexit ## set -e : exit the script if any statement returns a non-true set -o nounset ## set -u : exit the script if you try to use an uninitialised variable set -o errtrace # trace ERR through 'time command' and other functions set -o pipefail # trace ERR through pipes -installing_apitestrig # calling function \ No newline at end of file +installing_apitestrig # calling function diff --git a/helm/apitestrig/templates/cronjob.yaml b/helm/apitestrig/templates/cronjob.yaml index cb3ce9a2cc..9a87054da8 100644 --- a/helm/apitestrig/templates/cronjob.yaml +++ b/helm/apitestrig/templates/cronjob.yaml @@ -60,6 +60,8 @@ spec: value: {{ $.Values.additionalResources.javaOpts }} - name: MODULES value: {{ $modulename }} + - name: push-reports-to-s3 + value: {{ quote $.Values.apitestrig.variables.push_reports_to_s3 }} {{- if $.Values.extraEnvVars }} {{- include "common.tpvalues.render" (dict "value" $.Values.extraEnvVars "context" $) | nindent 12 }} {{- end }} @@ -91,6 +93,10 @@ spec: mountPath: {{ $volume_value.volumeMounts.mountPath }} {{- end }} {{- end }} + {{- if eq $.Values.apitestrig.variables.push_reports_to_s3 "no" }} + - name: {{ $.Values.apitestrig.volumes.reports.name }} + mountPath: /home/mosip/testrig/report + {{- end }} volumes: {{- if $.Values.enable_insecure }} - name: cacerts @@ -104,5 +110,10 @@ spec: name: {{ $volume_name }} {{- end }} {{- end }} + {{- if eq $.Values.apitestrig.variables.push_reports_to_s3 "no" }} + - name: {{ $.Values.apitestrig.volumes.reports.name }} + persistentVolumeClaim: + claimName: {{ $.Values.apitestrig.volumes.reports.name }}-{{ $.Release.Namespace }}-{{ $modulename }}-pvc + {{- end }} {{- end }} {{- end }} diff --git a/helm/apitestrig/templates/pv.yaml b/helm/apitestrig/templates/pv.yaml new file mode 100644 index 0000000000..0ae1e54727 --- /dev/null +++ b/helm/apitestrig/templates/pv.yaml @@ -0,0 +1,23 @@ +{{- range $modulename, $module := $.Values.modules }} +{{- if $module.enabled }} +{{- if eq $.Values.apitestrig.variables.push_reports_to_s3 "no" }} +apiVersion: v1 +kind: PersistentVolume +metadata: + name: {{ $.Values.apitestrig.volumes.reports.name }}-{{ $.Release.Namespace }}-{{ $modulename }}-pvc + labels: + name: {{ $.Values.apitestrig.volumes.reports.name }} +spec: + storageClassName: {{ $.Values.apitestrig.volumes.reports.storageClass }} + capacity: + storage: {{ $.Values.apitestrig.volumes.reports.size }} + accessModes: + {{- range $.Values.apitestrig.volumes.reports.accessModes }} + - {{ . }} + {{- end }} + nfs: + server: {{ $.Values.apitestrig.volumes.reports.nfs.server }} + path: {{ $.Values.apitestrig.volumes.reports.nfs.path }} +{{- end }} +{{- end }} +{{- end }} diff --git a/helm/apitestrig/templates/pvc.yaml b/helm/apitestrig/templates/pvc.yaml new file mode 100644 index 0000000000..605375b0cd --- /dev/null +++ b/helm/apitestrig/templates/pvc.yaml @@ -0,0 +1,23 @@ +{{- range $modulename, $module := $.Values.modules }} +{{- if $module.enabled }} +{{- if eq $.Values.apitestrig.variables.push_reports_to_s3 "no" }} +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: {{ $.Values.apitestrig.volumes.reports.name }}-{{ $.Release.Namespace }}-{{ $modulename }}-pvc + namespace: {{ $.Release.Namespace | quote }} +spec: + storageClassName: {{ $.Values.apitestrig.volumes.reports.storageClass }} + accessModes: + {{- range $.Values.apitestrig.volumes.reports.accessModes }} + - {{ . }} + {{- end }} + resources: + requests: + storage: {{ $.Values.apitestrig.volumes.reports.size }} + selector: + matchLabels: + name: {{ $.Values.apitestrig.volumes.reports.name }} +{{- end }} +{{- end }} +{{- end }} diff --git a/helm/apitestrig/templates/secrets.yaml b/helm/apitestrig/templates/secrets.yaml index 1ef8dc9893..a3b9561dcd 100644 --- a/helm/apitestrig/templates/secrets.yaml +++ b/helm/apitestrig/templates/secrets.yaml @@ -4,7 +4,7 @@ apiVersion: v1 kind: Secret metadata: - name: {{ $secret_name }} + name: {{ $secret_name }}-{{ $.Release.Name }} namespace: {{ $.Release.Namespace }} labels: {{- include "common.labels.standard" $ | nindent 8 }} {{- if $.Values.commonLabels }} diff --git a/helm/apitestrig/values.yaml b/helm/apitestrig/values.yaml index 8b5beb6f8f..7c22d0a0a9 100644 --- a/helm/apitestrig/values.yaml +++ b/helm/apitestrig/values.yaml @@ -441,55 +441,55 @@ istio: modules: prereg: - enabled: true + enabled: false image: repository: mosipqa/apitest-prereg tag: develop pullPolicy: Always masterdata: - enabled: true + enabled: false image: repository: mosipqa/apitest-masterdata tag: develop pullPolicy: Always idrepo: - enabled: true + enabled: false image: repository: mosipqa/apitest-idrepo tag: develop pullPolicy: Always partner: - enabled: true + enabled: false image: repository: mosipqa/apitest-pms tag: develop pullPolicy: Always pms: - enabled: true + enabled: false image: repository: mosipdev/apitest-pms tag: develop pullPolicy: Always resident: - enabled: true + enabled: false image: repository: mosipqa/apitest-resident tag: develop pullPolicy: Always auth: - enabled: true + enabled: false image: repository: mosipqa/apitest-auth tag: develop pullPolicy: Always esignet: - enabled: true + enabled: false image: repository: mosipqa/apitest-esignet tag: develop pullPolicy: Always mimoto: - enabled: true + enabled: false image: repository: mosipqa/apitest-mimoto tag: develop @@ -514,7 +514,6 @@ apitestrig: authDemoServiceBaseURL: http://authdemo.authdemo authDemoServicePort: 80 eSignetDeployed: yes or no - push-reports-to-s3: 'yes' authCertsPath: '/home/mosip/authcerts' scripts: fetch_docker_image_hash_ids.sh: | @@ -534,6 +533,8 @@ apitestrig: cd /home/${container_user}/ bash ./entrypoint.sh secrets: + s3: + s3-user-secret: 'password' apitestrig: volumes: configmaps: @@ -541,5 +542,18 @@ apitestrig: defaultMode: 0777 volumeMounts: mountPath: '/home/mosip/scripts/' - + reports: + name: apitestrig-reports + storageClass: nfs-client + accessModes: + - ReadWriteMany + size: 10Mi + existingClaim: + # Dir where config and keys are written inside container + mountDir: /home/mosip/testrig/report + nfs: + path: "/srv/nfs/sandbox/onboarding" # Dir within the nfs server where config repo is cloned/maintained locally. + server: "nfs-server" # Ip address of nfs server. + variables: + push_reports_to_s3: "no" enable_insecure: false From ed7579bfa1ef26e016b6df772b77c623af23a694 Mon Sep 17 00:00:00 2001 From: bhumi46 Date: Fri, 15 Nov 2024 15:21:42 +0530 Subject: [PATCH 2/8] [MOSIP-37447] added helm changes and install.sh changes for pushing reports to nfs Signed-off-by: bhumi46 --- deploy/apitestrig/install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deploy/apitestrig/install.sh b/deploy/apitestrig/install.sh index 554b4d63c6..6519a22972 100755 --- a/deploy/apitestrig/install.sh +++ b/deploy/apitestrig/install.sh @@ -20,7 +20,7 @@ function installing_apitestrig() { echo Copy Configmaps ./copy_cm.sh - echo echo Copy Secrtes + echo Copy Secrtes ./copy_secrets.sh echo "Delete s3, db, & apitestrig configmap if exists" From 7135c949ec04cc04961fddd7f965ee3c23fe1bd9 Mon Sep 17 00:00:00 2001 From: bhumi46 Date: Fri, 15 Nov 2024 16:55:21 +0530 Subject: [PATCH 3/8] [MOSIP-37447] added helm changes and install.sh changes for pushing reports to nfs Signed-off-by: bhumi46 --- helm/apitestrig/values.yaml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/helm/apitestrig/values.yaml b/helm/apitestrig/values.yaml index 7c22d0a0a9..e673288b37 100644 --- a/helm/apitestrig/values.yaml +++ b/helm/apitestrig/values.yaml @@ -441,55 +441,55 @@ istio: modules: prereg: - enabled: false + enabled: true image: repository: mosipqa/apitest-prereg tag: develop pullPolicy: Always masterdata: - enabled: false + enabled: true image: repository: mosipqa/apitest-masterdata tag: develop pullPolicy: Always idrepo: - enabled: false + enabled: true image: repository: mosipqa/apitest-idrepo tag: develop pullPolicy: Always partner: - enabled: false + enabled: true image: repository: mosipqa/apitest-pms tag: develop pullPolicy: Always pms: - enabled: false + enabled: true image: repository: mosipdev/apitest-pms tag: develop pullPolicy: Always resident: - enabled: false + enabled: true image: repository: mosipqa/apitest-resident tag: develop pullPolicy: Always auth: - enabled: false + enabled: true image: repository: mosipqa/apitest-auth tag: develop pullPolicy: Always esignet: - enabled: false + enabled: true image: repository: mosipqa/apitest-esignet tag: develop pullPolicy: Always mimoto: - enabled: false + enabled: true image: repository: mosipqa/apitest-mimoto tag: develop From 92a99450bfb0c84204fec8d5eb524aec2e0eca63 Mon Sep 17 00:00:00 2001 From: bhumi46 Date: Wed, 20 Nov 2024 18:25:13 +0530 Subject: [PATCH 4/8] [MOSIP-37447] added helm changes and install.sh Signed-off-by: bhumi46 --- deploy/apitestrig/install.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/deploy/apitestrig/install.sh b/deploy/apitestrig/install.sh index 6519a22972..2a6fa6bbe1 100755 --- a/deploy/apitestrig/install.sh +++ b/deploy/apitestrig/install.sh @@ -90,13 +90,13 @@ function installing_apitestrig() { else echo "eSignet service is not deployed. hence will be skipping esignet related test-cases..." fi - read -p "Is values.yaml for onboarder chart set correctly as part of pre-requisites? (Y/n) : " yn; + read -p "Is values.yaml for apitestrig chart set correctly as part of pre-requisites? (Y/n) : " yn; if [[ $yn = "Y" ]] || [[ $yn = "y" ]] ; then NFS_OPTION='' S3_OPTION='' config_complete=false # flag to check if S3 or NFS is configured while [ "$config_complete" = false ]; do - read -p "Do you have S3 details for storing Onboarder reports? (Y/n) : " ans + read -p "Do you have S3 details for storing apitestrig reports? (Y/n) : " ans if [[ "$ans" == "y" || "$ans" == "Y" ]]; then read -p "Please provide S3 host: " s3_host if [[ -z $s3_host ]]; then @@ -126,7 +126,7 @@ function installing_apitestrig() { echo "NFS server not provided; EXITING." exit 1; fi - read -p "Please provide NFS directory to store reports from NFS server (e.g. /srv/nfs//onboarder/), make sure permission is 777 for the folder: " nfs_path + read -p "Please provide NFS directory to store reports from NFS server (e.g. /srv/nfs//apitestrig/), make sure permission is 777 for the folder: " nfs_path if [[ -z $nfs_path ]]; then echo "NFS Path not provided; EXITING." exit 1; From 37cc4a03f8c6d745c26814b3d1cb16373941244b Mon Sep 17 00:00:00 2001 From: Mohanachandran S <165888272+mohanachandran-s@users.noreply.github.com> Date: Tue, 26 Nov 2024 17:36:16 +0530 Subject: [PATCH 5/8] MOSIP-37793 - Update the Readme file Signed-off-by: Mohanachandran S <165888272+mohanachandran-s@users.noreply.github.com> --- apitest-commons/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/apitest-commons/README.md b/apitest-commons/README.md index 60537aa052..5f3324c2e0 100644 --- a/apitest-commons/README.md +++ b/apitest-commons/README.md @@ -24,6 +24,7 @@ Ensure the following software is installed on the machine from where the automat - **Java 21** ([download here](https://jdk.java.net/)). - **Maven 3.9.6** or higher ([installation guide](https://maven.apache.org/install.html)). - **Lombok** (Refer to [Lombok Project](https://projectlombok.org/)) +- **setting.xml** ([download here](https://github.com/mosip/mosip-functional-tests/blob/master/settings.xml)) --- From de43f54faafebce99b312264e1af5908f5dc2d72 Mon Sep 17 00:00:00 2001 From: Abhishek S <127825992+abhishek8shankar@users.noreply.github.com> Date: Thu, 28 Nov 2024 13:25:54 +0530 Subject: [PATCH 6/8] [DSD-6743] Updated values.yaml Signed-off-by: Abhishek S <127825992+abhishek8shankar@users.noreply.github.com> --- deploy/apitestrig/values.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/deploy/apitestrig/values.yaml b/deploy/apitestrig/values.yaml index fd2bca2911..231ae174c5 100644 --- a/deploy/apitestrig/values.yaml +++ b/deploy/apitestrig/values.yaml @@ -53,3 +53,9 @@ modules: repository: mosipqa/apitest-mimoto tag: develop pullPolicy: Always + injicertify: + enabled: false + image: + repository: mosipqa/apitest-injicertify + tag: develop + pullPolicy: Always From f117b855f5e675971a53522b129a8f20a869603a Mon Sep 17 00:00:00 2001 From: Nandhukumar Date: Thu, 28 Nov 2024 13:39:24 +0530 Subject: [PATCH 7/8] MOSIP-35404 Signed-off-by: Nandhukumar --- .../java/io/mosip/testrig/apirig/utils/GlobalMethods.java | 2 +- apitest-commons/src/main/resources/config/Kernel.properties | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apitest-commons/src/main/java/io/mosip/testrig/apirig/utils/GlobalMethods.java b/apitest-commons/src/main/java/io/mosip/testrig/apirig/utils/GlobalMethods.java index 4c03bea8b8..13d4a6c9a9 100644 --- a/apitest-commons/src/main/java/io/mosip/testrig/apirig/utils/GlobalMethods.java +++ b/apitest-commons/src/main/java/io/mosip/testrig/apirig/utils/GlobalMethods.java @@ -26,7 +26,7 @@ public class GlobalMethods { public static Set serverEndpoints = new HashSet<>(); // Define the regex pattern to extract the domain and the path after the domain - private static final String module_name = "(mimoto|partnermanager|preregistration|resident|residentmobileapp|masterdata|esignet|idgenerator|policymanager|idauthentication|idrepository|auditmanager|authmanager)"; + private static final String module_name = "(mimoto|certify|signup|partnermanager|preregistration|resident|residentmobileapp|masterdata|esignet|idgenerator|policymanager|idauthentication|idrepository|auditmanager|authmanager)"; private static final String regex_1 = "https://([^/]+)/(v[0-9]+)?/" + module_name + "/([^,]+)"; private static final String regex_2 = "https://([^/]+)/" + module_name + "/(v[0-9]+)/([^,]+)"; diff --git a/apitest-commons/src/main/resources/config/Kernel.properties b/apitest-commons/src/main/resources/config/Kernel.properties index b88adfcf24..d508aa1ae8 100644 --- a/apitest-commons/src/main/resources/config/Kernel.properties +++ b/apitest-commons/src/main/resources/config/Kernel.properties @@ -226,8 +226,8 @@ usePreConfiguredOtp=false # supported values yes or no. Assume that by Default e-signet is deployed eSignetDeployed=yes partnerUrlSuffix=oYf63Lax0DY2QkYMRHnrmDqhmO3RMWQagwm0ftgLlkuin1KOND/666/576732 -reportIgnoredTestCases=no -reportKnownIssueTestCases=no +reportIgnoredTestCases=yes +reportKnownIssueTestCases=yes servicesNotDeployed= esignetMockBaseURL=esignet-insurance. sunBirdBaseURL=registry From c864b893f21e219214aa00415d094eaee2e0b39a Mon Sep 17 00:00:00 2001 From: Sohan Kumar Dey <72375959+Sohandey@users.noreply.github.com> Date: Thu, 28 Nov 2024 18:33:40 +0530 Subject: [PATCH 8/8] MOSIP-37651 Signed-off-by: Sohan Kumar Dey <72375959+Sohandey@users.noreply.github.com> --- .../testrig/apirig/utils/AdminTestUtil.java | 57 +++++++++++++++++-- 1 file changed, 53 insertions(+), 4 deletions(-) diff --git a/apitest-commons/src/main/java/io/mosip/testrig/apirig/utils/AdminTestUtil.java b/apitest-commons/src/main/java/io/mosip/testrig/apirig/utils/AdminTestUtil.java index 3fe2070e7c..8db5dc5614 100644 --- a/apitest-commons/src/main/java/io/mosip/testrig/apirig/utils/AdminTestUtil.java +++ b/apitest-commons/src/main/java/io/mosip/testrig/apirig/utils/AdminTestUtil.java @@ -57,6 +57,7 @@ import java.util.Map; import java.util.Objects; import java.util.Properties; +import java.util.Random; import java.util.Set; import java.util.TimeZone; import java.util.UUID; @@ -162,7 +163,6 @@ public class AdminTestUtil extends BaseTestCase { String signupAutoGeneratedIdPropFileName = properties.getProperty("signupAutoGeneratedIdPropFileName"); String fullNameForSunBirdRC = properties.getProperty("fullNameForSunBirdRC"); String dobForSunBirdRC = properties.getProperty("dobForSunBirdRC"); - public static String PASSWORD_FOR_ADDIDENTITY_AND_REGISTRATION = null; public static String PASSWORD_TO_RESET = null; public static final String RESOURCE_FOLDER_NAME = "MosipTemporaryTestResource"; @@ -3260,6 +3260,15 @@ public String inputJsonKeyWordHandeler(String jsonString, String testCaseName) { } jsonString = replaceKeywordWithValue(jsonString, "$PHONENUMBERFORIDENTITY$", phoneNumber); } + + if (jsonString.contains("$NRCID$")) { + String nrcId = (100000 + new Random().nextInt(900000)) + "/" + (10 + new Random().nextInt(90)) + "/" + (1 + new Random().nextInt(9)); + + jsonString = replaceKeywordWithValue(jsonString, "$NRCID$", nrcId); + } + + + if (jsonString.contains("$1STLANG$")) jsonString = replaceKeywordWithValue(jsonString, "$1STLANG$", BaseTestCase.languageList.get(0)); if (jsonString.contains("$2NDLANG$")) @@ -5297,6 +5306,8 @@ public static String modifySchemaGenerateHbs(boolean regenerateHbs) { String phone = getValueFromAuthActuator("json-property", "phone_number"); String result = phone.replaceAll("\\[\"|\"\\]", ""); + + if (!isElementPresent(requiredPropsArray, result)) { requiredPropsArray.put(result); @@ -5356,7 +5367,15 @@ public static String modifySchemaGenerateHbs(boolean regenerateHbs) { //"tags": ":["handle"] eachValueJsonForHandles.put("tags", handleArray); selectedHandles.add(result); - } else { + } + + else if (eachRequiredProp.equals("nrcId")) { + eachValueJsonForHandles.put("value", "$NRCID$"); + eachValueJsonForHandles.put("tags", handleArray); + selectedHandles.add("nrcId"); + } + + else { eachValueJsonForHandles.put("value", "$FUNCTIONALID$"); eachValueJsonForHandles.put("tags", handleArray); selectedHandles.add(eachRequiredProp); @@ -5424,6 +5443,14 @@ else if (eachPropDataJson.has("$ref") && eachPropDataJson.get("$ref").toString() identityJson.put(eachRequiredProp, "$EMAILVALUE$"); } + else if (eachRequiredProp.equals("nrcId")) { + String nrcID = "$NRCID$"; + if(eachPropDataJson.has("handle")){ + selectedHandles.add(eachRequiredProp); + } + identityJson.put(eachRequiredProp, nrcID); + } + else if (eachRequiredProp.equals("password")) { identityJson.put(eachRequiredProp, new HashMap<>()); if (addIdentityPassword.isBlank() && addIdentitySalt.isBlank()) @@ -5581,11 +5608,21 @@ public static String updateIdentityHbs(boolean regenerateHbs) { //"tags": ":["handle"] eachValueJsonForHandles.put("tags", handleArray); selectedHandles.add(result); - } else { + } + + else if (eachRequiredProp.equals("nrcId")) { + eachValueJsonForHandles.put("value", "$NRCID$"); + eachValueJsonForHandles.put("tags", handleArray); + selectedHandles.add("nrcId"); + } + + else { eachValueJsonForHandles.put("value", "$FUNCTIONALID$"); eachValueJsonForHandles.put("tags", handleArray); selectedHandles.add(eachRequiredProp); } + + eachPropDataArrayForHandles.put(eachValueJsonForHandles); identityJson.put(eachRequiredProp, eachPropDataArrayForHandles); @@ -5639,6 +5676,13 @@ else if (eachRequiredProp.equals(result)) { } identityJson.put(eachRequiredProp, "$PHONENUMBERFORIDENTITY$"); } + else if (eachRequiredProp.equals("nrcId")) { + String nrcID = "$NRCID$"; + if(eachPropDataJson.has("handle")){ + selectedHandles.add(eachRequiredProp); + } + identityJson.put(eachRequiredProp, nrcID); + } else if (eachRequiredProp.equals("proofOfIdentity")) { identityJson.remove("proofOfIdentity"); } @@ -5771,6 +5815,11 @@ public static String generateHbsForUpdateDraft() { identityJson.getJSONObject(eachRequiredProp).put("type", "DOC001"); identityJson.getJSONObject(eachRequiredProp).put("value", "fileReferenceID"); } + + else if (eachRequiredProp.equals("nrcId")) { + String nrcID = "$NRCID$"; + identityJson.put(eachRequiredProp, nrcID); + } else if (eachRequiredProp.equals("individualBiometrics")) { identityJson.put(eachRequiredProp, new HashMap<>()); @@ -7162,7 +7211,7 @@ else if (testCaseName.startsWith("Prereg_") || testCaseName.contains("_SpacialCharacter_PostalCode_")) && (globalRequiredFields != null && !globalRequiredFields.toList().contains(postalCodeArray))) { throw new SkipException(GlobalConstants.FEATURE_NOT_SUPPORTED_MESSAGE); - } + } // else if (BaseTestCase.currentModule.equalsIgnoreCase(GlobalConstants.ESIGNET)) { // if ((testCaseName.startsWith("Esignet_") || testCaseName.startsWith("ESignet_"))