From 108f3ca90fea617edd4f13cf1ccf4aba119df2c3 Mon Sep 17 00:00:00 2001 From: Mohanachandran S Date: Wed, 26 Aug 2026 13:00:46 +0530 Subject: [PATCH 1/6] MOSIP-45381 - Automated the testcases for KYC exchange and KYC auth endpoints Signed-off-by: Mohanachandran S # Conflicts: # api-test/src/main/java/io/mosip/testrig/apirig/auth/utils/IdAuthenticationUtil.java # api-test/src/main/resources/ida/DemoAuthKycExchange/DemoAuthKycExchange.yml --- .../apirig/auth/testscripts/BioAuth.java | 6 + .../apirig/auth/testscripts/KycExchange.java | 6 + .../auth/utils/IdAuthenticationUtil.java | 432 +++---- .../config/testCaseInterDependency.json | 29 +- .../ida/AuthInternalLock/AuthInternalLock.yml | 2 +- .../resources/ida/AuthLock/createAuthLock.yml | 2 +- .../ida/AuthTransaction/AuthTransaction.yml | 19 +- .../ida/BioAuthDelegated/BioAuthDelegated.yml | 47 + .../BioAuthDelegatedV2/BioAuthDelegatedV2.yml | 1050 ++++++++++++++++- ...ioKYCAuthDelegatedResultWithClaimsMeta.hbs | 6 + .../ida/BioAuthDelegatedV2/error.hbs | 2 +- .../ida/BioAuthDelegatedV2/errorKycStatus.hbs | 13 + .../BioAuthKycExchange/BioAuthKYCExchange.yml | 29 + .../BioAuthKYCExchangeV2Custom.hbs | 40 + .../BioAuthKycExchangeV2.yml | 366 +++++- .../resources/ida/CreateVID/CreateVid.yml | 2 +- .../main/resources/ida/DemoAuth/DemoAuth2.yml | 36 +- .../DemoAuthDelegated/DemoAuthDelegated.yml | 130 ++ .../DemoAuthDelegatedNeg.yml | 12 +- .../DemoAuthDelegatedV2.hbs | 24 + .../DemoAuthDelegatedV2.yml | 57 + .../DemoAuthDelegatedV2Result.hbs | 5 + .../DemoAuthKycExchange.yml | 47 +- .../ida/KycExchangeNeg/KycExchangeNeg.yml | 353 ++++++ .../main/resources/ida/OtpAuth/OtpAuth2.yml | 43 - .../ida/OtpAuthDelegated/OtpAuthDelegated.yml | 34 + .../OtpAuthDelegatedV2/OtpAuthDelegatedV2.hbs | 24 + .../OtpAuthDelegatedV2/OtpAuthDelegatedV2.yml | 73 ++ .../OtpAuthDelegatedV2Result.hbs | 5 + .../OtpAuthKycExchange/OtpAuthKycExchange.yml | 58 +- .../UnBlockHotlistAPIForPartnerId.yml | 2 +- api-test/testNgXmlFiles/authSuite.xml | 47 +- 32 files changed, 2562 insertions(+), 439 deletions(-) create mode 100644 api-test/src/main/resources/ida/BioAuthDelegatedV2/BioKYCAuthDelegatedResultWithClaimsMeta.hbs create mode 100644 api-test/src/main/resources/ida/BioAuthDelegatedV2/errorKycStatus.hbs create mode 100644 api-test/src/main/resources/ida/BioAuthKycExchangeV2/BioAuthKYCExchangeV2Custom.hbs create mode 100644 api-test/src/main/resources/ida/DemoAuthDelegatedV2/DemoAuthDelegatedV2.hbs create mode 100644 api-test/src/main/resources/ida/DemoAuthDelegatedV2/DemoAuthDelegatedV2.yml create mode 100644 api-test/src/main/resources/ida/DemoAuthDelegatedV2/DemoAuthDelegatedV2Result.hbs create mode 100644 api-test/src/main/resources/ida/KycExchangeNeg/KycExchangeNeg.yml create mode 100644 api-test/src/main/resources/ida/OtpAuthDelegatedV2/OtpAuthDelegatedV2.hbs create mode 100644 api-test/src/main/resources/ida/OtpAuthDelegatedV2/OtpAuthDelegatedV2.yml create mode 100644 api-test/src/main/resources/ida/OtpAuthDelegatedV2/OtpAuthDelegatedV2Result.hbs diff --git a/api-test/src/main/java/io/mosip/testrig/apirig/auth/testscripts/BioAuth.java b/api-test/src/main/java/io/mosip/testrig/apirig/auth/testscripts/BioAuth.java index 480b53d08b2..c747d9d0cb4 100644 --- a/api-test/src/main/java/io/mosip/testrig/apirig/auth/testscripts/BioAuth.java +++ b/api-test/src/main/java/io/mosip/testrig/apirig/auth/testscripts/BioAuth.java @@ -91,6 +91,12 @@ public void test(TestCaseDTO testCaseDTO) throws AuthenticationTestException, Ad testCaseDTO.setEndPoint(replaceIdWithAutogeneratedId(testCaseDTO.getEndPoint(), "$ID:")); PartnerRegistration.appendEkycOrRp.set("rp-"); } + if (testCaseDTO.getEndPoint().contains("$kycDelegationDisabledPartnerKeyUrl$")) { + testCaseDTO.setEndPoint(testCaseDTO.getEndPoint().replace("$kycDelegationDisabledPartnerKeyUrl$", + IdAuthenticationUtil.generateAndGetKycDelegationDisabledPartnerKeyUrl())); + testCaseDTO.setEndPoint(replaceIdWithAutogeneratedId(testCaseDTO.getEndPoint(), "$ID:")); + PartnerRegistration.appendEkycOrRp.set("rp-"); + } if (testCaseDTO.getEndPoint().contains("$ekycPartnerKeyURL$")) { testCaseDTO.setEndPoint(testCaseDTO.getEndPoint().replace("$ekycPartnerKeyURL$", ekycPartnerKeyURL)); PartnerRegistration.appendEkycOrRp.set("ekyc-"); diff --git a/api-test/src/main/java/io/mosip/testrig/apirig/auth/testscripts/KycExchange.java b/api-test/src/main/java/io/mosip/testrig/apirig/auth/testscripts/KycExchange.java index ea711c4eb44..72065929abd 100644 --- a/api-test/src/main/java/io/mosip/testrig/apirig/auth/testscripts/KycExchange.java +++ b/api-test/src/main/java/io/mosip/testrig/apirig/auth/testscripts/KycExchange.java @@ -89,6 +89,12 @@ public void test(TestCaseDTO testCaseDTO) PartnerRegistration.appendEkycOrRp.set("rp-"); } + if (testCaseDTO.getEndPoint().contains("$kycDelegationDisabledPartnerKeyUrl$")) { + testCaseDTO.setEndPoint(testCaseDTO.getEndPoint().replace("$kycDelegationDisabledPartnerKeyUrl$", + IdAuthenticationUtil.generateAndGetKycDelegationDisabledPartnerKeyUrl())); + testCaseDTO.setEndPoint(replaceIdWithAutogeneratedId(testCaseDTO.getEndPoint(), "$ID:")); + PartnerRegistration.appendEkycOrRp.set("rp-"); + } if (testCaseDTO.getEndPoint().contains("$ekycPartnerKeyURL$")) { testCaseDTO.setEndPoint(testCaseDTO.getEndPoint().replace("$ekycPartnerKeyURL$", ekycPartnerKeyURL)); PartnerRegistration.appendEkycOrRp.set("ekyc-"); diff --git a/api-test/src/main/java/io/mosip/testrig/apirig/auth/utils/IdAuthenticationUtil.java b/api-test/src/main/java/io/mosip/testrig/apirig/auth/utils/IdAuthenticationUtil.java index d60d2596c38..de4718c4d79 100644 --- a/api-test/src/main/java/io/mosip/testrig/apirig/auth/utils/IdAuthenticationUtil.java +++ b/api-test/src/main/java/io/mosip/testrig/apirig/auth/utils/IdAuthenticationUtil.java @@ -3,14 +3,12 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; -import java.util.Map; import javax.ws.rs.core.MediaType; import org.apache.log4j.Level; import org.apache.log4j.Logger; import org.json.JSONArray; -import org.json.JSONObject; import org.testng.SkipException; import io.mosip.testrig.apirig.auth.testrunner.MosipTestRunner; @@ -23,6 +21,7 @@ import io.mosip.testrig.apirig.utils.JWKKeyUtil; import io.mosip.testrig.apirig.utils.KeyCloakUserAndAPIKeyGeneration; import io.mosip.testrig.apirig.utils.KeycloakUserManager; +import io.mosip.testrig.apirig.utils.MispPartnerAndLicenseKeyGeneration; import io.mosip.testrig.apirig.utils.PartnerRegistration; import io.mosip.testrig.apirig.utils.RestClient; import io.mosip.testrig.apirig.utils.SkipTestCaseHandler; @@ -83,6 +82,15 @@ public static String isTestCaseValidForExecution(TestCaseDTO testCaseDTO) { && (!isElementPresent(globalRequiredFields, individualBiometrics))) { throw new SkipException(GlobalConstants.FEATURE_NOT_SUPPORTED_MESSAGE); } else if (testCaseName.startsWith("auth_") && testCaseName.contains("_DemoAuthDelegated") || testCaseName.contains("_DemoAuthKycExchange")) { + // Intentional skip: app rejects DEMO on delegated flow - "DEMO Authentication usage not allowed as per client AMR configuration" (OIDC client AMR restriction, not a code gap). + throw new SkipException(GlobalConstants.FEATURE_NOT_SUPPORTED_MESSAGE); + } else if (testCaseDTO.getUniqueIdentifier() != null + && (testCaseDTO.getUniqueIdentifier().equals("TC_IDA_KycExchangeNeg_10") + || testCaseDTO.getUniqueIdentifier().equals("TC_IDA_KycExchangeNeg_11") + || testCaseDTO.getUniqueIdentifier().equals("TC_IDA_KycExchangeNeg_12") + || testCaseDTO.getUniqueIdentifier().equals("TC_IDA_KycExchangeNeg_13"))) { + // These consume a kycToken minted by DemoAuthDelegated (skipped above, see comment), so + // skip cleanly here instead of failing on the downstream dependency-resolution SkipException. throw new SkipException(GlobalConstants.FEATURE_NOT_SUPPORTED_MESSAGE); } else if (testCaseName.startsWith("auth_") && ((testCaseName.contains("_DeactivateUINs_")) || (testCaseName.contains("PublishDraft_"))) @@ -199,318 +207,144 @@ public static String replaceKeywordValue(String jsonString, String keyword, Stri } } - /** - * Fails fast with a SkipException when a setup REST call did not succeed, - * instead of letting the caller hit an opaque JSONException while parsing - * an error response, or silently continuing with an invalid/empty token. - */ - private static void assertSuccessStatusCode(Response response, String failureMessage) { - if (response == null) { - throw new SkipException(failureMessage + ": null response"); - } - int statusCode = response.getStatusCode(); - if (statusCode < 200 || statusCode >= 300) { - throw new SkipException(failureMessage + ": HTTP " + statusCode + " - " + response.asString()); + // Module-local MISP partner/policy with delegation disabled, for IDA-MPA-030/031 only. + public static String kycDelegationDisabledMispLicKey = ""; + public static String kycDelegationDisabledPartnerKeyUrl = null; + private static final String KYC_DELEGATION_DISABLED_PARTNER_ID = "mosip-nodeleg-" + AdminTestUtil.timeStamp; + private static final String KYC_DELEGATION_DISABLED_POLICY_GROUP = "mosip misp no deleg policy group " + + AdminTestUtil.timeStamp; + private static final String KYC_DELEGATION_DISABLED_POLICY_NAME = "mosip misp no deleg policy " + + AdminTestUtil.timeStamp; + + // fails fast with the response body instead of a raw NPE when "response" is missing/null + private static String extractIdOrFail(Response response, String step) { + String body = response.getBody().asString(); + org.json.JSONObject json = new org.json.JSONObject(body); + if (json.isNull(GlobalConstants.RESPONSE)) { + throw new RuntimeException(step + " failed: " + body); } + return json.getJSONObject(GlobalConstants.RESPONSE).getString("id"); } - /** - * Creates and publishes an additional auth policy (under the same policy - * group as the main auth partner) using the given allowed-auth-types - * attributes file (which determines, among other things, the authTokenType - * of the policy), and returns the created policy id. - */ @SuppressWarnings("unchecked") - private static String createAndPublishPolicy(String policyNameToCreate, String attrFilePath) { - String token = kernelAuthLib.getTokenByRole(GlobalConstants.PARTNER); - - String url = ApplnURI + properties.getProperty("authPolicyUrl"); - org.json.simple.JSONObject actualrequestBody = getRequestJson(AUTH_POLICY_BODY); - org.json.simple.JSONObject actualrequest2 = getRequestJson(AUTH_POLICY_REQUEST); - org.json.simple.JSONObject actualrequestAttr = getRequestJson(attrFilePath); - - actualrequest2.put("name", policyNameToCreate); - actualrequest2.put("policyGroupName", PartnerRegistration.policyGroup); - actualrequest2.put("policies", actualrequestAttr); - actualrequestBody.put(GlobalConstants.REQUEST, actualrequest2); - actualrequestBody.put(GlobalConstants.REQUESTTIME, generateCurrentUTCTimeStamp()); + public static synchronized String generateAndGetKycDelegationDisabledPartnerKeyUrl() { + if (kycDelegationDisabledPartnerKeyUrl != null) { + return kycDelegationDisabledPartnerKeyUrl; + } - Response response = RestClient.postRequestWithCookie(url, actualrequestBody, MediaType.APPLICATION_JSON, - MediaType.APPLICATION_JSON, GlobalConstants.AUTHORIZATION, token); - assertSuccessStatusCode(response, "Failed to create auth policy"); - String responseBody = response.getBody().asString(); - String createdPolicyId = new JSONObject(responseBody).getJSONObject(GlobalConstants.RESPONSE) - .getString("id"); + String token = kernelAuthLib.getTokenByRole(GlobalConstants.PARTNER); + // dedicated policy group, isolated from the one the rest of the suite uses + String policyGroupUrl = ApplnURI + properties.getProperty("policyGroupUrl"); + org.json.simple.JSONObject groupRequest = new org.json.simple.JSONObject(); + groupRequest.put("desc", "desc mosip misp no-delegation policy group"); + groupRequest.put("name", KYC_DELEGATION_DISABLED_POLICY_GROUP); + + org.json.simple.JSONObject groupBody = new org.json.simple.JSONObject(); + groupBody.put("id", GlobalConstants.STRING); + groupBody.put(GlobalConstants.METADATA, new HashMap<>()); + groupBody.put(GlobalConstants.REQUEST, groupRequest); + groupBody.put(GlobalConstants.REQUESTTIME, generateCurrentUTCTimeStamp()); + groupBody.put(GlobalConstants.VERSION, GlobalConstants.STRING); + + Response groupResponse = RestClient.postRequestWithCookie(policyGroupUrl, groupBody, + MediaType.APPLICATION_JSON, MediaType.APPLICATION_JSON, GlobalConstants.AUTHORIZATION, token); + String policyGroupId = extractIdOrFail(groupResponse, "no-delegation policy group creation"); + + // same shape as config/mispPolicy.json but with allowKycRequestDelegation false + org.json.simple.JSONObject noDelegationPolicies = new org.json.simple.JSONObject(); + noDelegationPolicies.put("trustBindedAuthVerificationToken", true); + noDelegationPolicies.put("allowAuthRequestDelegation", true); + noDelegationPolicies.put("allowKycRequestDelegation", false); + noDelegationPolicies.put("allowKeyBindingDelegation", true); + noDelegationPolicies.put("allowVciRequestDelegation", true); + + org.json.simple.JSONObject policyRequest = new org.json.simple.JSONObject(); + policyRequest.put("name", KYC_DELEGATION_DISABLED_POLICY_NAME); + policyRequest.put("policyGroupName", KYC_DELEGATION_DISABLED_POLICY_GROUP); + policyRequest.put("desc", "desc mosip misp no-delegation policy"); + policyRequest.put("policyType", "MISP"); + // required field, missing here previously caused policy creation to fail server-side + policyRequest.put(GlobalConstants.VERSION, "1.0"); + policyRequest.put("policies", noDelegationPolicies); + + org.json.simple.JSONObject policyBody = new org.json.simple.JSONObject(); + policyBody.put("id", GlobalConstants.STRING); + policyBody.put(GlobalConstants.METADATA, new HashMap<>()); + policyBody.put(GlobalConstants.REQUEST, policyRequest); + policyBody.put(GlobalConstants.REQUESTTIME, generateCurrentUTCTimeStamp()); + policyBody.put(GlobalConstants.VERSION, GlobalConstants.STRING); + + String authPolicyUrl = ApplnURI + properties.getProperty("authPolicyUrl"); + Response policyResponse = RestClient.postRequestWithCookie(authPolicyUrl, policyBody, + MediaType.APPLICATION_JSON, MediaType.APPLICATION_JSON, GlobalConstants.AUTHORIZATION, token); + String policyId = extractIdOrFail(policyResponse, "no-delegation policy creation"); + + // publish - not enforced until published String publishPolicyURL = ApplnURI + properties.getProperty("publishPolicyurl"); if (publishPolicyURL.contains("POLICYID")) { - publishPolicyURL = publishPolicyURL.replace("POLICYID", createdPolicyId); - publishPolicyURL = publishPolicyURL.replace("POLICYGROUPID", policygroupId); + publishPolicyURL = publishPolicyURL.replace("POLICYID", policyId).replace("POLICYGROUPID", policyGroupId); } - - Response publishResponse = RestClient.postRequestWithCookie(publishPolicyURL, MediaType.APPLICATION_JSON, + RestClient.postRequestWithCookie(publishPolicyURL, MediaType.APPLICATION_JSON, MediaType.APPLICATION_JSON, + GlobalConstants.AUTHORIZATION, token); + + // new MISP partner mapped to that policy group; Auth-Partner-ID/OIDC-Client-Id stay unchanged + String partnersUrl = ApplnURI + "/v1/partnermanager/partners"; + org.json.simple.JSONObject partnerRequest = new org.json.simple.JSONObject(); + partnerRequest.put("address", "Bangalore"); + partnerRequest.put("contactNumber", "8553967572"); + partnerRequest.put("emailId", "mosip_nodeleg" + AdminTestUtil.timeStamp + "@gmail.com"); + partnerRequest.put("organizationName", KYC_DELEGATION_DISABLED_PARTNER_ID); + partnerRequest.put(GlobalConstants.PARTNERID, KYC_DELEGATION_DISABLED_PARTNER_ID); + partnerRequest.put(GlobalConstants.PARTNERTYPE, "Misp_Partner"); + partnerRequest.put("policyGroup", KYC_DELEGATION_DISABLED_POLICY_GROUP); + + org.json.simple.JSONObject partnerBody = new org.json.simple.JSONObject(); + partnerBody.put("id", GlobalConstants.STRING); + partnerBody.put(GlobalConstants.METADATA, new HashMap<>()); + partnerBody.put(GlobalConstants.REQUEST, partnerRequest); + partnerBody.put(GlobalConstants.REQUESTTIME, generateCurrentUTCTimeStamp()); + partnerBody.put(GlobalConstants.VERSION, GlobalConstants.STRING); + + RestClient.postRequestWithCookie(partnersUrl, partnerBody, MediaType.APPLICATION_JSON, MediaType.APPLICATION_JSON, GlobalConstants.AUTHORIZATION, token); - assertSuccessStatusCode(publishResponse, "Failed to publish auth policy"); - - return createdPolicyId; - } - /** - * Logs in as the given partner (PMS internal userid/password auth, the same - * way {@code KernelAuthentication.getAuthForNewPartner()} logs in as the main - * partner) and returns the auth token. Generating an API key is a partner - * self-service action in PMS - it has to be done as that partner's own - * Keycloak user, not via a generic admin/role token, otherwise PMS rejects - * it with "User not authorized" (PMS_PRT_055). - */ - private static String loginAsPartner(String partnerId) { - Map kernelProps = AdminTestUtil.readProperty("Kernel"); - String authenticationInternalEndpoint = kernelProps.get("authenticationInternal"); - - org.json.simple.JSONObject actualrequest = getRequestJson("config/Authorization/internalAuthRequest.json"); - org.json.simple.JSONObject request = new org.json.simple.JSONObject(); - request.put(GlobalConstants.APPID, ConfigManager.getPmsAppId()); - request.put(GlobalConstants.PASSWORD, GlobalConstants.MOSIP123); - request.put(GlobalConstants.USER_NAME, partnerId); - request.put(GlobalConstants.CLIENTID, ConfigManager.getPmsClientId()); - request.put(GlobalConstants.CLIENTSECRET, ConfigManager.getPmsClientSecret()); - actualrequest.put(GlobalConstants.REQUEST, request); - - Response response = AdminTestUtil.postWithJson(authenticationInternalEndpoint, actualrequest); - assertSuccessStatusCode(response, "Failed to fetch admin token for partner " + partnerId); - return new JSONObject(response.getBody().asString()).getJSONObject(GlobalConstants.RESPONSE) - .getString(GlobalConstants.TOKEN); - } + // MispPartnerAndLicenseKeyGeneration.getCertificates() hardcodes keyFileNameByPartnerName=false, + // which reuses the first partner's cached cert files - go straight to AuthTestsUtil with true so + // the cert chain (and its Organization field) is unique to this partner id + io.mosip.testrig.apirig.dto.CertificateChainResponseDto certChain; + try { + certChain = new io.mosip.testrig.apirig.utils.AuthTestsUtil().generatePartnerKeys( + io.mosip.testrig.apirig.utils.PartnerTypes.MISP, KYC_DELEGATION_DISABLED_PARTNER_ID, true, null, + BaseTestCase.certsForModule, ApplnURI.replace("https://", "")); + } catch (Exception e) { + throw new RuntimeException("failed to generate no-delegation partner keys", e); + } + MispPartnerAndLicenseKeyGeneration.uploadCACertificate(certChain.getCaCertificate(), "Auth"); + MispPartnerAndLicenseKeyGeneration.uploadIntermediateCertificate(certChain.getInterCertificate(), "Auth"); + org.json.JSONObject signedCertificateValue = MispPartnerAndLicenseKeyGeneration.uploadPartnerCertificate( + certChain.getPartnerCertificate(), "Auth", KYC_DELEGATION_DISABLED_PARTNER_ID); + // MispPartnerAndLicenseKeyGeneration.uploadSignedCertificate() hardcodes partnerName=null/keyFileNameByPartnerName=false, + // which would update the wrong (generic) key file - call AuthTestsUtil directly with the same params used above + HashMap signedCertRequest = new HashMap<>(); + signedCertRequest.put("certData", signedCertificateValue.getString("signedCertificateData")); + try { + new io.mosip.testrig.apirig.utils.AuthTestsUtil().updatePartnerCertificate( + io.mosip.testrig.apirig.utils.PartnerTypes.MISP, KYC_DELEGATION_DISABLED_PARTNER_ID, true, + signedCertRequest, null, BaseTestCase.certsForModule, ApplnURI.replace("https://", "")); + } catch (Exception e) { + throw new RuntimeException("failed to update no-delegation partner certificate", e); + } - /** - * Maps the given partner to the given policy, approves that mapping, and - * generates the resulting API key. {@code submitPartnerAndGetMappingKey} - * alone only returns a mapping key (not an API key) for an unapproved - * mapping; using it as-is in a partner key URL is why IDA used to reject - * these calls with "Partner is not registered" (IDA-MPA-009) - the mapping - * was never approved and no API key was ever generated for it. - */ - private static String mapPartnerToPolicyAndGenerateApiKey(String partnerId, String policyNameToUse) { - KeycloakUserManager.createKeyCloakUsers(partnerId, partnerId + "@mosip.net", PartnerRegistration.partnerType); - - String mappingKey = KeyCloakUserAndAPIKeyGeneration.submitPartnerAndGetMappingKey(partnerId, policyNameToUse); + String mappingKey = KeyCloakUserAndAPIKeyGeneration.submitPartnerAndGetMappingKey( + KYC_DELEGATION_DISABLED_PARTNER_ID, KYC_DELEGATION_DISABLED_POLICY_NAME); KeyCloakUserAndAPIKeyGeneration.approvePartnerAPIKey(mappingKey); - String url = ApplnURI + "/v1/partnermanager/partners/" + partnerId + "/generate/apikey"; - String token = loginAsPartner(partnerId); - - HashMap requestBody = new HashMap<>(); - requestBody.put("policyName", policyNameToUse); - requestBody.put("label", generateRandomAlphabeticString(4).toUpperCase()); - - HashMap body = new HashMap<>(); - body.put("id", GlobalConstants.STRING); - body.put(GlobalConstants.METADATA, new HashMap<>()); - body.put(GlobalConstants.REQUEST, requestBody); - body.put(GlobalConstants.REQUESTTIME, generateCurrentUTCTimeStamp()); - body.put(GlobalConstants.VERSION, GlobalConstants.STRING); - - Response response = RestClient.patchRequestWithCookie(url, body, MediaType.APPLICATION_JSON, - MediaType.APPLICATION_JSON, GlobalConstants.AUTHORIZATION, token); - assertSuccessStatusCode(response, "Failed to generate API key for partner " + partnerId); - JSONObject responseValue = new JSONObject(response.asString()).getJSONObject(GlobalConstants.RESPONSE); - - return responseValue.getString(GlobalConstants.APIKEY); - } - - private static final String AUTH_POLICY_FOR_POLICY_TOKEN_REQUEST_ATTR = "config/AuthPolicyForPolicyTokenAllowedAuthTypes.json"; - private static final String policyNameForPolicyToken = "mosip auth policy for policy token " - + BaseTestCase.runContext + System.currentTimeMillis(); - public static String policyIdForPolicyToken = ""; - public static String policyTokenPartnerKeyUrl = ""; - - /** - * Creates and publishes a second auth policy (under the same policy group as - * the main auth partner) whose authTokenType is "policy", so that the - * generated authToken is derived from the policy id and the UIN rather than - * the partner id. - */ - public static void createAndPublishPolicyWithPolicyTokenType() { - policyIdForPolicyToken = createAndPublishPolicy(policyNameForPolicyToken, - AUTH_POLICY_FOR_POLICY_TOKEN_REQUEST_ATTR); - } - - /** - * Maps the existing auth partner to the policy-token policy (created via - * {@link #createAndPublishPolicyWithPolicyTokenType()}) and builds the - * partner key URL that exercises that mapping. - */ - public static String generateAndGetPolicyTokenPartnerKeyUrl() { - String policyTokenApiKey = mapPartnerToPolicyAndGenerateApiKey(PartnerRegistration.partnerId, - policyNameForPolicyToken); - policyTokenPartnerKeyUrl = PartnerRegistration.mispLicKey + "/" + PartnerRegistration.partnerId + "/" - + policyTokenApiKey; - return policyTokenPartnerKeyUrl; - } - - private static final String AUTH_POLICY_FOR_RANDOM_TOKEN_REQUEST_ATTR = "config/AuthPolicyForRandomTokenAllowedAuthTypes.json"; - private static final String policyNameForRandomToken = "mosip auth policy for random token " - + BaseTestCase.runContext + System.currentTimeMillis(); - public static String policyIdForRandomToken = ""; - public static String randomTokenPartnerKeyUrl = ""; - - /** - * Creates and publishes a third auth policy (under the same policy group as - * the main auth partner) whose authTokenType is "random", so that a new, - * unrelated authToken is generated on every authentication call regardless - * of the UIN or partner. - */ - public static void createAndPublishPolicyWithRandomTokenType() { - policyIdForRandomToken = createAndPublishPolicy(policyNameForRandomToken, - AUTH_POLICY_FOR_RANDOM_TOKEN_REQUEST_ATTR); - } - - /** - * Maps the existing auth partner to the random-token policy (created via - * {@link #createAndPublishPolicyWithRandomTokenType()}) and builds the - * partner key URL that exercises that mapping. - */ - public static String generateAndGetRandomTokenPartnerKeyUrl() { - String randomTokenApiKey = mapPartnerToPolicyAndGenerateApiKey(PartnerRegistration.partnerId, - policyNameForRandomToken); - randomTokenPartnerKeyUrl = PartnerRegistration.mispLicKey + "/" + PartnerRegistration.partnerId + "/" - + randomTokenApiKey; - return randomTokenPartnerKeyUrl; - } - - /** - * Registers an additional, independent auth partner (its own - * certificates/keys) under the same policy group as the main partner, so - * that it can later be mapped to the same policy-token policy as the main - * partner. Used to verify that a "policy" authTokenType token depends only - * on the policy id and the UIN, not on which partner under that policy made - * the call. - */ - private static void registerAdditionalPolicyTokenPartner(String partnerId, String organizationName, - String emailId) { - String url = ApplnURI + properties.getProperty("putPartnerRegistrationUrl"); - String token = kernelAuthLib.getTokenByRole(GlobalConstants.PARTNER); - - HashMap requestBody = new HashMap<>(); - requestBody.put("address", "Bangalore"); - requestBody.put("contactNumber", "8553967572"); - requestBody.put("emailId", emailId); - requestBody.put("organizationName", organizationName); - requestBody.put(GlobalConstants.PARTNERID, partnerId); - requestBody.put("partnerType", PartnerRegistration.partnerType); - requestBody.put("policyGroup", PartnerRegistration.policyGroup); - - HashMap body = new HashMap<>(); - body.put("id", GlobalConstants.STRING); - body.put(GlobalConstants.METADATA, new HashMap<>()); - body.put(GlobalConstants.REQUEST, requestBody); - body.put(GlobalConstants.REQUESTTIME, generateCurrentUTCTimeStamp()); - body.put(GlobalConstants.VERSION, "LTS"); - - Response response = RestClient.postRequestWithCookie(url, body, MediaType.APPLICATION_JSON, - MediaType.APPLICATION_JSON, GlobalConstants.AUTHORIZATION, token); - assertSuccessStatusCode(response, "Failed to register partner " + partnerId); - - JSONObject certificateValue = PartnerRegistration.getCertificates(partnerId, "RELYING_PARTY"); - String caCertValue = certificateValue.getString("caCertificate"); - String interCertValue = certificateValue.getString("interCertificate"); - String partnerCertValue = certificateValue.getString("partnerCertificate"); - - PartnerRegistration.uploadCACertificate(caCertValue, "Auth"); - PartnerRegistration.uploadIntermediateCertificate(interCertValue, "Auth"); - - JSONObject signedcertificateValue = PartnerRegistration.uploadPartnerCertificate(partnerCertValue, "Auth", - partnerId); - String certValueSigned = signedcertificateValue.getString("signedCertificateData"); - - PartnerRegistration.uploadSignedCertificate(certValueSigned, "RELYING_PARTY", partnerId, true); - } - - /** - * Maps the given partner to the given policy and builds its partner key URL - * for that mapping. A partner can be mapped to several different policies - * (each mapping mints its own API key), which is how the same partner - * entity is reused across the policy/partner/random token type tests - * instead of registering a fresh partner for every combination. - */ - private static String mapPartnerToPolicyAndGetKeyUrl(String partnerId, String policyNameToUse) { - String apiKey = mapPartnerToPolicyAndGenerateApiKey(partnerId, policyNameToUse); - return PartnerRegistration.mispLicKey + "/" + partnerId + "/" + apiKey; - } - - private static String mapToPolicyTokenPolicyAndGetKeyUrl(String partnerId) { - return mapPartnerToPolicyAndGetKeyUrl(partnerId, policyNameForPolicyToken); - } - - private static final String policyToken2OrganizationName = BaseTestCase.currentModule + "_policy2_pid"; - public static String policyToken2PartnerId = policyToken2OrganizationName; - private static final String policyToken2EmailId = "mosip_policy2_" + System.currentTimeMillis() + "@gmail.com"; - public static String policyToken2PartnerKeyUrl = ""; - - public static void registerSecondPolicyTokenPartner() { - registerAdditionalPolicyTokenPartner(policyToken2PartnerId, policyToken2OrganizationName, - policyToken2EmailId); - } - - public static String generateAndGetSecondPolicyTokenPartnerKeyUrl() { - policyToken2PartnerKeyUrl = mapToPolicyTokenPolicyAndGetKeyUrl(policyToken2PartnerId); - return policyToken2PartnerKeyUrl; - } - - private static final String policyToken3OrganizationName = BaseTestCase.currentModule + "_policy3_pid"; - public static String policyToken3PartnerId = policyToken3OrganizationName; - private static final String policyToken3EmailId = "mosip_policy3_" + System.currentTimeMillis() + "@gmail.com"; - public static String policyToken3PartnerKeyUrl = ""; - - /** - * Registers a third partner mapped to the same policy-token policy, so that - * the "same token for the same UIN regardless of partner" property can be - * verified across more than just a single pair of partners. - */ - public static void registerThirdPolicyTokenPartner() { - registerAdditionalPolicyTokenPartner(policyToken3PartnerId, policyToken3OrganizationName, - policyToken3EmailId); - } - - public static String generateAndGetThirdPolicyTokenPartnerKeyUrl() { - policyToken3PartnerKeyUrl = mapToPolicyTokenPolicyAndGetKeyUrl(policyToken3PartnerId); - return policyToken3PartnerKeyUrl; - } - - public static String partnerToken2KeyUrl = ""; - - /** - * Maps the second partner (already registered for the policy-token tests via - * {@link #registerSecondPolicyTokenPartner()}) to the default policy, whose - * authTokenType is "partner", instead of the policy-token policy. This gives - * a second, independent partner under the SAME authTokenType=partner policy - * as the main partner, so the resulting authToken (which is derived from - * partnerId and UIN) can be compared against the main partner's token for - * the same UIN and shown to differ. - */ - public static String generateAndGetPartnerToken2KeyUrl() { - partnerToken2KeyUrl = mapPartnerToPolicyAndGetKeyUrl(policyToken2PartnerId, policyName); - return partnerToken2KeyUrl; - } - - public static String randomToken2PartnerKeyUrl = ""; - public static String randomToken3PartnerKeyUrl = ""; - - /** - * Maps the second and third partners (already registered for the - * policy-token tests) to the random-token policy created via - * {@link #createAndPublishPolicyWithRandomTokenType()}, so that the - * "a new random token every call, regardless of partner" property can be - * verified across multiple different partners sharing the same policy. - */ - public static String generateAndGetRandomToken2PartnerKeyUrl() { - randomToken2PartnerKeyUrl = mapPartnerToPolicyAndGetKeyUrl(policyToken2PartnerId, policyNameForRandomToken); - return randomToken2PartnerKeyUrl; - } + kycDelegationDisabledMispLicKey = MispPartnerAndLicenseKeyGeneration + .generateMispLicKey(KYC_DELEGATION_DISABLED_PARTNER_ID); - public static String generateAndGetRandomToken3PartnerKeyUrl() { - randomToken3PartnerKeyUrl = mapPartnerToPolicyAndGetKeyUrl(policyToken3PartnerId, policyNameForRandomToken); - return randomToken3PartnerKeyUrl; + kycDelegationDisabledPartnerKeyUrl = kycDelegationDisabledMispLicKey + "/" + PartnerRegistration.partnerId; + return kycDelegationDisabledPartnerKeyUrl; } } \ No newline at end of file diff --git a/api-test/src/main/resources/config/testCaseInterDependency.json b/api-test/src/main/resources/config/testCaseInterDependency.json index 81f8ed0abb0..30e981212ec 100644 --- a/api-test/src/main/resources/config/testCaseInterDependency.json +++ b/api-test/src/main/resources/config/testCaseInterDependency.json @@ -482,9 +482,11 @@ ], "TC_IDA_AuthUnlock_": ["TC_DependentModule_IdRepo_15"], "TC_IDA_DemoAuth_04": [ - "TC_IDA_GenerateVID_13", "TC_IDA_GenerateVID_01", - "TC_DependentModule_IdRepo_06", + "TC_DependentModule_IdRepo_06" + ], + "TC_IDA_DemoAuth_72": [ + "TC_IDA_GenerateVID_13", "TC_DependentModule_IdRepo_62" ], "TC_IDA_DemoAuth_01": ["TC_DependentModule_IdRepo_01"], @@ -531,10 +533,8 @@ "TC_IDA_GenerateVID_01", "TC_DependentModule_IdRepo_06" ], - "TC_IDA_HotlistAPI_Unblock_09": [ - "TC_IDA_HotlistAPI_17", - "TC_IDA_HotlistAPI_16" - ], + "TC_IDA_HotlistAPI_Unblock_09": ["TC_IDA_HotlistAPI_16"], + "TC_IDA_HotlistAPI_Unblock_10": ["TC_IDA_HotlistAPI_17"], "TC_IDA_BioAuth_41": [ "TC_IDA_GenerateVID_01", "TC_DependentModule_IdRepo_06" @@ -595,6 +595,7 @@ "TC_IDA_AuthInternalLock_09": ["TC_DependentModule_IdRepo_28"], "TC_IDA_AuthInternalLock_08": ["TC_DependentModule_IdRepo_27"], "TC_IDA_AuthInternalLock_07": ["TC_DependentModule_IdRepo_26"], + "TC_IDA_AuthInternalLock_11": ["TC_DependentModule_IdRepo_Delegated_11"], "TC_IDA_AuthInternalLock_06": ["TC_DependentModule_IdRepo_17"], "TC_IDA_AuthInternalLock_05": ["TC_DependentModule_IdRepo_16"], "TC_IDA_AuthInternalLock_04": ["TC_DependentModule_IdRepo_15"], @@ -803,10 +804,8 @@ "TC_IDA_GenerateVID_05" ], "TC_IDA_AuthLock_02": ["TC_DependentModule_IdRepo_20"], - "TC_IDA_AuthLock_01": [ - "TC_DependentModule_IdRepo_19", - "TC_DependentModule_IdRepo_34" - ], + "TC_IDA_AuthLock_01": ["TC_DependentModule_IdRepo_19"], + "TC_IDA_AuthLock_10": ["TC_DependentModule_IdRepo_34"], "TC_IDA_DemoAuth_73": ["TC_DependentModule_IdRepo_61"], "TC_IDA_DemoAuth_70": ["TC_DependentModule_IdRepo_37"], "TC_IDA_AuthLock_09": ["TC_DependentModule_IdRepo_53"], @@ -930,11 +929,11 @@ "TC_IDA_GenerateVID_01", "TC_DependentModule_IdRepo_06" ], - "TC_IDA_AuthTransaction_01": [ - "TC_DependentModule_IdRepo_07", - "TC_DependentModule_IdRepo_06", - "TC_DependentModule_IdRepo_09" - ], + "TC_IDA_AuthTransaction_01": ["TC_DependentModule_IdRepo_06"], + "TC_IDA_AuthTransaction_27": ["TC_DependentModule_IdRepo_07"], + "TC_IDA_AuthTransaction_28": ["TC_DependentModule_IdRepo_09"], + "TC_IDA_CreateVID_01": ["TC_DependentModule_IdRepo_06"], + "TC_IDA_CreateVID_04": ["TC_DependentModule_IdRepo_24"], "TC_IDA_MultiFactorAuth_31": ["TC_DependentModule_IdRepo_06"], "TC_IDA_MultiFactorAuth_32": [ "TC_IDA_GenerateVID_01", diff --git a/api-test/src/main/resources/ida/AuthInternalLock/AuthInternalLock.yml b/api-test/src/main/resources/ida/AuthInternalLock/AuthInternalLock.yml index 1edbe269a26..5e857f0837a 100644 --- a/api-test/src/main/resources/ida/AuthInternalLock/AuthInternalLock.yml +++ b/api-test/src/main/resources/ida/AuthInternalLock/AuthInternalLock.yml @@ -199,7 +199,7 @@ AuthInternalLock: auth_AuthInternal_Permanent_Lock_DemoAuthDelegate_Valid_Smoke_Pos: endPoint: /idrepository/v1/identity/authtypes/status - uniqueIdentifier: TC_IDA_AuthInternalLock_07 + uniqueIdentifier: TC_IDA_AuthInternalLock_11 description: lock Demo authType Permanently for UIN and demo auth shoud fail with the same UIN role: idrepo restMethod: post diff --git a/api-test/src/main/resources/ida/AuthLock/createAuthLock.yml b/api-test/src/main/resources/ida/AuthLock/createAuthLock.yml index 218a7baf89f..7258352b783 100644 --- a/api-test/src/main/resources/ida/AuthLock/createAuthLock.yml +++ b/api-test/src/main/resources/ida/AuthLock/createAuthLock.yml @@ -34,7 +34,7 @@ AuthLock: }' auth_AuthLock_Valid_UIN_locked_All: endPoint: /resident/v1/req/auth-lock - uniqueIdentifier: TC_IDA_AuthLock_01 + uniqueIdentifier: TC_IDA_AuthLock_10 description: Validate the behavior of the authentication lock service when a valid UIN that is already locked is processed role: resident checkErrorsOnlyInResponse: true diff --git a/api-test/src/main/resources/ida/AuthTransaction/AuthTransaction.yml b/api-test/src/main/resources/ida/AuthTransaction/AuthTransaction.yml index b43c8165dee..25ff6791dba 100644 --- a/api-test/src/main/resources/ida/AuthTransaction/AuthTransaction.yml +++ b/api-test/src/main/resources/ida/AuthTransaction/AuthTransaction.yml @@ -112,25 +112,10 @@ AuthTransaction: }' output: '{ "referenceIdType": "UIN" -}' - auth_AuthTransaction_allValid_UIN3: - endPoint: /idauthentication/v1/internal/authTransactions/individualId/{individualId} - uniqueIdentifier: TC_IDA_AuthTransaction_01 - description: Validate the successful processing of an authentication transaction for a UIN when all input parameters are valid - role: resident - checkErrorsOnlyInResponse: true - restMethod: get - inputTemplate: ida/AuthTransaction/authTransaction - outputTemplate: ida/AuthTransaction/authTransactionResult - input: '{ - "individualId":"$ID:AddIdentity_ValidParam_smoke_Pos_UIN$" -}' - output: '{ - "referenceIdType": "UIN" }' auth_AuthTransaction_allValid_UIN4: endPoint: /idauthentication/v1/internal/authTransactions/individualId/{individualId} - uniqueIdentifier: TC_IDA_AuthTransaction_01 + uniqueIdentifier: TC_IDA_AuthTransaction_27 description: Validate the successful processing of an authentication transaction for a UIN when all input parameters are valid role: resident checkErrorsOnlyInResponse: true @@ -145,7 +130,7 @@ AuthTransaction: }' auth_AuthTransaction_allValid_UIN5: endPoint: /idauthentication/v1/internal/authTransactions/individualId/{individualId} - uniqueIdentifier: TC_IDA_AuthTransaction_01 + uniqueIdentifier: TC_IDA_AuthTransaction_28 description: Validate the successful processing of an authentication transaction for a UIN when all input parameters are valid role: resident checkErrorsOnlyInResponse: true diff --git a/api-test/src/main/resources/ida/BioAuthDelegated/BioAuthDelegated.yml b/api-test/src/main/resources/ida/BioAuthDelegated/BioAuthDelegated.yml index c344c207248..737dde3f60b 100644 --- a/api-test/src/main/resources/ida/BioAuthDelegated/BioAuthDelegated.yml +++ b/api-test/src/main/resources/ida/BioAuthDelegated/BioAuthDelegated.yml @@ -998,4 +998,51 @@ BioAuthDelegated: }' output: '{ "kycStatus": "true" +}' + auth_BioAuthDelegatedNeg_KycRequestDelegation_NotAllowed_Neg: + endPoint: /idauthentication/v1/kyc-auth/delegated/$kycDelegationDisabledPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthDelegated_26 + description: Kyc auth with a MISP key whose policy disallows kyc delegation - verified live, app returns IDA-MPA-030 alongside a generic IDA-MLC-007 + role: resident + restMethod: post + inputTemplate: ida/BioAuthDelegated/BioAuthDelegated + outputTemplate: ida/DelegateError + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", + "transactionId": "$TRANSACTIONID$", + "individualIdType": "UIN", + "bio": true, + "demo": false, + "otp": false, + "identityRequest":{ + "bioSubType": "UNKNOWN", + "bioType": "FACE", + "bioValue": "$FACE$", + "deviceCode": "bc0b6848-6d45-46d1-a9bd-b334410bf823", + "dateTime": "$DATETIME$", + "deviceProviderID": "1873299273", + "deviceServiceID": "", + "deviceServiceVersion": "SB.WIN.001", + "deviceProvider": "SYNCBYTE", + "deviceProviderId": "SYNCBYTE.LTC165", + "deviceSubType": "Full face", + "make": "Logitech", + "model": "4d36e96c-e325-11ce-bfc1-08002be10318", + "serialNo": "78467171", + "type": "Face", + "transactionId": "$TRANSACTIONID$", + "identityRequestTemplate": "ida/BioAuth/BioAuthIdentityEncrypt", + "identityRequestEncUrl": "/idauthentication/v1/internal/encrypt" + } + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-MLC-007" + }, + { + "errorCode": "IDA-MPA-030" + } + ] }' \ No newline at end of file diff --git a/api-test/src/main/resources/ida/BioAuthDelegatedV2/BioAuthDelegatedV2.yml b/api-test/src/main/resources/ida/BioAuthDelegatedV2/BioAuthDelegatedV2.yml index ff62a37b569..57dcfc6ff37 100644 --- a/api-test/src/main/resources/ida/BioAuthDelegatedV2/BioAuthDelegatedV2.yml +++ b/api-test/src/main/resources/ida/BioAuthDelegatedV2/BioAuthDelegatedV2.yml @@ -39,4 +39,1052 @@ BioAuthDelegatedV2: }' output: '{ "kycStatus": "true" -}' \ No newline at end of file +}' + auth_BioAuthDelegatedV2_claimsMetadataRequired_true_Pos: + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthDelegatedV2_02 + description: Kyc auth V2 with claimsMetadataRequired true - response must carry a non-empty verifiedClaimsMetadata + role: resident + restMethod: post + inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 + outputTemplate: ida/BioAuthDelegatedV2/BioKYCAuthDelegatedResultWithClaimsMeta + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", + "transactionId": "$TRANSACTIONID$", + "individualIdType": "UIN", + "claimsMetadataRequired": true, + "bio": true, + "demo": false, + "otp": false, + "identityRequest":{ + "bioSubType": "UNKNOWN", + "bioType": "FACE", + "bioValue": "$FACE$", + "deviceCode": "bc0b6848-6d45-46d1-a9bd-b334410bf823", + "dateTime": "$DATETIME$", + "deviceProviderID": "1873299273", + "deviceServiceID": "", + "deviceServiceVersion": "SB.WIN.001", + "deviceProvider": "SYNCBYTE", + "deviceProviderId": "SYNCBYTE.LTC165", + "deviceSubType": "Full face", + "make": "Logitech", + "model": "4d36e96c-e325-11ce-bfc1-08002be10318", + "serialNo": "78467171", + "type": "Face", + "transactionId": "$TRANSACTIONID$", + "identityRequestTemplate": "ida/BioAuthDelegatedV2/BioAuthIdentityEncrypt", + "identityRequestEncUrl": "/idauthentication/v1/internal/encrypt" + } + }' + output: '{ + "kycStatus": "true", + "verifiedClaimsMetadata": "$IGNORE$" +}' + auth_BioAuthDelegatedV2_claimsMetadataRequired_false_Pos: + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthDelegatedV2_03 + description: Kyc auth V2 with claimsMetadataRequired omitted, defaults to false - still succeeds + role: resident + restMethod: post + inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 + outputTemplate: ida/BioAuthDelegatedV2/BioKYCAuthDelegatedResult + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", + "transactionId": "$TRANSACTIONID$", + "individualIdType": "UIN", + "claimsMetadataRequired": false, + "bio": true, + "demo": false, + "otp": false, + "identityRequest":{ + "bioSubType": "UNKNOWN", + "bioType": "FACE", + "bioValue": "$FACE$", + "deviceCode": "bc0b6848-6d45-46d1-a9bd-b334410bf823", + "dateTime": "$DATETIME$", + "deviceProviderID": "1873299273", + "deviceServiceID": "", + "deviceServiceVersion": "SB.WIN.001", + "deviceProvider": "SYNCBYTE", + "deviceProviderId": "SYNCBYTE.LTC165", + "deviceSubType": "Full face", + "make": "Logitech", + "model": "4d36e96c-e325-11ce-bfc1-08002be10318", + "serialNo": "78467171", + "type": "Face", + "transactionId": "$TRANSACTIONID$", + "identityRequestTemplate": "ida/BioAuthDelegatedV2/BioAuthIdentityEncrypt", + "identityRequestEncUrl": "/idauthentication/v1/internal/encrypt" + } + }' + output: '{ + "kycStatus": "true" +}' + auth_BioAuthDelegatedV2Neg_Invalid_BioValue_Neg: + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthDelegatedV2Neg_01 + description: Kyc auth V2 with invalid bioValue + role: resident + restMethod: post + inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 + outputTemplate: ida/BioAuthDelegatedV2/errorKycStatus + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_ValidParam_smoke_Pos_UIN$", + "transactionId": "$TRANSACTIONID$", + "individualIdType": "UIN", + "claimsMetadataRequired": false, + "bio": true, + "demo": false, + "otp": false, + "identityRequest":{ + "bioSubType": "UNKNOWN", + "bioType": "FACE", + "bioValue": "sgshshsh", + "deviceCode": "bc0b6848-6d45-46d1-a9bd-b334410bf823", + "dateTime": "$DATETIME$", + "deviceProviderID": "1873299273", + "deviceServiceID": "", + "deviceServiceVersion": "SB.WIN.001", + "deviceProvider": "SYNCBYTE", + "deviceProviderId": "SYNCBYTE.LTC165", + "deviceSubType": "Full face", + "make": "Logitech", + "model": "4d36e96c-e325-11ce-bfc1-08002be10318", + "serialNo": "78467171", + "type": "Face", + "transactionId": "$TRANSACTIONID$", + "identityRequestTemplate": "ida/BioAuthDelegatedV2/BioAuthIdentityEncrypt", + "identityRequestEncUrl": "/idauthentication/v1/internal/encrypt" + } + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-BIA-001" + } + ], + "response": { + "kycStatus": false + } +}' + auth_BioAuthDelegatedV2Neg_Invalid_DigitalId_Type_Neg: + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthDelegatedV2Neg_02 + description: Kyc auth V2 with an invalid digitalId type + role: resident + restMethod: post + inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 + outputTemplate: ida/BioAuthDelegatedV2/error + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:GenerateVID_All_Valid_Smoke_Perpetual_sid_vid$", + "transactionId": "$TRANSACTIONID$", + "individualIdType": "VID", + "claimsMetadataRequired": false, + "bio": true, + "demo": false, + "otp": false, + "identityRequest":{ + "bioSubType": "UNKNOWN", + "bioType": "FACE", + "bioValue": "$FACE$", + "deviceCode": "bc0b6848-6d45-46d1-a9bd-b334410bf823", + "dateTime": "$DATETIME$", + "deviceProviderID": "1873299273", + "deviceServiceID": "", + "deviceServiceVersion": "SB.WIN.001", + "deviceProvider": "SYNCBYTE", + "deviceProviderId": "SYNCBYTE.LTC165", + "deviceSubType": "Full face", + "make": "Logitech", + "model": "4d36e96c-e325-11ce-bfc1-08002be10318", + "serialNo": "78467171", + "type": "dhdhhdh@3647", + "transactionId": "$TRANSACTIONID$", + "identityRequestTemplate": "ida/BioAuthDelegatedV2/BioAuthIdentityEncrypt", + "identityRequestEncUrl": "/idauthentication/v1/internal/encrypt" + } + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-MLC-007" + }, + { + "errorCode": "IDA-DPM-004" + } + ], + "response": { + "authStatus": false + } +}' + auth_BioAuthDelegatedV2Neg_Dummy_PartnerKey_Neg: + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$a2673y3g3grURL$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthDelegatedV2Neg_03 + description: Kyc auth V2 with a dummy/unregistered partner key + role: resident + restMethod: post + inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 + outputTemplate: ida/BioAuthDelegatedV2/error + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_ValidParam_smoke_Pos_UIN$", + "transactionId": "$TRANSACTIONID$", + "individualIdType": "UIN", + "claimsMetadataRequired": false, + "bio": true, + "demo": false, + "otp": false, + "identityRequest":{ + "bioSubType": "UNKNOWN", + "bioType": "FACE", + "bioValue": "$FACE$", + "deviceCode": "bc0b6848-6d45-46d1-a9bd-b334410bf823", + "dateTime": "$DATETIME$", + "deviceProviderID": "1873299273", + "deviceServiceID": "", + "deviceServiceVersion": "SB.WIN.001", + "deviceProvider": "SYNCBYTE", + "deviceProviderId": "SYNCBYTE.LTC165", + "deviceSubType": "Full face", + "make": "Logitech", + "model": "4d36e96c-e325-11ce-bfc1-08002be10318", + "serialNo": "78467171", + "type": "Face", + "transactionId": "$TRANSACTIONID$", + "identityRequestTemplate": "ida/BioAuthDelegatedV2/BioAuthIdentityEncrypt", + "identityRequestEncUrl": "/idauthentication/v1/internal/encrypt" + } + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-MLC-007" + }, + { + "errorCode": "IDA-MPA-001" + } + ], + "response": { + "authStatus": false + } +}' + auth_BioAuthDelegatedV2Neg_Malformed_RequestTime_Neg: + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthDelegatedV2Neg_04 + description: Kyc auth V2 with an unparseable requestTime + role: resident + restMethod: post + inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 + outputTemplate: ida/BioAuthDelegatedV2/error + input: '{ + "requestTime": "not-a-valid-timestamp", + "individualId": "$ID:AddIdentity_ValidParam_smoke_Pos_UIN$", + "transactionId": "$TRANSACTIONID$", + "individualIdType": "UIN", + "claimsMetadataRequired": false, + "bio": true, + "demo": false, + "otp": false, + "identityRequest":{ + "bioSubType": "UNKNOWN", + "bioType": "FACE", + "bioValue": "$FACE$", + "deviceCode": "bc0b6848-6d45-46d1-a9bd-b334410bf823", + "dateTime": "$DATETIME$", + "deviceProviderID": "1873299273", + "deviceServiceID": "", + "deviceServiceVersion": "SB.WIN.001", + "deviceProvider": "SYNCBYTE", + "deviceProviderId": "SYNCBYTE.LTC165", + "deviceSubType": "Full face", + "make": "Logitech", + "model": "4d36e96c-e325-11ce-bfc1-08002be10318", + "serialNo": "78467171", + "type": "Face", + "transactionId": "$TRANSACTIONID$", + "identityRequestTemplate": "ida/BioAuthDelegatedV2/BioAuthIdentityEncrypt", + "identityRequestEncUrl": "/idauthentication/v1/internal/encrypt" + } + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-MLC-001" + } + ], + "response": { + "authStatus": false + } +}' + auth_BioAuthDelegatedV2Neg_Invalid_UIN_Neg: + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthDelegatedV2Neg_05 + description: Kyc auth V2 with an invalid UIN (fails checksum) + role: resident + restMethod: post + inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 + outputTemplate: ida/BioAuthDelegatedV2/error + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "9999999999", + "transactionId": "$TRANSACTIONID$", + "individualIdType": "UIN", + "claimsMetadataRequired": false, + "bio": true, + "demo": false, + "otp": false, + "identityRequest":{ + "bioSubType": "UNKNOWN", + "bioType": "FACE", + "bioValue": "$FACE$", + "deviceCode": "bc0b6848-6d45-46d1-a9bd-b334410bf823", + "dateTime": "$DATETIME$", + "deviceProviderID": "1873299273", + "deviceServiceID": "", + "deviceServiceVersion": "SB.WIN.001", + "deviceProvider": "SYNCBYTE", + "deviceProviderId": "SYNCBYTE.LTC165", + "deviceSubType": "Full face", + "make": "Logitech", + "model": "4d36e96c-e325-11ce-bfc1-08002be10318", + "serialNo": "78467171", + "type": "Face", + "transactionId": "$TRANSACTIONID$", + "identityRequestTemplate": "ida/BioAuthDelegatedV2/BioAuthIdentityEncrypt", + "identityRequestEncUrl": "/idauthentication/v1/internal/encrypt" + } + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-MLC-002" + } + ], + "response": { + "authStatus": false + } +}' + auth_BioAuthDelegatedV2Neg_Invalid_VID_Neg: + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthDelegatedV2Neg_06 + description: Kyc auth V2 with an invalid VID (fails checksum) + role: resident + restMethod: post + inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 + outputTemplate: ida/BioAuthDelegatedV2/error + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "999999999999999999", + "transactionId": "$TRANSACTIONID$", + "individualIdType": "VID", + "claimsMetadataRequired": false, + "bio": true, + "demo": false, + "otp": false, + "identityRequest":{ + "bioSubType": "UNKNOWN", + "bioType": "FACE", + "bioValue": "$FACE$", + "deviceCode": "bc0b6848-6d45-46d1-a9bd-b334410bf823", + "dateTime": "$DATETIME$", + "deviceProviderID": "1873299273", + "deviceServiceID": "", + "deviceServiceVersion": "SB.WIN.001", + "deviceProvider": "SYNCBYTE", + "deviceProviderId": "SYNCBYTE.LTC165", + "deviceSubType": "Full face", + "make": "Logitech", + "model": "4d36e96c-e325-11ce-bfc1-08002be10318", + "serialNo": "78467171", + "type": "Face", + "transactionId": "$TRANSACTIONID$", + "identityRequestTemplate": "ida/BioAuthDelegatedV2/BioAuthIdentityEncrypt", + "identityRequestEncUrl": "/idauthentication/v1/internal/encrypt" + } + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-MLC-004" + } + ], + "response": { + "authStatus": false + } +}' + auth_BioAuthDelegatedV2Neg_Missing_RequestTime_Neg: + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthDelegatedV2Neg_07 + description: Kyc auth V2 with missing requestTime + role: resident + restMethod: post + inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 + outputTemplate: ida/BioAuthDelegatedV2/error + input: '{ + "requestTime": "$REMOVE$", + "individualId": "$ID:AddIdentity_ValidParam_smoke_Pos_UIN$", + "transactionId": "$TRANSACTIONID$", + "individualIdType": "UIN", + "claimsMetadataRequired": false, + "bio": true, + "demo": false, + "otp": false, + "identityRequest":{ + "bioSubType": "UNKNOWN", + "bioType": "FACE", + "bioValue": "$FACE$", + "deviceCode": "bc0b6848-6d45-46d1-a9bd-b334410bf823", + "dateTime": "$DATETIME$", + "deviceProviderID": "1873299273", + "deviceServiceID": "", + "deviceServiceVersion": "SB.WIN.001", + "deviceProvider": "SYNCBYTE", + "deviceProviderId": "SYNCBYTE.LTC165", + "deviceSubType": "Full face", + "make": "Logitech", + "model": "4d36e96c-e325-11ce-bfc1-08002be10318", + "serialNo": "78467171", + "type": "Face", + "transactionId": "$TRANSACTIONID$", + "identityRequestTemplate": "ida/BioAuthDelegatedV2/BioAuthIdentityEncrypt", + "identityRequestEncUrl": "/idauthentication/v1/internal/encrypt" + } + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-MLC-006" + } + ], + "response": { + "authStatus": false + } +}' + auth_BioAuthDelegatedV2Neg_Malformed_TransactionID_Neg: + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthDelegatedV2Neg_08 + description: Kyc auth V2 with transactionId not matching v1's 10-char alphanumeric format - v2 rejects it same as v1 (see TC_IDA_BioAuthDelegatedV2Neg_09 for the v2-specific upper bound instead) + role: resident + restMethod: post + inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 + outputTemplate: ida/BioAuthDelegatedV2/error + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_ValidParam_smoke_Pos_UIN$", + "transactionId": "txn-id-with-hyphens-15", + "individualIdType": "UIN", + "claimsMetadataRequired": false, + "bio": true, + "demo": false, + "otp": false, + "identityRequest":{ + "bioSubType": "UNKNOWN", + "bioType": "FACE", + "bioValue": "$FACE$", + "deviceCode": "bc0b6848-6d45-46d1-a9bd-b334410bf823", + "dateTime": "$DATETIME$", + "deviceProviderID": "1873299273", + "deviceServiceID": "", + "deviceServiceVersion": "SB.WIN.001", + "deviceProvider": "SYNCBYTE", + "deviceProviderId": "SYNCBYTE.LTC165", + "deviceSubType": "Full face", + "make": "Logitech", + "model": "4d36e96c-e325-11ce-bfc1-08002be10318", + "serialNo": "78467171", + "type": "Face", + "transactionId": "$TRANSACTIONID$", + "identityRequestTemplate": "ida/BioAuthDelegatedV2/BioAuthIdentityEncrypt", + "identityRequestEncUrl": "/idauthentication/v1/internal/encrypt" + } + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-MLC-009" + } + ], + "response": { + "authStatus": false + } +}' + auth_BioAuthDelegatedV2Neg_TransactionID_TooLong_Neg: + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthDelegatedV2Neg_09 + description: Kyc auth V2 with transactionID exceeding the v2 schema's 50 char upper bound + role: resident + restMethod: post + inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 + outputTemplate: ida/BioAuthDelegatedV2/error + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_ValidParam_smoke_Pos_UIN$", + "transactionId": "this-transaction-id-is-deliberately-longer-than-fifty-characters-01234", + "individualIdType": "UIN", + "claimsMetadataRequired": false, + "bio": true, + "demo": false, + "otp": false, + "identityRequest":{ + "bioSubType": "UNKNOWN", + "bioType": "FACE", + "bioValue": "$FACE$", + "deviceCode": "bc0b6848-6d45-46d1-a9bd-b334410bf823", + "dateTime": "$DATETIME$", + "deviceProviderID": "1873299273", + "deviceServiceID": "", + "deviceServiceVersion": "SB.WIN.001", + "deviceProvider": "SYNCBYTE", + "deviceProviderId": "SYNCBYTE.LTC165", + "deviceSubType": "Full face", + "make": "Logitech", + "model": "4d36e96c-e325-11ce-bfc1-08002be10318", + "serialNo": "78467171", + "type": "Face", + "transactionId": "$TRANSACTIONID$", + "identityRequestTemplate": "ida/BioAuthDelegatedV2/BioAuthIdentityEncrypt", + "identityRequestEncUrl": "/idauthentication/v1/internal/encrypt" + } + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-MLC-009" + } + ], + "response": { + "authStatus": false + } +}' + auth_BioAuthDelegatedV2Neg_Invalid_BioType_Neg: + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthDelegatedV2Neg_10 + description: Kyc auth V2 with an unsupported bioType value + role: resident + restMethod: post + inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 + outputTemplate: ida/BioAuthDelegatedV2/error + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_ValidParam_smoke_Pos_UIN$", + "transactionId": "$TRANSACTIONID$", + "individualIdType": "UIN", + "claimsMetadataRequired": false, + "bio": true, + "demo": false, + "otp": false, + "identityRequest":{ + "bioSubType": "", + "bioType": "FIR", + "bioValue": "$FACE$", + "deviceCode": "bc0b6848-6d45-46d1-a9bd-b334410bf823", + "dateTime": "$DATETIME$", + "deviceProviderID": "1873299273", + "deviceServiceID": "", + "deviceServiceVersion": "SB.WIN.001", + "deviceProvider": "SYNCBYTE", + "deviceProviderId": "SYNCBYTE.LTC165", + "deviceSubType": "Full face", + "make": "Logitech", + "model": "4d36e96c-e325-11ce-bfc1-08002be10318", + "serialNo": "78467171", + "type": "Face", + "transactionId": "$TRANSACTIONID$", + "identityRequestTemplate": "ida/BioAuthDelegatedV2/BioAuthIdentityEncrypt", + "identityRequestEncUrl": "/idauthentication/v1/internal/encrypt" + } + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-MLC-011" + } + ], + "response": { + "authStatus": false + } +}' + auth_BioAuthDelegatedV2Neg_Revoked_VID_Neg: + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthDelegatedV2Neg_11 + description: Kyc auth V2 with a revoked VID + role: resident + restMethod: post + inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 + outputTemplate: ida/BioAuthDelegatedV2/error + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:GenerateVID_to_revoke_smoke_Perpetual_sid_vid$", + "transactionId": "$TRANSACTIONID$", + "individualIdType": "VID", + "claimsMetadataRequired": false, + "bio": true, + "demo": false, + "otp": false, + "identityRequest":{ + "bioSubType": "UNKNOWN", + "bioType": "FACE", + "bioValue": "$FACE$", + "deviceCode": "bc0b6848-6d45-46d1-a9bd-b334410bf823", + "dateTime": "$DATETIME$", + "deviceProviderID": "1873299273", + "deviceServiceID": "", + "deviceServiceVersion": "SB.WIN.001", + "deviceProvider": "SYNCBYTE", + "deviceProviderId": "SYNCBYTE.LTC165", + "deviceSubType": "Full face", + "make": "Logitech", + "model": "4d36e96c-e325-11ce-bfc1-08002be10318", + "serialNo": "78467171", + "type": "FACE", + "transactionId": "$TRANSACTIONID$", + "identityRequestTemplate": "ida/BioAuthDelegatedV2/BioAuthIdentityEncrypt", + "identityRequestEncUrl": "/idauthentication/v1/internal/encrypt" + } + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-MLC-018" + } + ], + "response": { + "authStatus": false + } +}' + auth_BioAuthDelegatedV2Neg_Permanently_Locked_UIN_Neg: + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthDelegatedV2Neg_12 + description: Kyc auth V2 with a permanently locked UIN + role: resident + restMethod: post + inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 + outputTemplate: ida/BioAuthDelegatedV2/error + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_Lock_permanent_BioAuth_withValidParameters_smoke_Pos_UIN$", + "transactionId": "$TRANSACTIONID$", + "individualIdType": "UIN", + "claimsMetadataRequired": false, + "bio": true, + "demo": false, + "otp": false, + "identityRequest":{ + "bioSubType": "UNKNOWN", + "bioType": "FACE", + "bioValue": "$FACE$", + "deviceCode": "bc0b6848-6d45-46d1-a9bd-b334410bf823", + "dateTime": "$DATETIME$", + "deviceProviderID": "1873299273", + "deviceServiceID": "", + "deviceServiceVersion": "SB.WIN.001", + "deviceProvider": "SYNCBYTE", + "deviceProviderId": "SYNCBYTE.LTC165", + "deviceSubType": "Full face", + "make": "Logitech", + "model": "4d36e96c-e325-11ce-bfc1-08002be10318", + "serialNo": "78467171", + "type": "Face", + "transactionId": "$TRANSACTIONID$", + "identityRequestTemplate": "ida/BioAuthDelegatedV2/BioAuthIdentityEncrypt", + "identityRequestEncUrl": "/idauthentication/v1/internal/encrypt" + } + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-MLC-019" + } + ], + "response": { + "authStatus": false + } +}' + auth_BioAuthDelegatedV2Neg_IndividualId_TooShort_Neg: + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthDelegatedV2Neg_13 + description: Kyc auth V2 with individualId shorter than the schema's 12 char lower bound + role: resident + restMethod: post + inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 + outputTemplate: ida/BioAuthDelegatedV2/error + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "123456789", + "transactionId": "$TRANSACTIONID$", + "individualIdType": "UIN", + "claimsMetadataRequired": false, + "bio": true, + "demo": false, + "otp": false, + "identityRequest":{ + "bioSubType": "UNKNOWN", + "bioType": "FACE", + "bioValue": "$FACE$", + "deviceCode": "bc0b6848-6d45-46d1-a9bd-b334410bf823", + "dateTime": "$DATETIME$", + "deviceProviderID": "1873299273", + "deviceServiceID": "", + "deviceServiceVersion": "SB.WIN.001", + "deviceProvider": "SYNCBYTE", + "deviceProviderId": "SYNCBYTE.LTC165", + "deviceSubType": "Full face", + "make": "Logitech", + "model": "4d36e96c-e325-11ce-bfc1-08002be10318", + "serialNo": "78467171", + "type": "Face", + "transactionId": "$TRANSACTIONID$", + "identityRequestTemplate": "ida/BioAuthDelegatedV2/BioAuthIdentityEncrypt", + "identityRequestEncUrl": "/idauthentication/v1/internal/encrypt" + } + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-MLC-002" + } + ], + "response": { + "authStatus": false + } +}' + auth_BioAuthDelegatedV2Neg_IndividualId_TooLong_Neg: + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthDelegatedV2Neg_14 + description: Kyc auth V2 with individualId longer than the schema's 28 char upper bound + role: resident + restMethod: post + inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 + outputTemplate: ida/BioAuthDelegatedV2/error + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "123456789012345678901234567890", + "transactionId": "$TRANSACTIONID$", + "individualIdType": "UIN", + "claimsMetadataRequired": false, + "bio": true, + "demo": false, + "otp": false, + "identityRequest":{ + "bioSubType": "UNKNOWN", + "bioType": "FACE", + "bioValue": "$FACE$", + "deviceCode": "bc0b6848-6d45-46d1-a9bd-b334410bf823", + "dateTime": "$DATETIME$", + "deviceProviderID": "1873299273", + "deviceServiceID": "", + "deviceServiceVersion": "SB.WIN.001", + "deviceProvider": "SYNCBYTE", + "deviceProviderId": "SYNCBYTE.LTC165", + "deviceSubType": "Full face", + "make": "Logitech", + "model": "4d36e96c-e325-11ce-bfc1-08002be10318", + "serialNo": "78467171", + "type": "Face", + "transactionId": "$TRANSACTIONID$", + "identityRequestTemplate": "ida/BioAuthDelegatedV2/BioAuthIdentityEncrypt", + "identityRequestEncUrl": "/idauthentication/v1/internal/encrypt" + } + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-MLC-002" + } + ], + "response": { + "authStatus": false + } +}' + auth_BioAuthDelegatedV2_forKycExchangeV2IndividualIdMismatch_Pos_Sid: + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthDelegatedV2_04 + description: Kyc auth V2 dedicated token for kyc-exchange V2 individualId mismatch negative test + role: resident + restMethod: post + inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 + outputTemplate: ida/BioAuthDelegatedV2/BioKYCAuthDelegatedResult + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", + "transactionId": "$TRANSACTIONID$", + "individualIdType": "UIN", + "claimsMetadataRequired": false, + "bio": true, + "demo": false, + "otp": false, + "identityRequest":{ + "bioSubType": "UNKNOWN", + "bioType": "FACE", + "bioValue": "$FACE$", + "deviceCode": "bc0b6848-6d45-46d1-a9bd-b334410bf823", + "dateTime": "$DATETIME$", + "deviceProviderID": "1873299273", + "deviceServiceID": "", + "deviceServiceVersion": "SB.WIN.001", + "deviceProvider": "SYNCBYTE", + "deviceProviderId": "SYNCBYTE.LTC165", + "deviceSubType": "Full face", + "make": "Logitech", + "model": "4d36e96c-e325-11ce-bfc1-08002be10318", + "serialNo": "78467171", + "type": "Face", + "transactionId": "$TRANSACTIONID$", + "identityRequestTemplate": "ida/BioAuthDelegatedV2/BioAuthIdentityEncrypt", + "identityRequestEncUrl": "/idauthentication/v1/internal/encrypt" + } + }' + output: '{ + "kycStatus": "true" +}' + auth_BioAuthDelegatedV2_forKycExchangeV2DuplicateClaims_Pos_Sid: + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthDelegatedV2_05 + description: Kyc auth V2 dedicated token for kyc-exchange V2 duplicate verified/unverified claims negative test + role: resident + restMethod: post + inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 + outputTemplate: ida/BioAuthDelegatedV2/BioKYCAuthDelegatedResult + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", + "transactionId": "$TRANSACTIONID$", + "individualIdType": "UIN", + "claimsMetadataRequired": false, + "bio": true, + "demo": false, + "otp": false, + "identityRequest":{ + "bioSubType": "UNKNOWN", + "bioType": "FACE", + "bioValue": "$FACE$", + "deviceCode": "bc0b6848-6d45-46d1-a9bd-b334410bf823", + "dateTime": "$DATETIME$", + "deviceProviderID": "1873299273", + "deviceServiceID": "", + "deviceServiceVersion": "SB.WIN.001", + "deviceProvider": "SYNCBYTE", + "deviceProviderId": "SYNCBYTE.LTC165", + "deviceSubType": "Full face", + "make": "Logitech", + "model": "4d36e96c-e325-11ce-bfc1-08002be10318", + "serialNo": "78467171", + "type": "Face", + "transactionId": "$TRANSACTIONID$", + "identityRequestTemplate": "ida/BioAuthDelegatedV2/BioAuthIdentityEncrypt", + "identityRequestEncUrl": "/idauthentication/v1/internal/encrypt" + } + }' + output: '{ + "kycStatus": "true" +}' + auth_BioAuthDelegatedV2_forKycExchangeV2MissingTxnId_Pos_Sid: + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthDelegatedV2_06 + description: Kyc auth V2 dedicated token for kyc-exchange V2 missing/null transactionID negative test + role: resident + restMethod: post + inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 + outputTemplate: ida/BioAuthDelegatedV2/BioKYCAuthDelegatedResult + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", + "transactionId": "$TRANSACTIONID$", + "individualIdType": "UIN", + "claimsMetadataRequired": false, + "bio": true, + "demo": false, + "otp": false, + "identityRequest":{ + "bioSubType": "UNKNOWN", + "bioType": "FACE", + "bioValue": "$FACE$", + "deviceCode": "bc0b6848-6d45-46d1-a9bd-b334410bf823", + "dateTime": "$DATETIME$", + "deviceProviderID": "1873299273", + "deviceServiceID": "", + "deviceServiceVersion": "SB.WIN.001", + "deviceProvider": "SYNCBYTE", + "deviceProviderId": "SYNCBYTE.LTC165", + "deviceSubType": "Full face", + "make": "Logitech", + "model": "4d36e96c-e325-11ce-bfc1-08002be10318", + "serialNo": "78467171", + "type": "Face", + "transactionId": "$TRANSACTIONID$", + "identityRequestTemplate": "ida/BioAuthDelegatedV2/BioAuthIdentityEncrypt", + "identityRequestEncUrl": "/idauthentication/v1/internal/encrypt" + } + }' + output: '{ + "kycStatus": "true" +}' + auth_BioAuthDelegatedV2_forKycExchangeV2VerifiedOnly_Pos_Sid: + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthDelegatedV2_07 + description: Kyc auth V2 dedicated token for kyc-exchange V2 verified-claims-only positive test + role: resident + restMethod: post + inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 + outputTemplate: ida/BioAuthDelegatedV2/BioKYCAuthDelegatedResult + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", + "transactionId": "$TRANSACTIONID$", + "individualIdType": "UIN", + "claimsMetadataRequired": false, + "bio": true, + "demo": false, + "otp": false, + "identityRequest":{ + "bioSubType": "UNKNOWN", + "bioType": "FACE", + "bioValue": "$FACE$", + "deviceCode": "bc0b6848-6d45-46d1-a9bd-b334410bf823", + "dateTime": "$DATETIME$", + "deviceProviderID": "1873299273", + "deviceServiceID": "", + "deviceServiceVersion": "SB.WIN.001", + "deviceProvider": "SYNCBYTE", + "deviceProviderId": "SYNCBYTE.LTC165", + "deviceSubType": "Full face", + "make": "Logitech", + "model": "4d36e96c-e325-11ce-bfc1-08002be10318", + "serialNo": "78467171", + "type": "Face", + "transactionId": "$TRANSACTIONID$", + "identityRequestTemplate": "ida/BioAuthDelegatedV2/BioAuthIdentityEncrypt", + "identityRequestEncUrl": "/idauthentication/v1/internal/encrypt" + } + }' + output: '{ + "kycStatus": "true" +}' + auth_BioAuthDelegatedV2_forKycExchangeV2UnverifiedOnly_Pos_Sid: + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthDelegatedV2_08 + description: Kyc auth V2 dedicated token for kyc-exchange V2 unverified-claims-only positive test + role: resident + restMethod: post + inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 + outputTemplate: ida/BioAuthDelegatedV2/BioKYCAuthDelegatedResult + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", + "transactionId": "$TRANSACTIONID$", + "individualIdType": "UIN", + "claimsMetadataRequired": false, + "bio": true, + "demo": false, + "otp": false, + "identityRequest":{ + "bioSubType": "UNKNOWN", + "bioType": "FACE", + "bioValue": "$FACE$", + "deviceCode": "bc0b6848-6d45-46d1-a9bd-b334410bf823", + "dateTime": "$DATETIME$", + "deviceProviderID": "1873299273", + "deviceServiceID": "", + "deviceServiceVersion": "SB.WIN.001", + "deviceProvider": "SYNCBYTE", + "deviceProviderId": "SYNCBYTE.LTC165", + "deviceSubType": "Full face", + "make": "Logitech", + "model": "4d36e96c-e325-11ce-bfc1-08002be10318", + "serialNo": "78467171", + "type": "Face", + "transactionId": "$TRANSACTIONID$", + "identityRequestTemplate": "ida/BioAuthDelegatedV2/BioAuthIdentityEncrypt", + "identityRequestEncUrl": "/idauthentication/v1/internal/encrypt" + } + }' + output: '{ + "kycStatus": "true" +}' + auth_BioAuthDelegatedV2_forKycExchangeV2MultiVerification_Pos_Sid: + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthDelegatedV2_09 + description: Kyc auth V2 dedicated token for kyc-exchange V2 multiple verification blocks positive test + role: resident + restMethod: post + inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 + outputTemplate: ida/BioAuthDelegatedV2/BioKYCAuthDelegatedResult + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", + "transactionId": "$TRANSACTIONID$", + "individualIdType": "UIN", + "claimsMetadataRequired": false, + "bio": true, + "demo": false, + "otp": false, + "identityRequest":{ + "bioSubType": "UNKNOWN", + "bioType": "FACE", + "bioValue": "$FACE$", + "deviceCode": "bc0b6848-6d45-46d1-a9bd-b334410bf823", + "dateTime": "$DATETIME$", + "deviceProviderID": "1873299273", + "deviceServiceID": "", + "deviceServiceVersion": "SB.WIN.001", + "deviceProvider": "SYNCBYTE", + "deviceProviderId": "SYNCBYTE.LTC165", + "deviceSubType": "Full face", + "make": "Logitech", + "model": "4d36e96c-e325-11ce-bfc1-08002be10318", + "serialNo": "78467171", + "type": "Face", + "transactionId": "$TRANSACTIONID$", + "identityRequestTemplate": "ida/BioAuthDelegatedV2/BioAuthIdentityEncrypt", + "identityRequestEncUrl": "/idauthentication/v1/internal/encrypt" + } + }' + output: '{ + "kycStatus": "true" +}' + auth_BioAuthDelegatedV2_forKycExchangeV2RespTypeNonJwe_Pos_Sid: + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthDelegatedV2_10 + description: Kyc auth V2 dedicated token for kyc-exchange V2 non-JWE respType positive test + role: resident + restMethod: post + inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 + outputTemplate: ida/BioAuthDelegatedV2/BioKYCAuthDelegatedResult + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", + "transactionId": "$TRANSACTIONID$", + "individualIdType": "UIN", + "claimsMetadataRequired": false, + "bio": true, + "demo": false, + "otp": false, + "identityRequest":{ + "bioSubType": "UNKNOWN", + "bioType": "FACE", + "bioValue": "$FACE$", + "deviceCode": "bc0b6848-6d45-46d1-a9bd-b334410bf823", + "dateTime": "$DATETIME$", + "deviceProviderID": "1873299273", + "deviceServiceID": "", + "deviceServiceVersion": "SB.WIN.001", + "deviceProvider": "SYNCBYTE", + "deviceProviderId": "SYNCBYTE.LTC165", + "deviceSubType": "Full face", + "make": "Logitech", + "model": "4d36e96c-e325-11ce-bfc1-08002be10318", + "serialNo": "78467171", + "type": "Face", + "transactionId": "$TRANSACTIONID$", + "identityRequestTemplate": "ida/BioAuthDelegatedV2/BioAuthIdentityEncrypt", + "identityRequestEncUrl": "/idauthentication/v1/internal/encrypt" + } + }' + output: '{ + "kycStatus": "true" +}' diff --git a/api-test/src/main/resources/ida/BioAuthDelegatedV2/BioKYCAuthDelegatedResultWithClaimsMeta.hbs b/api-test/src/main/resources/ida/BioAuthDelegatedV2/BioKYCAuthDelegatedResultWithClaimsMeta.hbs new file mode 100644 index 00000000000..3fc2174c48a --- /dev/null +++ b/api-test/src/main/resources/ida/BioAuthDelegatedV2/BioKYCAuthDelegatedResultWithClaimsMeta.hbs @@ -0,0 +1,6 @@ +{ + "response": { + "kycStatus": "{{kycStatus}}", + "verifiedClaimsMetadata": "{{verifiedClaimsMetadata}}" + } +} \ No newline at end of file diff --git a/api-test/src/main/resources/ida/BioAuthDelegatedV2/error.hbs b/api-test/src/main/resources/ida/BioAuthDelegatedV2/error.hbs index ea4e6bc62fb..ea4014574ac 100644 --- a/api-test/src/main/resources/ida/BioAuthDelegatedV2/error.hbs +++ b/api-test/src/main/resources/ida/BioAuthDelegatedV2/error.hbs @@ -8,6 +8,6 @@ {{/each}} ], "response": { - "authStatus": {{authStatus}} + "authStatus": {{response.authStatus}} } } \ No newline at end of file diff --git a/api-test/src/main/resources/ida/BioAuthDelegatedV2/errorKycStatus.hbs b/api-test/src/main/resources/ida/BioAuthDelegatedV2/errorKycStatus.hbs new file mode 100644 index 00000000000..82d3f032198 --- /dev/null +++ b/api-test/src/main/resources/ida/BioAuthDelegatedV2/errorKycStatus.hbs @@ -0,0 +1,13 @@ +{ + "errors": [ + {{#each errors}} + { + "errorCode": "{{errorCode}}" + } + {{#unless @last}},{{/unless}} + {{/each}} + ], + "response": { + "kycStatus": {{response.kycStatus}} + } +} \ No newline at end of file diff --git a/api-test/src/main/resources/ida/BioAuthKycExchange/BioAuthKYCExchange.yml b/api-test/src/main/resources/ida/BioAuthKycExchange/BioAuthKYCExchange.yml index 8610933f3a8..70c9b5a2690 100644 --- a/api-test/src/main/resources/ida/BioAuthKycExchange/BioAuthKYCExchange.yml +++ b/api-test/src/main/resources/ida/BioAuthKycExchange/BioAuthKYCExchange.yml @@ -666,4 +666,33 @@ BioAuthKycExchange: "errorCode": "IDA-KYE-007" } ] +}' + auth_BioAuthKycExchangeNeg_KycRequestDelegation_NotAllowed_Neg: + endPoint: /idauthentication/v1/kyc-exchange/delegated/$kycDelegationDisabledPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthKycExchange_28 + description: Kyc exchange with a MISP key whose policy disallows kyc delegation - verified live, app returns IDA-MPA-031 alongside a generic IDA-MLC-007 + role: resident + restMethod: post + checkErrorsOnlyInResponse: true + allowedErrorCodes: IDA-MPA-031 + inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange + outputTemplate: ida/DelegateError + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", + "transactionID": "$TRANSACTIONID$", + "individualIdType": "UIN", + "id": "mosip.identity.kycexchange", + "version": "1.0", + "kycToken": "placeholderKycTokenNotUnderTest", + "consentObtained": [{"consentObtainedValue": "gender"}, {"consentObtainedValue": "birthdate"}], + "locales": [{localesValue: "eng"}], + "respType": "JWE" + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-MPA-031" + } + ] }' \ No newline at end of file diff --git a/api-test/src/main/resources/ida/BioAuthKycExchangeV2/BioAuthKYCExchangeV2Custom.hbs b/api-test/src/main/resources/ida/BioAuthKycExchangeV2/BioAuthKYCExchangeV2Custom.hbs new file mode 100644 index 00000000000..30edc98872b --- /dev/null +++ b/api-test/src/main/resources/ida/BioAuthKycExchangeV2/BioAuthKYCExchangeV2Custom.hbs @@ -0,0 +1,40 @@ +{ + "id": "{{id}}", + "version": "{{version}}", + "individualId": "{{individualId}}", + "individualIdType": "{{individualIdType}}", + "transactionID": "{{transactionID}}", + "requestTime": "{{requestTime}}", + "kycToken": "{{kycToken}}", + "locales": [ + {{#each locales}} + "{{localesValue}}" + {{#unless @last}},{{/unless}} + {{/each}} + ], + "respType": "{{respType}}", + "metadata": {}, + "verifiedConsentedClaims": [ + {{#each verificationBlocks}} + { + "verification": { + "trust_framework": { "value": "{{trustFramework}}" }, + "time": { "max_age": "{{maxAge}}" } + }, + "claims": { + {{#each verifiedClaims}} + "{{this}}": null + {{#unless @last}},{{/unless}} + {{/each}} + } + } + {{#unless @last}},{{/unless}} + {{/each}} + ], + "unVerifiedConsentedClaims": { + {{#each unVerifiedClaims}} + "{{this}}": null + {{#unless @last}},{{/unless}} + {{/each}} + } +} \ No newline at end of file diff --git a/api-test/src/main/resources/ida/BioAuthKycExchangeV2/BioAuthKycExchangeV2.yml b/api-test/src/main/resources/ida/BioAuthKycExchangeV2/BioAuthKycExchangeV2.yml index 2a790e4eef5..b26be5f1b28 100644 --- a/api-test/src/main/resources/ida/BioAuthKycExchangeV2/BioAuthKycExchangeV2.yml +++ b/api-test/src/main/resources/ida/BioAuthKycExchangeV2/BioAuthKycExchangeV2.yml @@ -20,5 +20,369 @@ BioAuthKycExchangeV2: "respType": "JWE" }' output: '{ - + +}' + auth_BioAuthKycExchangeV2Neg_Missing_KycToken_Neg: + endPoint: /idauthentication/v1/kyc-exchange/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthKycExchangeV2Neg_01 + description: Kyc exchange V2 with missing kycToken - no custom validator bound for V2, likely a raw Hibernate code not IDA-MLC-006 - unverified + role: resident + restMethod: post + checkErrorsOnlyInResponse: true + inputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeV2Custom + outputTemplate: ida/DelegateError + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", + "transactionID": "$TRANSACTIONID$", + "individualIdType": "UIN", + "id": "mosip.identity.kycexchange", + "version": "1.0", + "kycToken": "$REMOVE$", + "locales": [{localesValue: "eng"}], + "respType": "JWE", + "verificationBlocks": [{trustFramework: "mosip_trust_framework", maxAge: "3600", verifiedClaims: ["given_name"]}], + "unVerifiedClaims": ["email"] + }' + output: '{ + "errors": [ + { + "errorCode": "NotNull" + } + ] +}' + auth_BioAuthKycExchangeV2Neg_Missing_IndividualId_Neg: + endPoint: /idauthentication/v1/kyc-exchange/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthKycExchangeV2Neg_02 + description: Kyc exchange V2 with missing individualId - still goes through kycExchangeValidator.validateIdvId which is called explicitly in the V2 controller regardless of binder wiring + role: resident + restMethod: post + checkErrorsOnlyInResponse: true + inputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeV2Custom + outputTemplate: ida/DelegateError + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$REMOVE$", + "transactionID": "$TRANSACTIONID$", + "individualIdType": "UIN", + "id": "mosip.identity.kycexchange", + "version": "1.0", + "kycToken": "placeholderKycTokenNotUnderTest", + "locales": [{localesValue: "eng"}], + "respType": "JWE", + "verificationBlocks": [{trustFramework: "mosip_trust_framework", maxAge: "3600", verifiedClaims: ["given_name"]}], + "unVerifiedClaims": ["email"] + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-MLC-006" + } + ] +}' + auth_BioAuthKycExchangeV2Neg_Invalid_UIN_Neg: + endPoint: /idauthentication/v1/kyc-exchange/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthKycExchangeV2Neg_03 + description: Kyc exchange V2 with an invalid UIN (fails checksum) + role: resident + restMethod: post + checkErrorsOnlyInResponse: true + inputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeV2Custom + outputTemplate: ida/DelegateError + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "9999999999", + "transactionID": "$TRANSACTIONID$", + "individualIdType": "UIN", + "id": "mosip.identity.kycexchange", + "version": "1.0", + "kycToken": "00000000-0000-0000-0000-nonexistenttokenv2", + "locales": [{localesValue: "eng"}], + "respType": "JWE", + "verificationBlocks": [{trustFramework: "mosip_trust_framework", maxAge: "3600", verifiedClaims: ["given_name"]}], + "unVerifiedClaims": ["email"] + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-MLC-002" + } + ] +}' + auth_BioAuthKycExchangeV2Neg_Invalid_VID_Neg: + endPoint: /idauthentication/v1/kyc-exchange/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthKycExchangeV2Neg_04 + description: Kyc exchange V2 with an invalid VID (fails checksum) + role: resident + restMethod: post + checkErrorsOnlyInResponse: true + inputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeV2Custom + outputTemplate: ida/DelegateError + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "999999999999999999", + "transactionID": "$TRANSACTIONID$", + "individualIdType": "VID", + "id": "mosip.identity.kycexchange", + "version": "1.0", + "kycToken": "00000000-0000-0000-0000-nonexistenttokenv2", + "locales": [{localesValue: "eng"}], + "respType": "JWE", + "verificationBlocks": [{trustFramework: "mosip_trust_framework", maxAge: "3600", verifiedClaims: ["given_name"]}], + "unVerifiedClaims": ["email"] + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-MLC-004" + } + ] +}' + auth_BioAuthKycExchangeV2Neg_Missing_TransactionID_Neg: + endPoint: /idauthentication/v1/kyc-exchange/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthKycExchangeV2Neg_05 + description: Kyc exchange V2 with missing transactionID - likely resolves as IDA-KYE-005 mismatch, not a missing-field error - unverified + role: resident + restMethod: post + checkErrorsOnlyInResponse: true + inputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeV2Custom + outputTemplate: ida/DelegateError + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", + "transactionID": "$REMOVE$", + "individualIdType": "UIN", + "id": "mosip.identity.kycexchange", + "version": "1.0", + "kycToken": "$ID:BioAuthDelegatedV2_forKycExchangeV2MissingTxnId_Pos_Sid_kycToken$", + "locales": [{localesValue: "eng"}], + "respType": "JWE", + "verificationBlocks": [{trustFramework: "mosip_trust_framework", maxAge: "3600", verifiedClaims: ["given_name"]}], + "unVerifiedClaims": ["email"] + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-KYE-005" + } + ] +}' + auth_BioAuthKycExchangeV2Neg_Token_Not_Found_Neg: + endPoint: /idauthentication/v1/kyc-exchange/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthKycExchangeV2Neg_06 + description: Kyc exchange V2 with a well-formed but non-existent kycToken + role: resident + restMethod: post + checkErrorsOnlyInResponse: true + inputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeV2Custom + outputTemplate: ida/DelegateError + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", + "transactionID": "$TRANSACTIONID$", + "individualIdType": "UIN", + "id": "mosip.identity.kycexchange", + "version": "1.0", + "kycToken": "00000000-0000-0000-0000-nonexistenttokenv2", + "locales": [{localesValue: "eng"}], + "respType": "JWE", + "verificationBlocks": [{trustFramework: "mosip_trust_framework", maxAge: "3600", verifiedClaims: ["given_name"]}], + "unVerifiedClaims": ["email"] + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-KYE-001" + } + ] +}' + auth_BioAuthKycExchangeV2Neg_Already_Used_Token_Neg: + endPoint: /idauthentication/v1/kyc-exchange/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthKycExchangeV2Neg_07 + description: Kyc exchange V2 with a token already consumed by TC_IDA_BioAuthKycExchangeV2_01. Depends on that positive case having run first in suite order. + role: resident + restMethod: post + checkErrorsOnlyInResponse: true + inputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeV2Custom + outputTemplate: ida/DelegateError + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", + "transactionID": "$TRANSACTIONID$", + "individualIdType": "UIN", + "id": "mosip.identity.kycexchange", + "version": "1.0", + "kycToken": "$ID:BioAuthDelegatedV2_Biometric_Face_With_Valid_uin_Smoke_Pos_Sid_kycToken$", + "locales": [{localesValue: "eng"}], + "respType": "JWE", + "verificationBlocks": [{trustFramework: "mosip_trust_framework", maxAge: "3600", verifiedClaims: ["given_name"]}], + "unVerifiedClaims": ["email"] + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-KYE-003" + } + ] +}' + auth_BioAuthKycExchangeV2Neg_IndividualId_Mismatch_Neg: + endPoint: /idauthentication/v1/kyc-exchange/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthKycExchangeV2Neg_08 + description: Kyc exchange V2 with an individualId different from the one bound to the token + role: resident + restMethod: post + checkErrorsOnlyInResponse: true + inputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeV2Custom + outputTemplate: ida/DelegateError + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_EkycDemo_Auth_smoke_Pos_UIN$", + "transactionID": "$TRANSACTIONID$", + "individualIdType": "UIN", + "id": "mosip.identity.kycexchange", + "version": "1.0", + "kycToken": "$ID:BioAuthDelegatedV2_forKycExchangeV2IndividualIdMismatch_Pos_Sid_kycToken$", + "locales": [{localesValue: "eng"}], + "respType": "JWE", + "verificationBlocks": [{trustFramework: "mosip_trust_framework", maxAge: "3600", verifiedClaims: ["given_name"]}], + "unVerifiedClaims": ["email"] + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-KYE-007" + } + ] +}' + auth_BioAuthKycExchangeV2Neg_Duplicate_Claims_Neg: + endPoint: /idauthentication/v1/kyc-exchange/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthKycExchangeV2Neg_09 + description: Kyc exchange V2 with the same claim key (given_name) requested in both verifiedConsentedClaims and unVerifiedConsentedClaims + role: resident + restMethod: post + checkErrorsOnlyInResponse: true + inputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeV2Custom + outputTemplate: ida/DelegateError + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", + "transactionID": "$TRANSACTIONID$", + "individualIdType": "UIN", + "id": "mosip.identity.kycexchange", + "version": "1.0", + "kycToken": "$ID:BioAuthDelegatedV2_forKycExchangeV2DuplicateClaims_Pos_Sid_kycToken$", + "locales": [{localesValue: "eng"}], + "respType": "JWE", + "verificationBlocks": [{trustFramework: "mosip_trust_framework", maxAge: "3600", verifiedClaims: ["given_name", "family_name"]}], + "unVerifiedClaims": ["given_name", "email"] + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-KYE-008" + } + ] +}' + auth_BioAuthKycExchangeV2_VerifiedClaimsOnly_Pos: + endPoint: /idauthentication/v1/kyc-exchange/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthKycExchangeV2_02 + description: Kyc exchange V2 with only verifiedConsentedClaims populated and unVerifiedConsentedClaims empty + role: resident + restMethod: post + checkErrorsOnlyInResponse: true + inputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeV2Custom + outputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeResult + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", + "transactionID": "$TRANSACTIONID$", + "individualIdType": "UIN", + "id": "mosip.identity.kycexchange", + "version": "1.0", + "kycToken": "$ID:BioAuthDelegatedV2_forKycExchangeV2VerifiedOnly_Pos_Sid_kycToken$", + "locales": [{localesValue: "eng"}], + "respType": "JWE", + "verificationBlocks": [{trustFramework: "mosip_trust_framework", maxAge: "3600", verifiedClaims: ["given_name", "family_name"]}], + "unVerifiedClaims": [] + }' + output: '{ + +}' + auth_BioAuthKycExchangeV2_UnverifiedClaimsOnly_Pos: + endPoint: /idauthentication/v1/kyc-exchange/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthKycExchangeV2_03 + description: Kyc exchange V2 with only unVerifiedConsentedClaims populated and verifiedConsentedClaims empty + role: resident + restMethod: post + checkErrorsOnlyInResponse: true + inputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeV2Custom + outputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeResult + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", + "transactionID": "$TRANSACTIONID$", + "individualIdType": "UIN", + "id": "mosip.identity.kycexchange", + "version": "1.0", + "kycToken": "$ID:BioAuthDelegatedV2_forKycExchangeV2UnverifiedOnly_Pos_Sid_kycToken$", + "locales": [{localesValue: "eng"}], + "respType": "JWE", + "verificationBlocks": [], + "unVerifiedClaims": ["email", "phone_number"] + }' + output: '{ + +}' + auth_BioAuthKycExchangeV2_MultiVerificationBlocks_Pos: + endPoint: /idauthentication/v1/kyc-exchange/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthKycExchangeV2_04 + description: Kyc exchange V2 with two verification blocks carrying different trust_framework values, per the OIDC4IDA multiple-objects shape documented on KycExchangeRequestDTOV2 + role: resident + restMethod: post + checkErrorsOnlyInResponse: true + inputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeV2Custom + outputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeResult + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", + "transactionID": "$TRANSACTIONID$", + "individualIdType": "UIN", + "id": "mosip.identity.kycexchange", + "version": "1.0", + "kycToken": "$ID:BioAuthDelegatedV2_forKycExchangeV2MultiVerification_Pos_Sid_kycToken$", + "locales": [{localesValue: "eng"}], + "respType": "JWE", + "verificationBlocks": [ + {trustFramework: "mosip_trust_framework", maxAge: "3600", verifiedClaims: ["given_name"]}, + {trustFramework: "another_trust_framework", maxAge: "1933", verifiedClaims: ["birthdate"]} + ], + "unVerifiedClaims": [] + }' + output: '{ + +}' + auth_BioAuthKycExchangeV2_RespTypeNonJwe_Pos: + endPoint: /idauthentication/v1/kyc-exchange/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_BioAuthKycExchangeV2_05 + description: Kyc exchange V2 with a non-JWE respType still succeeds, returning a signed but unencrypted payload + role: resident + restMethod: post + checkErrorsOnlyInResponse: true + inputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeV2Custom + outputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeResult + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", + "transactionID": "$TRANSACTIONID$", + "individualIdType": "UIN", + "id": "mosip.identity.kycexchange", + "version": "1.0", + "kycToken": "$ID:BioAuthDelegatedV2_forKycExchangeV2RespTypeNonJwe_Pos_Sid_kycToken$", + "locales": [{localesValue: "eng"}], + "respType": "JWT", + "verificationBlocks": [{trustFramework: "mosip_trust_framework", maxAge: "3600", verifiedClaims: ["given_name"]}], + "unVerifiedClaims": ["email"] + }' + output: '{ + }' \ No newline at end of file diff --git a/api-test/src/main/resources/ida/CreateVID/CreateVid.yml b/api-test/src/main/resources/ida/CreateVID/CreateVid.yml index 90083422d00..502877e2863 100644 --- a/api-test/src/main/resources/ida/CreateVID/CreateVid.yml +++ b/api-test/src/main/resources/ida/CreateVID/CreateVid.yml @@ -20,7 +20,7 @@ CreateVID: auth_GenerateVID_to_revoke_Perpetual_sid: endPoint: /idrepository/v1/vid - uniqueIdentifier: TC_IDA_CreateVID_01 + uniqueIdentifier: TC_IDA_CreateVID_04 description: Verify that a perpetual VID is successfully generated and can be revoked when SID is provided role: idrepo restMethod: post diff --git a/api-test/src/main/resources/ida/DemoAuth/DemoAuth2.yml b/api-test/src/main/resources/ida/DemoAuth/DemoAuth2.yml index 5ef20bfbe2f..3dfd37713aa 100644 --- a/api-test/src/main/resources/ida/DemoAuth/DemoAuth2.yml +++ b/api-test/src/main/resources/ida/DemoAuth/DemoAuth2.yml @@ -768,32 +768,6 @@ DemoAuthNew: "authStatus": "false" }' - auth_DemoAuth_Email_Valid_Poss_VID: - endPoint: /idauthentication/v1/auth/$partnerKeyURL$ - uniqueIdentifier: TC_IDA_DemoAuth_14 - description: Verify that demo authentication succeeds with a valid email for a VID - role: resident - restMethod: post - additionalDependencies: TC_DependentModule_IdRepo_06 - inputTemplate: ida/DemoAuth/DemoAuth - outputTemplate: ida/DemoAuth/DemoAuthResult - input: '{ - "requestTime": "$TIMESTAMP$", - "individualId": "$ID:GenerateVID_All_Valid_Smoke_Perpetual_sid_vid$", - "transactionId": "1234567890", - "individualIdType": "VID", - "bio": false, - "demo": true, - "otp": false, - "identityRequest":{ - "value": "$ID:AddIdentity_ValidParam_smoke_Pos_EMAIL$", -"key": "emailId", - "identityRequestTemplate": "ida/DemoAuth/DemoIdentityEncrypt" - } - }' - output: '{ - "authStatus": "true" -}' auth_DemoAuth_Email_InValid_uin_Email: endPoint: /idauthentication/v1/auth/$partnerKeyURL$ uniqueIdentifier: TC_IDA_DemoAuth_17 @@ -1141,7 +1115,7 @@ DemoAuthNew: }' auth_DemoAuth_gender_Valid_Pos_VID_with_RS_DOB: endPoint: /idauthentication/v1/auth/$partnerKeyURL$ - uniqueIdentifier: TC_IDA_DemoAuth_04 + uniqueIdentifier: TC_IDA_DemoAuth_72 description: Verify that demo authentication succeeds with a valid gender value for a VID when using related RS and DOB fields role: resident restMethod: post @@ -2374,14 +2348,14 @@ DemoAuthNew: output: '{ "authStatus": "false" }' - auth_DemoAuth_with_age_below_calculated_value_Neg: + auth_DemoAuth_with_age_below_calculated_value_Pos: endPoint: /idauthentication/v1/auth/$partnerKeyURL$ uniqueIdentifier: TC_IDA_DemoAuth_71 - description: Verify that demo authentication fails when the age value is below the calculated age + description: Verify that demo authentication succeeds when the asserted age is below the calculated age (age match is a minimum-age threshold check, not exact match) role: resident restMethod: post inputTemplate: ida/DemoAuth/DemoAuth - outputTemplate: ida/DemoAuth/error + outputTemplate: ida/DemoAuth/DemoAuthResult input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_with_age_below_calculated_value_Pos_UIN$", @@ -2397,7 +2371,7 @@ DemoAuthNew: } }' output: '{ - "authStatus": "false" + "authStatus": "true" }' auth_DemoAuth_with_unusedUIN_value_audit_Neg: endPoint: /idauthentication/v1/auth/$partnerKeyURL$ diff --git a/api-test/src/main/resources/ida/DemoAuthDelegated/DemoAuthDelegated.yml b/api-test/src/main/resources/ida/DemoAuthDelegated/DemoAuthDelegated.yml index b7b18a96d5f..97a9e81fc1f 100644 --- a/api-test/src/main/resources/ida/DemoAuthDelegated/DemoAuthDelegated.yml +++ b/api-test/src/main/resources/ida/DemoAuthDelegated/DemoAuthDelegated.yml @@ -558,4 +558,134 @@ DemoAuthDelegated: }' output: '{ "kycStatus": "true" +}' + auth_DemoAuthDelegated_DemoAuth_forKycExchangeIndividualIdMismatch_Pos_Sid: + endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_DemoAuthDelegated_23 + description: Demo auth kyc delegated dedicated token for kyc-exchange individualId mismatch negative test + role: resident + restMethod: post + checkErrorsOnlyInResponse: true + inputTemplate: ida/DemoAuthDelegated/DemoAuthDelegated + outputTemplate: ida/DemoAuthDelegated/DemoAuthDelegatedResult + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", + "transactionId": "$TRANSACTIONID$", + "individualIdType": "UIN", + "bio": false, + "demo": true, + "otp": false, + "identityRequest":{ + "value": "1990/09/28", +"key": "dob", + "identityRequestTemplate": "ida/DemoAuthDelegated/DemoIdentityEncrypt" + } + }' + output: '{ + "kycStatus": "true" +}' + auth_DemoAuthDelegated_DemoAuth_forKycExchangeTxnIdMismatch_Pos_Sid: + endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_DemoAuthDelegated_24 + description: Demo auth kyc delegated dedicated token for kyc-exchange transactionID mismatch negative test + role: resident + restMethod: post + checkErrorsOnlyInResponse: true + inputTemplate: ida/DemoAuthDelegated/DemoAuthDelegated + outputTemplate: ida/DemoAuthDelegated/DemoAuthDelegatedResult + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", + "transactionId": "$TRANSACTIONID$", + "individualIdType": "UIN", + "bio": false, + "demo": true, + "otp": false, + "identityRequest":{ + "value": "1990/09/28", +"key": "dob", + "identityRequestTemplate": "ida/DemoAuthDelegated/DemoIdentityEncrypt" + } + }' + output: '{ + "kycStatus": "true" +}' + auth_DemoAuthDelegated_DemoAuth_forKycExchangeEmptyConsent_Pos_Sid: + endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_DemoAuthDelegated_25 + description: Demo auth kyc delegated dedicated token for kyc-exchange empty consentObtained positive test + role: resident + restMethod: post + checkErrorsOnlyInResponse: true + inputTemplate: ida/DemoAuthDelegated/DemoAuthDelegated + outputTemplate: ida/DemoAuthDelegated/DemoAuthDelegatedResult + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", + "transactionId": "$TRANSACTIONID$", + "individualIdType": "UIN", + "bio": false, + "demo": true, + "otp": false, + "identityRequest":{ + "value": "1990/09/28", +"key": "dob", + "identityRequestTemplate": "ida/DemoAuthDelegated/DemoIdentityEncrypt" + } + }' + output: '{ + "kycStatus": "true" +}' + auth_DemoAuthDelegated_DemoAuth_forKycExchangeEmptyLocales_Pos_Sid: + endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_DemoAuthDelegated_26 + description: Demo auth kyc delegated dedicated token for kyc-exchange empty locales positive test + role: resident + restMethod: post + checkErrorsOnlyInResponse: true + inputTemplate: ida/DemoAuthDelegated/DemoAuthDelegated + outputTemplate: ida/DemoAuthDelegated/DemoAuthDelegatedResult + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", + "transactionId": "$TRANSACTIONID$", + "individualIdType": "UIN", + "bio": false, + "demo": true, + "otp": false, + "identityRequest":{ + "value": "1990/09/28", +"key": "dob", + "identityRequestTemplate": "ida/DemoAuthDelegated/DemoIdentityEncrypt" + } + }' + output: '{ + "kycStatus": "true" +}' + auth_DemoAuthDelegated_DemoAuth_forKycExchangeRespTypeNonJwe_Pos_Sid: + endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_DemoAuthDelegated_27 + description: Demo auth kyc delegated dedicated token for kyc-exchange non-JWE respType positive test + role: resident + restMethod: post + checkErrorsOnlyInResponse: true + inputTemplate: ida/DemoAuthDelegated/DemoAuthDelegated + outputTemplate: ida/DemoAuthDelegated/DemoAuthDelegatedResult + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", + "transactionId": "$TRANSACTIONID$", + "individualIdType": "UIN", + "bio": false, + "demo": true, + "otp": false, + "identityRequest":{ + "value": "1990/09/28", +"key": "dob", + "identityRequestTemplate": "ida/DemoAuthDelegated/DemoIdentityEncrypt" + } + }' + output: '{ + "kycStatus": "true" }' \ No newline at end of file diff --git a/api-test/src/main/resources/ida/DemoAuthDelegatedNeg/DemoAuthDelegatedNeg.yml b/api-test/src/main/resources/ida/DemoAuthDelegatedNeg/DemoAuthDelegatedNeg.yml index 9f3a3ea0f71..5b9c4d76f6f 100644 --- a/api-test/src/main/resources/ida/DemoAuthDelegatedNeg/DemoAuthDelegatedNeg.yml +++ b/api-test/src/main/resources/ida/DemoAuthDelegatedNeg/DemoAuthDelegatedNeg.yml @@ -1241,14 +1241,14 @@ DemoAuthDelegatedNeg: } ] }' - auth_DemoAuthDelegatedNeg_with_age_below_calculated_value_Neg: + auth_DemoAuthDelegatedNeg_with_age_below_calculated_value_Pos: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_42 - description: Demo auth kyc delegated with age below the calculated value + description: Demo auth kyc delegated succeeds when the asserted age is below the calculated value (age match is a minimum-age threshold check, not exact match) role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoAuthDelegated - outputTemplate: ida/DelegateError + outputTemplate: ida/DemoAuthDelegated/DemoAuthDelegatedResult input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_with_age_below_calculated_value_Pos_UIN$", @@ -1264,11 +1264,7 @@ DemoAuthDelegatedNeg: } }' output: '{ - "errors": [ - { - "errorCode": "IDA-DEA-001" - } - ] + "kycStatus": "true" }' auth_DemoAuthDelegatedNeg_with_wrongPartnerKeyUrl_Neg: endPoint: /idauthentication/v1/kyc-auth/delegated/Z0kPjifb7xsv8oEsv0B5YDZqChr7TuBtToVbgARGkO8Jy6U0/auth_pid17424601504/959765 diff --git a/api-test/src/main/resources/ida/DemoAuthDelegatedV2/DemoAuthDelegatedV2.hbs b/api-test/src/main/resources/ida/DemoAuthDelegatedV2/DemoAuthDelegatedV2.hbs new file mode 100644 index 00000000000..4692be61308 --- /dev/null +++ b/api-test/src/main/resources/ida/DemoAuthDelegatedV2/DemoAuthDelegatedV2.hbs @@ -0,0 +1,24 @@ +{ + "id": "mosip.identity.kycauth", + "consentObtained": true, + "individualId": "{{individualId}}", + "individualIdType": "{{individualIdType}}", + "request": "data", + "requestHMAC": "hmac", + "requestTime": "{{requestTime}}", + "requestedAuth": { + "bio": {{bio}}, + "demo": {{demo}}, + "otp": {{otp}}, + "pin": false + }, + "requestSessionKey": "sessionkey", + "transactionID": "{{transactionId}}", + "domainUri": "baseurl", + "env": "Staging", + "keyIndex": "string", + "specVersion": "1.0", + "thumbprint": "partnerORinternalthumbprint", + "version": "1.0", + "claimsMetadataRequired": {{claimsMetadataRequired}} +} \ No newline at end of file diff --git a/api-test/src/main/resources/ida/DemoAuthDelegatedV2/DemoAuthDelegatedV2.yml b/api-test/src/main/resources/ida/DemoAuthDelegatedV2/DemoAuthDelegatedV2.yml new file mode 100644 index 00000000000..c31e783efe6 --- /dev/null +++ b/api-test/src/main/resources/ida/DemoAuthDelegatedV2/DemoAuthDelegatedV2.yml @@ -0,0 +1,57 @@ +DemoAuthDelegatedV2: + auth_DemoAuthDelegatedV2_DemoAuth_DOB_Valid_Smoke_UIN_Pos_Sid: + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_DemoAuthDelegatedV2_01 + description: Validate the delegated V2 demographic (dob) authentication for a valid UIN in a smoke positive scenario + role: resident + restMethod: post + inputTemplate: ida/DemoAuthDelegatedV2/DemoAuthDelegatedV2 + outputTemplate: ida/DemoAuthDelegatedV2/DemoAuthDelegatedV2Result + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", + "transactionId": "$TRANSACTIONID$", + "individualIdType": "UIN", + "claimsMetadataRequired": false, + "bio": false, + "demo": true, + "otp": false, + "identityRequest":{ + "value": "1990/09/28", +"key": "dob", + "identityRequestTemplate": "ida/DemoAuthDelegated/DemoIdentityEncrypt" + } + }' + output: '{ + "kycStatus": "true" +}' + auth_DemoAuthDelegatedV2Neg_Invalid_DOB_Neg: + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_DemoAuthDelegatedV2Neg_01 + description: Kyc auth V2 demographic auth with a DOB that does not match the identity + role: resident + restMethod: post + inputTemplate: ida/DemoAuthDelegatedV2/DemoAuthDelegatedV2 + outputTemplate: ida/DelegateError + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", + "transactionId": "$TRANSACTIONID$", + "individualIdType": "UIN", + "claimsMetadataRequired": false, + "bio": false, + "demo": true, + "otp": false, + "identityRequest":{ + "value": "1985/01/01", +"key": "dob", + "identityRequestTemplate": "ida/DemoAuthDelegated/DemoIdentityEncrypt" + } + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-DEA-001" + } + ] +}' diff --git a/api-test/src/main/resources/ida/DemoAuthDelegatedV2/DemoAuthDelegatedV2Result.hbs b/api-test/src/main/resources/ida/DemoAuthDelegatedV2/DemoAuthDelegatedV2Result.hbs new file mode 100644 index 00000000000..e6b2c5b20d9 --- /dev/null +++ b/api-test/src/main/resources/ida/DemoAuthDelegatedV2/DemoAuthDelegatedV2Result.hbs @@ -0,0 +1,5 @@ +{ + "response": { + "kycStatus": "{{kycStatus}}" + } +} \ No newline at end of file diff --git a/api-test/src/main/resources/ida/DemoAuthKycExchange/DemoAuthKycExchange.yml b/api-test/src/main/resources/ida/DemoAuthKycExchange/DemoAuthKycExchange.yml index 04bf750d59d..b7dd3fb6d01 100644 --- a/api-test/src/main/resources/ida/DemoAuthKycExchange/DemoAuthKycExchange.yml +++ b/api-test/src/main/resources/ida/DemoAuthKycExchange/DemoAuthKycExchange.yml @@ -479,14 +479,15 @@ DemoAuthKycExchange: output: '{ }' - auth_DemoAuthKycExchange_Without_KycAuth_Neg: + auth_DemoAuthKycExchange_DemoAuth_with_already_used_kyc_Token_Neg: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthKycExchange_23 - description: IDA_TC_1638 - Verify kyc-exchange fails with an appropriate error when called with a kycToken that was never issued by a prior kyc-auth call + description: Demo auth kyc exchange with already used token role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange - outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeError + outputTemplate: ida/DelegateError input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", @@ -494,15 +495,43 @@ DemoAuthKycExchange: "individualIdType": "UIN", "id": "mosip.identity.kycexchange", "version": "1.0", - "kycToken": "NeverIssuedByKycAuth_InvalidKycToken_123456789", + "kycToken": "$ID:DemoAuthDelegated_DemoAuth_with_phone_Sid_kycToken$", + "consentObtained": [{consentObtainedValue: "gender"}, {consentObtainedValue: "birthdate"}], + "locales": [{localesValue: "eng"}], + "respType": "JWE" + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-KYE-003" + } + ] +}' + auth_DemoAuthKycExchange_DemoAuth_using_different_individualId_Neg: + endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_DemoAuthKycExchange_24 + description: Demo auth kyc exchange with different individualId than the one used for kyc-auth + role: resident + restMethod: post + checkErrorsOnlyInResponse: true + inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange + outputTemplate: ida/DelegateError + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_EkycDemo_Auth_smoke_Pos_UIN$", + "transactionID": "$TRANSACTIONID$", + "individualIdType": "UIN", + "id": "mosip.identity.kycexchange", + "version": "1.0", + "kycToken": "$ID:DemoAuthDelegated_DemoAuth_forKycExchangeIndividualIdMismatch_Pos_Sid_kycToken$", "consentObtained": [{consentObtainedValue: "gender"}, {consentObtainedValue: "birthdate"}], "locales": [{localesValue: "eng"}], "respType": "JWE" }' output: '{ - "errors": [ - { - "errorCode": "IDA-KYE-001" - } - ] + "errors": [ + { + "errorCode": "IDA-KYE-007" + } + ] }' \ No newline at end of file diff --git a/api-test/src/main/resources/ida/KycExchangeNeg/KycExchangeNeg.yml b/api-test/src/main/resources/ida/KycExchangeNeg/KycExchangeNeg.yml new file mode 100644 index 00000000000..f281a923710 --- /dev/null +++ b/api-test/src/main/resources/ida/KycExchangeNeg/KycExchangeNeg.yml @@ -0,0 +1,353 @@ +KycExchangeNeg: + auth_KycExchangeNeg_Missing_KycToken_Neg: + endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_KycExchangeNeg_01 + description: Kyc exchange with missing kycToken + role: resident + restMethod: post + checkErrorsOnlyInResponse: true + inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange + outputTemplate: ida/DelegateError + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", + "transactionID": "$TRANSACTIONID$", + "individualIdType": "UIN", + "id": "mosip.identity.kycexchange", + "version": "1.0", + "kycToken": "$REMOVE$", + "consentObtained": [{"consentObtainedValue": "gender"}], + "locales": [{localesValue: "eng"}], + "respType": "JWE" + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-MLC-006" + } + ] +}' + auth_KycExchangeNeg_Missing_TransactionID_Neg: + endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_KycExchangeNeg_02 + description: Kyc exchange with missing transactionID + role: resident + restMethod: post + checkErrorsOnlyInResponse: true + inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange + outputTemplate: ida/DelegateError + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", + "transactionID": "$REMOVE$", + "individualIdType": "UIN", + "id": "mosip.identity.kycexchange", + "version": "1.0", + "kycToken": "placeholderKycTokenNotUnderTest", + "consentObtained": [{"consentObtainedValue": "gender"}], + "locales": [{localesValue: "eng"}], + "respType": "JWE" + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-MLC-006" + } + ] +}' + auth_KycExchangeNeg_Missing_RequestTime_Neg: + endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_KycExchangeNeg_03 + description: Kyc exchange with missing requestTime + role: resident + restMethod: post + checkErrorsOnlyInResponse: true + inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange + outputTemplate: ida/DelegateError + input: '{ + "requestTime": "$REMOVE$", + "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", + "transactionID": "$TRANSACTIONID$", + "individualIdType": "UIN", + "id": "mosip.identity.kycexchange", + "version": "1.0", + "kycToken": "placeholderKycTokenNotUnderTest", + "consentObtained": [{"consentObtainedValue": "gender"}], + "locales": [{localesValue: "eng"}], + "respType": "JWE" + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-MLC-006" + } + ] +}' + auth_KycExchangeNeg_Missing_IndividualId_Neg: + endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_KycExchangeNeg_04 + description: Kyc exchange with missing individualId - unverified, confirm error code before trusting + role: resident + restMethod: post + checkErrorsOnlyInResponse: true + inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange + outputTemplate: ida/DelegateError + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$REMOVE$", + "transactionID": "$TRANSACTIONID$", + "individualIdType": "UIN", + "id": "mosip.identity.kycexchange", + "version": "1.0", + "kycToken": "placeholderKycTokenNotUnderTest", + "consentObtained": [{"consentObtainedValue": "gender"}], + "locales": [{localesValue: "eng"}], + "respType": "JWE" + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-MLC-006" + } + ] +}' + auth_KycExchangeNeg_Malformed_TransactionID_Neg: + endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_KycExchangeNeg_05 + description: Kyc exchange with transactionID not matching the 10-char alphanumeric format + role: resident + restMethod: post + checkErrorsOnlyInResponse: true + inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange + outputTemplate: ida/DelegateError + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", + "transactionID": "abc", + "individualIdType": "UIN", + "id": "mosip.identity.kycexchange", + "version": "1.0", + "kycToken": "placeholderKycTokenNotUnderTest", + "consentObtained": [{"consentObtainedValue": "gender"}], + "locales": [{localesValue: "eng"}], + "respType": "JWE" + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-MLC-009" + } + ] +}' + auth_KycExchangeNeg_Malformed_RequestTime_Neg: + endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_KycExchangeNeg_06 + description: Kyc exchange with an unparseable requestTime + role: resident + restMethod: post + checkErrorsOnlyInResponse: true + inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange + outputTemplate: ida/DelegateError + input: '{ + "requestTime": "not-a-valid-timestamp", + "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", + "transactionID": "$TRANSACTIONID$", + "individualIdType": "UIN", + "id": "mosip.identity.kycexchange", + "version": "1.0", + "kycToken": "placeholderKycTokenNotUnderTest", + "consentObtained": [{"consentObtainedValue": "gender"}], + "locales": [{localesValue: "eng"}], + "respType": "JWE" + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-MLC-001" + } + ] +}' + auth_KycExchangeNeg_Invalid_UIN_Neg: + endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_KycExchangeNeg_07 + description: Kyc exchange with an invalid UIN (fails checksum) + role: resident + restMethod: post + checkErrorsOnlyInResponse: true + inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange + outputTemplate: ida/DelegateError + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "9999999999", + "transactionID": "$TRANSACTIONID$", + "individualIdType": "UIN", + "id": "mosip.identity.kycexchange", + "version": "1.0", + "kycToken": "placeholderKycTokenNotUnderTest", + "consentObtained": [{"consentObtainedValue": "gender"}], + "locales": [{localesValue: "eng"}], + "respType": "JWE" + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-MLC-002" + } + ] +}' + auth_KycExchangeNeg_Invalid_VID_Neg: + endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_KycExchangeNeg_08 + description: Kyc exchange with an invalid VID (fails checksum) + role: resident + restMethod: post + checkErrorsOnlyInResponse: true + inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange + outputTemplate: ida/DelegateError + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "999999999999999999", + "transactionID": "$TRANSACTIONID$", + "individualIdType": "VID", + "id": "mosip.identity.kycexchange", + "version": "1.0", + "kycToken": "placeholderKycTokenNotUnderTest", + "consentObtained": [{"consentObtainedValue": "gender"}], + "locales": [{localesValue: "eng"}], + "respType": "JWE" + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-MLC-004" + } + ] +}' + auth_KycExchangeNeg_Token_Not_Found_Neg: + endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_KycExchangeNeg_09 + description: Kyc exchange with a well-formed but non-existent kycToken + role: resident + restMethod: post + checkErrorsOnlyInResponse: true + inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange + outputTemplate: ida/DelegateError + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", + "transactionID": "$TRANSACTIONID$", + "individualIdType": "UIN", + "id": "mosip.identity.kycexchange", + "version": "1.0", + "kycToken": "00000000-0000-0000-0000-nonexistenttoken", + "consentObtained": [{"consentObtainedValue": "gender"}], + "locales": [{localesValue: "eng"}], + "respType": "JWE" + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-KYE-001" + } + ] +}' + auth_KycExchangeNeg_TransactionID_Mismatch_Neg: + endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_KycExchangeNeg_10 + description: Kyc exchange with a transactionID different from the one used at kyc-auth time, using the dedicated single-use token + role: resident + restMethod: post + checkErrorsOnlyInResponse: true + inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange + outputTemplate: ida/DelegateError + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", + "transactionID": "MISMATCH01", + "individualIdType": "UIN", + "id": "mosip.identity.kycexchange", + "version": "1.0", + "kycToken": "$ID:DemoAuthDelegated_DemoAuth_forKycExchangeTxnIdMismatch_Pos_Sid_kycToken$", + "consentObtained": [{"consentObtainedValue": "gender"}], + "locales": [{localesValue: "eng"}], + "respType": "JWE" + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-KYE-005" + } + ] +}' + auth_KycExchangeNeg_Empty_ConsentObtained_Pos: + endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_KycExchangeNeg_11 + description: Kyc exchange with an empty consentObtained list still succeeds - server-side consent validation is deliberately disabled + role: resident + restMethod: post + checkErrorsOnlyInResponse: true + inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange + outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", + "transactionID": "$TRANSACTIONID$", + "individualIdType": "UIN", + "id": "mosip.identity.kycexchange", + "version": "1.0", + "kycToken": "$ID:DemoAuthDelegated_DemoAuth_forKycExchangeEmptyConsent_Pos_Sid_kycToken$", + "consentObtained": [], + "locales": [{localesValue: "eng"}], + "respType": "JWE" + }' + output: '{ + +}' + auth_KycExchangeNeg_Empty_Locales_Pos: + endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_KycExchangeNeg_12 + description: Kyc exchange with an empty locales list still succeeds - server defaults to the configured kyc-exchange default language + role: resident + restMethod: post + checkErrorsOnlyInResponse: true + inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange + outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", + "transactionID": "$TRANSACTIONID$", + "individualIdType": "UIN", + "id": "mosip.identity.kycexchange", + "version": "1.0", + "kycToken": "$ID:DemoAuthDelegated_DemoAuth_forKycExchangeEmptyLocales_Pos_Sid_kycToken$", + "consentObtained": [{"consentObtainedValue": "gender"}], + "locales": [], + "respType": "JWE" + }' + output: '{ + +}' + auth_KycExchangeNeg_RespType_NonJWE_Pos: + endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_KycExchangeNeg_13 + description: Kyc exchange with a non-JWE respType still succeeds, returning a signed but unencrypted payload + role: resident + restMethod: post + checkErrorsOnlyInResponse: true + inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange + outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", + "transactionID": "$TRANSACTIONID$", + "individualIdType": "UIN", + "id": "mosip.identity.kycexchange", + "version": "1.0", + "kycToken": "$ID:DemoAuthDelegated_DemoAuth_forKycExchangeRespTypeNonJwe_Pos_Sid_kycToken$", + "consentObtained": [{"consentObtainedValue": "gender"}], + "locales": [{localesValue: "eng"}], + "respType": "JWT" + }' + output: '{ + +}' diff --git a/api-test/src/main/resources/ida/OtpAuth/OtpAuth2.yml b/api-test/src/main/resources/ida/OtpAuth/OtpAuth2.yml index 905d83b7e6c..478123a2770 100644 --- a/api-test/src/main/resources/ida/OtpAuth/OtpAuth2.yml +++ b/api-test/src/main/resources/ida/OtpAuth/OtpAuth2.yml @@ -457,49 +457,6 @@ OtpAuth: "sendOtpResTemplate":"ida/OtpAuth/sendOtpRes", "maskedEmail": "$IGNORE$" } -}' - auth_OTP_Auth_With_Invalid_individualId_UIN_neg: - endPoint: /idauthentication/v1/auth/$partnerKeyURL$ - uniqueIdentifier: TC_IDA_OtpAuth_13 - description: Verify that OTP authentication fails when an invalid individual ID is used with a UIN - role: resident - restMethod: post - inputTemplate: ida/OtpAuth/OtpAuth - outputTemplate: ida/OtpAuth/error - input: '{ - "otpChannel": "$ID:AddIdentity_For_Otp_Auth_smoke_Pos_EMAIL$", - "requestTime": "$TIMESTAMP$", - "individualId": "@@###cndjdhe77473838", - "transactionId": "$TRANSACTIONID$", - "individualIdType": "UIN", - "bio": false, - "demo": false, - "otp": true, - "sendOtp":{ - "transactionID": "$TRANSACTIONID$", - "requestTime": "$TIMESTAMP$", - "individualId": "$ID:AddIdentity_For_Otp_Auth_smoke_Pos_UIN$", - "individualIdType": "UIN", - "sendOtpReqTemplate": "ida/OtpAuth/sendOtp", - "sendOtpEndPoint": "/idauthentication/v1/otp/$partnerKeyURL$", - "otpIdentyEnryptRequestPath": "ida/OtpAuth/OtpIdentityEncrypt.json" - } - }' - output: '{ - "authStatus": false, - "errors": [ - { - "errorCode": "IDA-MLC-002", - "errorMessage": "Invalid UIN", - "actionMessage": "$IGNORE$" - } - ], - "sendOtpResp":{ - "transactionID": "$TRANSACTIONID$", - "maskedMobile": "$IGNORE$", - "sendOtpResTemplate":"ida/OtpAuth/sendOtpRes", - "maskedEmail": "$IGNORE$" - } }' auth_OTP_Auth_With_Blank_individualId_uin_neg: endPoint: /idauthentication/v1/auth/$partnerKeyURL$ diff --git a/api-test/src/main/resources/ida/OtpAuthDelegated/OtpAuthDelegated.yml b/api-test/src/main/resources/ida/OtpAuthDelegated/OtpAuthDelegated.yml index 61e06c609e5..01837fb5610 100644 --- a/api-test/src/main/resources/ida/OtpAuthDelegated/OtpAuthDelegated.yml +++ b/api-test/src/main/resources/ida/OtpAuthDelegated/OtpAuthDelegated.yml @@ -202,4 +202,38 @@ OtpAuthDelegated: "sendOtpResp":{ "sendOtpResTemplate":"ida/OtpAuth/sendOtpRes" } +}' + auth_OtpAuthDelegated_OTP_Auth_forKycExchangeIndividualIdMismatch_Pos_Sid: + endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_OtpAuthDelegated_07 + description: Otp delegated auth dedicated token for kyc-exchange individualId mismatch negative test + role: resident + restMethod: post + checkErrorsOnlyInResponse: true + inputTemplate: ida/OtpAuthDelegated/OtpAuthDelegated + outputTemplate: ida/OtpAuthDelegated/OtpAuthDelegatedResult + input: '{ + "otpChannel": "$ID:AddIdentity_withValidParameters_forOtpDelegated_Pos_EMAIL$", + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_withValidParameters_forOtpDelegated_Pos_UIN$", + "transactionId": "$TRANSACTIONID$", + "individualIdType": "UIN", + "bio": false, + "demo": false, + "otp": true, + "sendOtp":{ + "transactionID": "$TRANSACTIONID$", + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_withValidParameters_forOtpDelegated_Pos_UIN$", + "individualIdType": "UIN", + "sendOtpReqTemplate": "ida/OtpAuth/sendOtp", + "sendOtpEndPoint": "/idauthentication/v1/otp/$partnerKeyURL$", + "otpIdentyEnryptRequestPath": "ida/OtpAuthDelegated/OtpIdentityEncrypt.json" + } + }' + output: '{ + "kycStatus": "true", + "sendOtpResp":{ + "sendOtpResTemplate":"ida/OtpAuth/sendOtpRes" + } }' \ No newline at end of file diff --git a/api-test/src/main/resources/ida/OtpAuthDelegatedV2/OtpAuthDelegatedV2.hbs b/api-test/src/main/resources/ida/OtpAuthDelegatedV2/OtpAuthDelegatedV2.hbs new file mode 100644 index 00000000000..4692be61308 --- /dev/null +++ b/api-test/src/main/resources/ida/OtpAuthDelegatedV2/OtpAuthDelegatedV2.hbs @@ -0,0 +1,24 @@ +{ + "id": "mosip.identity.kycauth", + "consentObtained": true, + "individualId": "{{individualId}}", + "individualIdType": "{{individualIdType}}", + "request": "data", + "requestHMAC": "hmac", + "requestTime": "{{requestTime}}", + "requestedAuth": { + "bio": {{bio}}, + "demo": {{demo}}, + "otp": {{otp}}, + "pin": false + }, + "requestSessionKey": "sessionkey", + "transactionID": "{{transactionId}}", + "domainUri": "baseurl", + "env": "Staging", + "keyIndex": "string", + "specVersion": "1.0", + "thumbprint": "partnerORinternalthumbprint", + "version": "1.0", + "claimsMetadataRequired": {{claimsMetadataRequired}} +} \ No newline at end of file diff --git a/api-test/src/main/resources/ida/OtpAuthDelegatedV2/OtpAuthDelegatedV2.yml b/api-test/src/main/resources/ida/OtpAuthDelegatedV2/OtpAuthDelegatedV2.yml new file mode 100644 index 00000000000..1477a84f4eb --- /dev/null +++ b/api-test/src/main/resources/ida/OtpAuthDelegatedV2/OtpAuthDelegatedV2.yml @@ -0,0 +1,73 @@ +OtpAuthDelegatedV2: + auth_OtpAuthDelegatedV2_OTP_Auth_With_Valid_UIN_Smoke_Pos_Sid: + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_OtpAuthDelegatedV2_01 + description: Validate the delegated V2 OTP authentication for a valid UIN in a smoke positive scenario + role: resident + restMethod: post + inputTemplate: ida/OtpAuthDelegatedV2/OtpAuthDelegatedV2 + outputTemplate: ida/OtpAuthDelegatedV2/OtpAuthDelegatedV2Result + input: '{ + "otpChannel": "$ID:AddIdentity_withValidParameters_forOtpDelegated_Pos_EMAIL$", + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_withValidParameters_forOtpDelegated_Pos_UIN$", + "transactionId": "$TRANSACTIONID$", + "individualIdType": "UIN", + "claimsMetadataRequired": false, + "bio": false, + "demo": false, + "otp": true, + "sendOtp":{ + "transactionID": "$TRANSACTIONID$", + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_withValidParameters_forOtpDelegated_Pos_UIN$", + "individualIdType": "UIN", + "sendOtpReqTemplate": "ida/OtpAuth/sendOtp", + "sendOtpEndPoint": "/idauthentication/v1/otp/$partnerKeyURL$", + "otpIdentyEnryptRequestPath": "ida/OtpAuthDelegated/OtpIdentityEncrypt.json" + } + }' + output: '{ + "kycStatus": "true", + "sendOtpResp":{ + "sendOtpResTemplate":"ida/OtpAuth/sendOtpRes" + } +}' + auth_OtpAuthDelegatedV2Neg_Invalid_OtpChannel_Neg: + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_OtpAuthDelegatedV2Neg_01 + description: Kyc auth V2 OTP auth with an invalid otpChannel + role: resident + restMethod: post + inputTemplate: ida/OtpAuthDelegatedV2/OtpAuthDelegatedV2 + outputTemplate: ida/DelegateError + input: '{ + "otpChannel": "26363633", + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_withValidParameters_forOtpDelegated_Pos_UIN$", + "transactionId": "$TRANSACTIONID$", + "individualIdType": "UIN", + "claimsMetadataRequired": false, + "bio": false, + "demo": false, + "otp": true, + "sendOtp":{ + "transactionID": "$TRANSACTIONID$", + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_withValidParameters_forOtpDelegated_Pos_UIN$", + "individualIdType": "UIN", + "sendOtpReqTemplate": "ida/OtpAuth/sendOtp", + "sendOtpEndPoint": "/idauthentication/v1/otp/$partnerKeyURL$", + "otpIdentyEnryptRequestPath": "ida/OtpAuthDelegated/OtpIdentityEncrypt.json" + } + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-OTA-004" + } + ], + "sendOtpResp":{ + "sendOtpResTemplate":"ida/OtpAuth/sendOtpRes" + } +}' diff --git a/api-test/src/main/resources/ida/OtpAuthDelegatedV2/OtpAuthDelegatedV2Result.hbs b/api-test/src/main/resources/ida/OtpAuthDelegatedV2/OtpAuthDelegatedV2Result.hbs new file mode 100644 index 00000000000..e6b2c5b20d9 --- /dev/null +++ b/api-test/src/main/resources/ida/OtpAuthDelegatedV2/OtpAuthDelegatedV2Result.hbs @@ -0,0 +1,5 @@ +{ + "response": { + "kycStatus": "{{kycStatus}}" + } +} \ No newline at end of file diff --git a/api-test/src/main/resources/ida/OtpAuthKycExchange/OtpAuthKycExchange.yml b/api-test/src/main/resources/ida/OtpAuthKycExchange/OtpAuthKycExchange.yml index c073df967f5..8823edee23f 100644 --- a/api-test/src/main/resources/ida/OtpAuthKycExchange/OtpAuthKycExchange.yml +++ b/api-test/src/main/resources/ida/OtpAuthKycExchange/OtpAuthKycExchange.yml @@ -141,5 +141,61 @@ OtpAuthKycExchange: "respType": "JWE" }' output: '{ - + +}' + auth_OtpAuthKycExchange_OtpAuth_with_already_used_kyc_Token_Neg: + endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_OtpAuthKycExchange_07 + description: Otp auth kyc exchange with already used token + role: resident + restMethod: post + checkErrorsOnlyInResponse: true + inputTemplate: ida/OtpAuthKycExchange/OtpAuthKycExchange + outputTemplate: ida/DelegateError + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_ValidParameters_toLock_phone_Pos_UIN$", + "transactionID": "$TRANSACTIONID$", + "individualIdType": "UIN", + "id": "mosip.identity.kycexchange", + "version": "1.0", + "kycToken": "$ID:OtpAuthDelegated_OTP_Auth_With_locked_phone_Smoke_Pos_Sid_kycToken$", + "consentObtained": [{"consentObtainedValue": "gender"}, {"consentObtainedValue": "birthdate"}], + "locales": [{localesValue: "eng"}], + "respType": "JWE" + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-KYE-003" + } + ] +}' + auth_OtpAuthKycExchange_OtpAuth_using_different_individualId_Neg: + endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + uniqueIdentifier: TC_IDA_OtpAuthKycExchange_08 + description: Otp auth kyc exchange with different individualId than the one used for kyc-auth + role: resident + restMethod: post + checkErrorsOnlyInResponse: true + inputTemplate: ida/OtpAuthKycExchange/OtpAuthKycExchange + outputTemplate: ida/DelegateError + input: '{ + "requestTime": "$TIMESTAMP$", + "individualId": "$ID:AddIdentity_EkycDemo_Auth_smoke_Pos_UIN$", + "transactionID": "$TRANSACTIONID$", + "individualIdType": "UIN", + "id": "mosip.identity.kycexchange", + "version": "1.0", + "kycToken": "$ID:OtpAuthDelegated_OTP_Auth_forKycExchangeIndividualIdMismatch_Pos_Sid_kycToken$", + "consentObtained": [{"consentObtainedValue": "gender"}, {"consentObtainedValue": "birthdate"}], + "locales": [{localesValue: "eng"}], + "respType": "JWE" + }' + output: '{ + "errors": [ + { + "errorCode": "IDA-KYE-007" + } + ] }' \ No newline at end of file diff --git a/api-test/src/main/resources/ida/UnBlockHotlistAPI/UnBlockHotlistAPIForPartnerId.yml b/api-test/src/main/resources/ida/UnBlockHotlistAPI/UnBlockHotlistAPIForPartnerId.yml index d37f921a6a8..eda40e6124f 100644 --- a/api-test/src/main/resources/ida/UnBlockHotlistAPI/UnBlockHotlistAPIForPartnerId.yml +++ b/api-test/src/main/resources/ida/UnBlockHotlistAPI/UnBlockHotlistAPIForPartnerId.yml @@ -19,7 +19,7 @@ HotlistAPI: }' auth_HotlistAPI_All_Valid_Smoke_Unblock_API_KEY_sid: endPoint: /v1/hotlist/unblock - uniqueIdentifier: TC_IDA_HotlistAPI_Unblock_09 + uniqueIdentifier: TC_IDA_HotlistAPI_Unblock_10 description: Verify that the Hotlist API succeeds in unblocking an API key when all inputs are valid and a session ID is provided role: hotlist restMethod: post diff --git a/api-test/testNgXmlFiles/authSuite.xml b/api-test/testNgXmlFiles/authSuite.xml index e0fe824f362..39ab67a8562 100644 --- a/api-test/testNgXmlFiles/authSuite.xml +++ b/api-test/testNgXmlFiles/authSuite.xml @@ -56,6 +56,24 @@ + + + + + + + + + + + + + + + + @@ -119,15 +137,6 @@ - - - - - - - @@ -216,6 +225,14 @@ + + + + + + + @@ -290,5 +307,17 @@ + + + + + + + + \ No newline at end of file From 991a6de115c02260ed8a26f41bb8f3a898e0299a Mon Sep 17 00:00:00 2001 From: Mohanachandran S Date: Wed, 26 Aug 2026 14:08:40 +0530 Subject: [PATCH 2/6] Resolved the code rabbit comments Signed-off-by: Mohanachandran S --- .../auth/utils/IdAuthenticationUtil.java | 348 +++++++++++++++++- .../ida/BioAuthDelegated/BioAuthDelegated.yml | 50 +-- .../BioAuthDelegatedV2/BioAuthDelegatedV2.yml | 90 ++--- .../BioAuthKycExchange/BioAuthKYCExchange.yml | 106 +++--- .../BioAuthKycExchangeV2.yml | 34 +- .../DemoAuthDelegated/DemoAuthDelegated.yml | 73 ++-- .../DemoAuthDelegatedNeg.yml | 80 ++-- .../DemoAuthDelegatedV2.yml | 4 +- .../DemoAuthKycExchange.yml | 84 +++-- .../ida/KycExchangeNeg/KycExchangeNeg.yml | 30 +- .../ida/OtpAuthDelegated/OtpAuthDelegated.yml | 21 +- .../OtpAuthDelegatedV2/OtpAuthDelegatedV2.yml | 4 +- .../OtpAuthKycExchange/OtpAuthKycExchange.yml | 28 +- 13 files changed, 615 insertions(+), 337 deletions(-) diff --git a/api-test/src/main/java/io/mosip/testrig/apirig/auth/utils/IdAuthenticationUtil.java b/api-test/src/main/java/io/mosip/testrig/apirig/auth/utils/IdAuthenticationUtil.java index de4718c4d79..05b8e6bb434 100644 --- a/api-test/src/main/java/io/mosip/testrig/apirig/auth/utils/IdAuthenticationUtil.java +++ b/api-test/src/main/java/io/mosip/testrig/apirig/auth/utils/IdAuthenticationUtil.java @@ -3,12 +3,14 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Map; import javax.ws.rs.core.MediaType; import org.apache.log4j.Level; import org.apache.log4j.Logger; import org.json.JSONArray; +import org.json.JSONObject; import org.testng.SkipException; import io.mosip.testrig.apirig.auth.testrunner.MosipTestRunner; @@ -81,8 +83,11 @@ public static String isTestCaseValidForExecution(TestCaseDTO testCaseDTO) { || testCaseName.contains("_EkycDemo_")) && (!isElementPresent(globalRequiredFields, individualBiometrics))) { throw new SkipException(GlobalConstants.FEATURE_NOT_SUPPORTED_MESSAGE); - } else if (testCaseName.startsWith("auth_") && testCaseName.contains("_DemoAuthDelegated") || testCaseName.contains("_DemoAuthKycExchange")) { + } else if (testCaseName.startsWith("auth_") && testCaseName.contains("_DemoAuthDelegated_") || testCaseName.contains("_DemoAuthKycExchange")) { // Intentional skip: app rejects DEMO on delegated flow - "DEMO Authentication usage not allowed as per client AMR configuration" (OIDC client AMR restriction, not a code gap). + // Narrowed to "_DemoAuthDelegated_" (trailing underscore) so this doesn't also catch + // DemoAuthDelegatedV2/DemoAuthDelegatedNeg test names, which were never covered by + // the AMR verification above and should get a chance to run. throw new SkipException(GlobalConstants.FEATURE_NOT_SUPPORTED_MESSAGE); } else if (testCaseDTO.getUniqueIdentifier() != null && (testCaseDTO.getUniqueIdentifier().equals("TC_IDA_KycExchangeNeg_10") @@ -216,22 +221,43 @@ public static String replaceKeywordValue(String jsonString, String keyword, Stri private static final String KYC_DELEGATION_DISABLED_POLICY_NAME = "mosip misp no deleg policy " + AdminTestUtil.timeStamp; - // fails fast with the response body instead of a raw NPE when "response" is missing/null + // fails fast with the response body instead of a raw JSONException when "response" is + // missing/null or present but lacks "id" (e.g. a partner-management error payload). + // Scope this to policy/partner-setup responses only - never reuse it for authentication + // responses, whose body can carry UIN, VID, OTP, or token values that must not be logged. private static String extractIdOrFail(Response response, String step) { String body = response.getBody().asString(); org.json.JSONObject json = new org.json.JSONObject(body); - if (json.isNull(GlobalConstants.RESPONSE)) { + if (json.isNull(GlobalConstants.RESPONSE) + || !json.getJSONObject(GlobalConstants.RESPONSE).has("id")) { throw new RuntimeException(step + " failed: " + body); } return json.getJSONObject(GlobalConstants.RESPONSE).getString("id"); } - @SuppressWarnings("unchecked") + // Cached terminal failure from a prior createKycDelegationDisabledPartner() attempt. The + // policy group/policy/partner names above are fixed per JVM run, so retrying after a + // mid-flow failure would resend the same names and fail on a duplicate-name error instead + // of surfacing the real cause - rethrow the original failure instead. + private static RuntimeException kycDelegationDisabledSetupFailure = null; + public static synchronized String generateAndGetKycDelegationDisabledPartnerKeyUrl() { if (kycDelegationDisabledPartnerKeyUrl != null) { return kycDelegationDisabledPartnerKeyUrl; } + if (kycDelegationDisabledSetupFailure != null) { + throw kycDelegationDisabledSetupFailure; + } + try { + return createKycDelegationDisabledPartner(); + } catch (RuntimeException e) { + kycDelegationDisabledSetupFailure = e; + throw e; + } + } + @SuppressWarnings("unchecked") + private static String createKycDelegationDisabledPartner() { String token = kernelAuthLib.getTokenByRole(GlobalConstants.PARTNER); // dedicated policy group, isolated from the one the rest of the suite uses @@ -347,4 +373,318 @@ public static synchronized String generateAndGetKycDelegationDisabledPartnerKeyU return kycDelegationDisabledPartnerKeyUrl; } + /** + * Fails fast with a SkipException when a setup REST call did not succeed, + * instead of letting the caller hit an opaque JSONException while parsing + * an error response, or silently continuing with an invalid/empty token. + */ + private static void assertSuccessStatusCode(Response response, String failureMessage) { + if (response == null) { + throw new SkipException(failureMessage + ": null response"); + } + int statusCode = response.getStatusCode(); + if (statusCode < 200 || statusCode >= 300) { + throw new SkipException(failureMessage + ": HTTP " + statusCode + " - " + response.asString()); + } + } + + /** + * Creates and publishes an additional auth policy (under the same policy + * group as the main auth partner) using the given allowed-auth-types + * attributes file (which determines, among other things, the authTokenType + * of the policy), and returns the created policy id. + */ + @SuppressWarnings("unchecked") + private static String createAndPublishPolicy(String policyNameToCreate, String attrFilePath) { + String token = kernelAuthLib.getTokenByRole(GlobalConstants.PARTNER); + + String url = ApplnURI + properties.getProperty("authPolicyUrl"); + org.json.simple.JSONObject actualrequestBody = getRequestJson(AUTH_POLICY_BODY); + org.json.simple.JSONObject actualrequest2 = getRequestJson(AUTH_POLICY_REQUEST); + org.json.simple.JSONObject actualrequestAttr = getRequestJson(attrFilePath); + + actualrequest2.put("name", policyNameToCreate); + actualrequest2.put("policyGroupName", PartnerRegistration.policyGroup); + actualrequest2.put("policies", actualrequestAttr); + actualrequestBody.put(GlobalConstants.REQUEST, actualrequest2); + actualrequestBody.put(GlobalConstants.REQUESTTIME, generateCurrentUTCTimeStamp()); + + Response response = RestClient.postRequestWithCookie(url, actualrequestBody, MediaType.APPLICATION_JSON, + MediaType.APPLICATION_JSON, GlobalConstants.AUTHORIZATION, token); + assertSuccessStatusCode(response, "Failed to create auth policy"); + String responseBody = response.getBody().asString(); + String createdPolicyId = new JSONObject(responseBody).getJSONObject(GlobalConstants.RESPONSE) + .getString("id"); + + String publishPolicyURL = ApplnURI + properties.getProperty("publishPolicyurl"); + if (publishPolicyURL.contains("POLICYID")) { + publishPolicyURL = publishPolicyURL.replace("POLICYID", createdPolicyId); + publishPolicyURL = publishPolicyURL.replace("POLICYGROUPID", policygroupId); + } + + Response publishResponse = RestClient.postRequestWithCookie(publishPolicyURL, MediaType.APPLICATION_JSON, + MediaType.APPLICATION_JSON, GlobalConstants.AUTHORIZATION, token); + assertSuccessStatusCode(publishResponse, "Failed to publish auth policy"); + + return createdPolicyId; + } + + /** + * Logs in as the given partner (PMS internal userid/password auth, the same + * way {@code KernelAuthentication.getAuthForNewPartner()} logs in as the main + * partner) and returns the auth token. Generating an API key is a partner + * self-service action in PMS - it has to be done as that partner's own + * Keycloak user, not via a generic admin/role token, otherwise PMS rejects + * it with "User not authorized" (PMS_PRT_055). + */ + private static String loginAsPartner(String partnerId) { + Map kernelProps = AdminTestUtil.readProperty("Kernel"); + String authenticationInternalEndpoint = kernelProps.get("authenticationInternal"); + + org.json.simple.JSONObject actualrequest = getRequestJson("config/Authorization/internalAuthRequest.json"); + org.json.simple.JSONObject request = new org.json.simple.JSONObject(); + request.put(GlobalConstants.APPID, ConfigManager.getPmsAppId()); + request.put(GlobalConstants.PASSWORD, GlobalConstants.MOSIP123); + request.put(GlobalConstants.USER_NAME, partnerId); + request.put(GlobalConstants.CLIENTID, ConfigManager.getPmsClientId()); + request.put(GlobalConstants.CLIENTSECRET, ConfigManager.getPmsClientSecret()); + actualrequest.put(GlobalConstants.REQUEST, request); + + Response response = AdminTestUtil.postWithJson(authenticationInternalEndpoint, actualrequest); + assertSuccessStatusCode(response, "Failed to fetch admin token for partner " + partnerId); + return new JSONObject(response.getBody().asString()).getJSONObject(GlobalConstants.RESPONSE) + .getString(GlobalConstants.TOKEN); + } + + /** + * Maps the given partner to the given policy, approves that mapping, and + * generates the resulting API key. {@code submitPartnerAndGetMappingKey} + * alone only returns a mapping key (not an API key) for an unapproved + * mapping; using it as-is in a partner key URL is why IDA used to reject + * these calls with "Partner is not registered" (IDA-MPA-009) - the mapping + * was never approved and no API key was ever generated for it. + */ + private static String mapPartnerToPolicyAndGenerateApiKey(String partnerId, String policyNameToUse) { + KeycloakUserManager.createKeyCloakUsers(partnerId, partnerId + "@mosip.net", PartnerRegistration.partnerType); + + String mappingKey = KeyCloakUserAndAPIKeyGeneration.submitPartnerAndGetMappingKey(partnerId, policyNameToUse); + KeyCloakUserAndAPIKeyGeneration.approvePartnerAPIKey(mappingKey); + + String url = ApplnURI + "/v1/partnermanager/partners/" + partnerId + "/generate/apikey"; + String token = loginAsPartner(partnerId); + + HashMap requestBody = new HashMap<>(); + requestBody.put("policyName", policyNameToUse); + requestBody.put("label", generateRandomAlphabeticString(4).toUpperCase()); + + HashMap body = new HashMap<>(); + body.put("id", GlobalConstants.STRING); + body.put(GlobalConstants.METADATA, new HashMap<>()); + body.put(GlobalConstants.REQUEST, requestBody); + body.put(GlobalConstants.REQUESTTIME, generateCurrentUTCTimeStamp()); + body.put(GlobalConstants.VERSION, GlobalConstants.STRING); + + Response response = RestClient.patchRequestWithCookie(url, body, MediaType.APPLICATION_JSON, + MediaType.APPLICATION_JSON, GlobalConstants.AUTHORIZATION, token); + assertSuccessStatusCode(response, "Failed to generate API key for partner " + partnerId); + JSONObject responseValue = new JSONObject(response.asString()).getJSONObject(GlobalConstants.RESPONSE); + + return responseValue.getString(GlobalConstants.APIKEY); + } + + private static final String AUTH_POLICY_FOR_POLICY_TOKEN_REQUEST_ATTR = "config/AuthPolicyForPolicyTokenAllowedAuthTypes.json"; + private static final String policyNameForPolicyToken = "mosip auth policy for policy token " + + BaseTestCase.runContext + System.currentTimeMillis(); + public static String policyIdForPolicyToken = ""; + public static String policyTokenPartnerKeyUrl = ""; + + /** + * Creates and publishes a second auth policy (under the same policy group as + * the main auth partner) whose authTokenType is "policy", so that the + * generated authToken is derived from the policy id and the UIN rather than + * the partner id. + */ + public static void createAndPublishPolicyWithPolicyTokenType() { + policyIdForPolicyToken = createAndPublishPolicy(policyNameForPolicyToken, + AUTH_POLICY_FOR_POLICY_TOKEN_REQUEST_ATTR); + } + + /** + * Maps the existing auth partner to the policy-token policy (created via + * {@link #createAndPublishPolicyWithPolicyTokenType()}) and builds the + * partner key URL that exercises that mapping. + */ + public static String generateAndGetPolicyTokenPartnerKeyUrl() { + String policyTokenApiKey = mapPartnerToPolicyAndGenerateApiKey(PartnerRegistration.partnerId, + policyNameForPolicyToken); + policyTokenPartnerKeyUrl = PartnerRegistration.mispLicKey + "/" + PartnerRegistration.partnerId + "/" + + policyTokenApiKey; + return policyTokenPartnerKeyUrl; + } + + private static final String AUTH_POLICY_FOR_RANDOM_TOKEN_REQUEST_ATTR = "config/AuthPolicyForRandomTokenAllowedAuthTypes.json"; + private static final String policyNameForRandomToken = "mosip auth policy for random token " + + BaseTestCase.runContext + System.currentTimeMillis(); + public static String policyIdForRandomToken = ""; + public static String randomTokenPartnerKeyUrl = ""; + + /** + * Creates and publishes a third auth policy (under the same policy group as + * the main auth partner) whose authTokenType is "random", so that a new, + * unrelated authToken is generated on every authentication call regardless + * of the UIN or partner. + */ + public static void createAndPublishPolicyWithRandomTokenType() { + policyIdForRandomToken = createAndPublishPolicy(policyNameForRandomToken, + AUTH_POLICY_FOR_RANDOM_TOKEN_REQUEST_ATTR); + } + + /** + * Maps the existing auth partner to the random-token policy (created via + * {@link #createAndPublishPolicyWithRandomTokenType()}) and builds the + * partner key URL that exercises that mapping. + */ + public static String generateAndGetRandomTokenPartnerKeyUrl() { + String randomTokenApiKey = mapPartnerToPolicyAndGenerateApiKey(PartnerRegistration.partnerId, + policyNameForRandomToken); + randomTokenPartnerKeyUrl = PartnerRegistration.mispLicKey + "/" + PartnerRegistration.partnerId + "/" + + randomTokenApiKey; + return randomTokenPartnerKeyUrl; + } + + /** + * Registers an additional, independent auth partner (its own + * certificates/keys) under the same policy group as the main partner, so + * that it can later be mapped to the same policy-token policy as the main + * partner. Used to verify that a "policy" authTokenType token depends only + * on the policy id and the UIN, not on which partner under that policy made + * the call. + */ + private static void registerAdditionalPolicyTokenPartner(String partnerId, String organizationName, + String emailId) { + String url = ApplnURI + properties.getProperty("putPartnerRegistrationUrl"); + String token = kernelAuthLib.getTokenByRole(GlobalConstants.PARTNER); + + HashMap requestBody = new HashMap<>(); + requestBody.put("address", "Bangalore"); + requestBody.put("contactNumber", "8553967572"); + requestBody.put("emailId", emailId); + requestBody.put("organizationName", organizationName); + requestBody.put(GlobalConstants.PARTNERID, partnerId); + requestBody.put("partnerType", PartnerRegistration.partnerType); + requestBody.put("policyGroup", PartnerRegistration.policyGroup); + + HashMap body = new HashMap<>(); + body.put("id", GlobalConstants.STRING); + body.put(GlobalConstants.METADATA, new HashMap<>()); + body.put(GlobalConstants.REQUEST, requestBody); + body.put(GlobalConstants.REQUESTTIME, generateCurrentUTCTimeStamp()); + body.put(GlobalConstants.VERSION, "LTS"); + + Response response = RestClient.postRequestWithCookie(url, body, MediaType.APPLICATION_JSON, + MediaType.APPLICATION_JSON, GlobalConstants.AUTHORIZATION, token); + assertSuccessStatusCode(response, "Failed to register partner " + partnerId); + + JSONObject certificateValue = PartnerRegistration.getCertificates(partnerId, "RELYING_PARTY"); + String caCertValue = certificateValue.getString("caCertificate"); + String interCertValue = certificateValue.getString("interCertificate"); + String partnerCertValue = certificateValue.getString("partnerCertificate"); + + PartnerRegistration.uploadCACertificate(caCertValue, "Auth"); + PartnerRegistration.uploadIntermediateCertificate(interCertValue, "Auth"); + + JSONObject signedcertificateValue = PartnerRegistration.uploadPartnerCertificate(partnerCertValue, "Auth", + partnerId); + String certValueSigned = signedcertificateValue.getString("signedCertificateData"); + + PartnerRegistration.uploadSignedCertificate(certValueSigned, "RELYING_PARTY", partnerId, true); + } + + /** + * Maps the given partner to the given policy and builds its partner key URL + * for that mapping. A partner can be mapped to several different policies + * (each mapping mints its own API key), which is how the same partner + * entity is reused across the policy/partner/random token type tests + * instead of registering a fresh partner for every combination. + */ + private static String mapPartnerToPolicyAndGetKeyUrl(String partnerId, String policyNameToUse) { + String apiKey = mapPartnerToPolicyAndGenerateApiKey(partnerId, policyNameToUse); + return PartnerRegistration.mispLicKey + "/" + partnerId + "/" + apiKey; + } + + private static String mapToPolicyTokenPolicyAndGetKeyUrl(String partnerId) { + return mapPartnerToPolicyAndGetKeyUrl(partnerId, policyNameForPolicyToken); + } + + private static final String policyToken2OrganizationName = BaseTestCase.currentModule + "_policy2_pid"; + public static String policyToken2PartnerId = policyToken2OrganizationName; + private static final String policyToken2EmailId = "mosip_policy2_" + System.currentTimeMillis() + "@gmail.com"; + public static String policyToken2PartnerKeyUrl = ""; + + public static void registerSecondPolicyTokenPartner() { + registerAdditionalPolicyTokenPartner(policyToken2PartnerId, policyToken2OrganizationName, + policyToken2EmailId); + } + + public static String generateAndGetSecondPolicyTokenPartnerKeyUrl() { + policyToken2PartnerKeyUrl = mapToPolicyTokenPolicyAndGetKeyUrl(policyToken2PartnerId); + return policyToken2PartnerKeyUrl; + } + + private static final String policyToken3OrganizationName = BaseTestCase.currentModule + "_policy3_pid"; + public static String policyToken3PartnerId = policyToken3OrganizationName; + private static final String policyToken3EmailId = "mosip_policy3_" + System.currentTimeMillis() + "@gmail.com"; + public static String policyToken3PartnerKeyUrl = ""; + + /** + * Registers a third partner mapped to the same policy-token policy, so that + * the "same token for the same UIN regardless of partner" property can be + * verified across more than just a single pair of partners. + */ + public static void registerThirdPolicyTokenPartner() { + registerAdditionalPolicyTokenPartner(policyToken3PartnerId, policyToken3OrganizationName, + policyToken3EmailId); + } + + public static String generateAndGetThirdPolicyTokenPartnerKeyUrl() { + policyToken3PartnerKeyUrl = mapToPolicyTokenPolicyAndGetKeyUrl(policyToken3PartnerId); + return policyToken3PartnerKeyUrl; + } + + public static String partnerToken2KeyUrl = ""; + + /** + * Maps the second partner (already registered for the policy-token tests via + * {@link #registerSecondPolicyTokenPartner()}) to the default policy, whose + * authTokenType is "partner", instead of the policy-token policy. This gives + * a second, independent partner under the SAME authTokenType=partner policy + * as the main partner, so the resulting authToken (which is derived from + * partnerId and UIN) can be compared against the main partner's token for + * the same UIN and shown to differ. + */ + public static String generateAndGetPartnerToken2KeyUrl() { + partnerToken2KeyUrl = mapPartnerToPolicyAndGetKeyUrl(policyToken2PartnerId, policyName); + return partnerToken2KeyUrl; + } + + public static String randomToken2PartnerKeyUrl = ""; + public static String randomToken3PartnerKeyUrl = ""; + + /** + * Maps the second and third partners (already registered for the + * policy-token tests) to the random-token policy created via + * {@link #createAndPublishPolicyWithRandomTokenType()}, so that the + * "a new random token every call, regardless of partner" property can be + * verified across multiple different partners sharing the same policy. + */ + public static String generateAndGetRandomToken2PartnerKeyUrl() { + randomToken2PartnerKeyUrl = mapPartnerToPolicyAndGetKeyUrl(policyToken2PartnerId, policyNameForRandomToken); + return randomToken2PartnerKeyUrl; + } + + public static String generateAndGetRandomToken3PartnerKeyUrl() { + randomToken3PartnerKeyUrl = mapPartnerToPolicyAndGetKeyUrl(policyToken3PartnerId, policyNameForRandomToken); + return randomToken3PartnerKeyUrl; + } + } \ No newline at end of file diff --git a/api-test/src/main/resources/ida/BioAuthDelegated/BioAuthDelegated.yml b/api-test/src/main/resources/ida/BioAuthDelegated/BioAuthDelegated.yml index 737dde3f60b..8bd730ba333 100644 --- a/api-test/src/main/resources/ida/BioAuthDelegated/BioAuthDelegated.yml +++ b/api-test/src/main/resources/ida/BioAuthDelegated/BioAuthDelegated.yml @@ -42,7 +42,7 @@ BioAuthDelegated: auth_BioAuthDelegated_Biometric_Face_With_Valid_VID_Smoke_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegated_02 - description: Biometric face KYC delegated auth with valid VID + description: Biometric face KYC delegated auth with valid VID - expected to succeed role: resident restMethod: post inputTemplate: ida/BioAuthDelegated/BioAuthDelegated @@ -82,7 +82,7 @@ BioAuthDelegated: auth_BioAuthDelegated_Biometric_LeftIris_With_Valid_UIN_Smoke_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegated_03 - description: Biometric left iris KYC delegated auth with valid UIN + description: Biometric left iris KYC delegated auth with valid UIN - expected to succeed role: resident restMethod: post inputTemplate: ida/BioAuthDelegated/BioAuthDelegated @@ -122,7 +122,7 @@ BioAuthDelegated: auth_BioAuthDelegated_Biometric_LeftIris_With_Valid_VID_Smoke_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegated_04 - description: Biometric left iris KYC delegated auth with valid VID + description: Biometric left iris KYC delegated auth with valid VID - expected to succeed role: resident restMethod: post inputTemplate: ida/BioAuthDelegated/BioAuthDelegated @@ -162,7 +162,7 @@ BioAuthDelegated: auth_BioAuthDelegated_Biometric_RightIris_With_Valid_UIN_Smoke_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegated_05 - description: Biometric Right iris KYC delegated auth with valid UIN + description: Biometric Right iris KYC delegated auth with valid UIN - expected to succeed role: resident restMethod: post inputTemplate: ida/BioAuthDelegated/BioAuthDelegated @@ -202,7 +202,7 @@ BioAuthDelegated: auth_BioAuthDelegated_Biometric_RightIris_With_Valid_VID_Smoke_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegated_06 - description: Biometric Right iris KYC delegated auth with valid VID + description: Biometric Right iris KYC delegated auth with valid VID - expected to succeed role: resident restMethod: post inputTemplate: ida/BioAuthDelegated/BioAuthDelegated @@ -242,7 +242,7 @@ BioAuthDelegated: auth_BioAuthDelegated_Biometric_LeftIndexFinger_With_Valid_UIN_Smoke_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegated_07 - description: Biometric LeftIndexFinger KYC delegated auth with valid UIN + description: Biometric LeftIndexFinger KYC delegated auth with valid UIN - expected to succeed role: resident restMethod: post inputTemplate: ida/BioAuthDelegated/BioAuthDelegated @@ -282,7 +282,7 @@ BioAuthDelegated: auth_BioAuthDelegated_Biometric_LeftIndexFinger_With_Valid_VID_Smoke_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegated_08 - description: Biometric LeftIndexFinger KYC delegated auth with valid VID + description: Biometric LeftIndexFinger KYC delegated auth with valid VID - expected to succeed role: resident restMethod: post inputTemplate: ida/BioAuthDelegated/BioAuthDelegated @@ -322,7 +322,7 @@ BioAuthDelegated: auth_BioAuthDelegated_Biometric_RightIndexFinger_With_Valid_UIN_Smoke_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegated_09 - description: Biometric RightIndexFinger KYC delegated auth with valid UIN + description: Biometric RightIndexFinger KYC delegated auth with valid UIN - expected to succeed role: resident restMethod: post inputTemplate: ida/BioAuthDelegated/BioAuthDelegated @@ -362,7 +362,7 @@ BioAuthDelegated: auth_BioAuthDelegated_Biometric_RightIndexFinger_With_Valid_VID_Smoke_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegated_10 - description: Biometric RightIndexFinger KYC delegated auth with valid VID + description: Biometric RightIndexFinger KYC delegated auth with valid VID - expected to succeed role: resident restMethod: post inputTemplate: ida/BioAuthDelegated/BioAuthDelegated @@ -402,7 +402,7 @@ BioAuthDelegated: auth_BioAuthDelegated_Biometric_RightMiddleFinger_With_Valid_UIN_Smoke_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegated_11 - description: Biometric RightMiddleFinger KYC delegated auth with valid UIN + description: Biometric RightMiddleFinger KYC delegated auth with valid UIN - expected to succeed role: resident restMethod: post inputTemplate: ida/BioAuthDelegated/BioAuthDelegated @@ -442,7 +442,7 @@ BioAuthDelegated: auth_BioAuthDelegated_Biometric_RightMiddleFinger_With_Valid_VID_Smoke_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegated_12 - description: Biometric RightMiddleFinger KYC delegated auth with valid VID + description: Biometric RightMiddleFinger KYC delegated auth with valid VID - expected to succeed role: resident restMethod: post inputTemplate: ida/BioAuthDelegated/BioAuthDelegated @@ -482,7 +482,7 @@ BioAuthDelegated: auth_BioAuthDelegated_Biometric_LeftMiddleFinger_With_Valid_UIN_Smoke_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegated_13 - description: Biometric LeftMiddleFinger KYC delegated auth with valid UIN + description: Biometric LeftMiddleFinger KYC delegated auth with valid UIN - expected to succeed role: resident restMethod: post inputTemplate: ida/BioAuthDelegated/BioAuthDelegated @@ -522,7 +522,7 @@ BioAuthDelegated: auth_BioAuthDelegated_Biometric_LeftMiddleFinger_With_Valid_VID_Smoke_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegated_14 - description: Biometric LeftMiddleFinger KYC delegated auth with valid VID + description: Biometric LeftMiddleFinger KYC delegated auth with valid VID - expected to succeed role: resident restMethod: post inputTemplate: ida/BioAuthDelegated/BioAuthDelegated @@ -562,7 +562,7 @@ BioAuthDelegated: auth_BioAuthDelegated_Biometric_RightLittleFinger_With_Valid_UIN_Smoke_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegated_15 - description: Biometric RightLittleFinger KYC delegated auth with valid UIN + description: Biometric RightLittleFinger KYC delegated auth with valid UIN - expected to succeed role: resident restMethod: post inputTemplate: ida/BioAuthDelegated/BioAuthDelegated @@ -602,7 +602,7 @@ BioAuthDelegated: auth_BioAuthDelegated_Biometric_RightLittleFinger_With_Valid_VID_Smoke_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegated_16 - description: Biometric RightLittleFinger KYC delegated auth with valid VID + description: Biometric RightLittleFinger KYC delegated auth with valid VID - expected to succeed role: resident restMethod: post inputTemplate: ida/BioAuthDelegated/BioAuthDelegated @@ -642,7 +642,7 @@ BioAuthDelegated: auth_BioAuthDelegated_Biometric_LeftLittleFinger_With_Valid_UIN_Smoke_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegated_17 - description: Biometric LeftLittleFinger KYC delegated auth with valid UIN + description: Biometric LeftLittleFinger KYC delegated auth with valid UIN - expected to succeed role: resident restMethod: post inputTemplate: ida/BioAuthDelegated/BioAuthDelegated @@ -682,7 +682,7 @@ BioAuthDelegated: auth_BioAuthDelegated_Biometric_LeftLittleFinger_With_Valid_VID_Smoke_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegated_18 - description: Biometric LeftLittleFinger KYC delegated auth with valid VID + description: Biometric LeftLittleFinger KYC delegated auth with valid VID - expected to succeed role: resident restMethod: post inputTemplate: ida/BioAuthDelegated/BioAuthDelegated @@ -722,7 +722,7 @@ BioAuthDelegated: auth_BioAuthDelegated_Biometric_RightThumb_With_Valid_UIN_Smoke_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegated_19 - description: Biometric RightThumb KYC delegated auth with valid UIN + description: Biometric RightThumb KYC delegated auth with valid UIN - expected to succeed role: resident restMethod: post inputTemplate: ida/BioAuthDelegated/BioAuthDelegated @@ -762,7 +762,7 @@ BioAuthDelegated: auth_BioAuthDelegated_Biometric_RightThumb_With_Valid_VID_Smoke_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegated_20 - description: Biometric RightThumb KYC delegated auth with valid VID + description: Biometric RightThumb KYC delegated auth with valid VID - expected to succeed role: resident restMethod: post inputTemplate: ida/BioAuthDelegated/BioAuthDelegated @@ -802,7 +802,7 @@ BioAuthDelegated: auth_BioAuthDelegated_Biometric_LeftThumb_With_Valid_UIN_Smoke_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegated_21 - description: Biometric LeftThumb KYC delegated auth with valid UIN + description: Biometric LeftThumb KYC delegated auth with valid UIN - expected to succeed role: resident restMethod: post inputTemplate: ida/BioAuthDelegated/BioAuthDelegated @@ -842,7 +842,7 @@ BioAuthDelegated: auth_BioAuthDelegated_Biometric_LeftThumb_With_Valid_VID_Smoke_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegated_22 - description: Biometric LeftThumb KYC delegated auth with valid VID + description: Biometric LeftThumb KYC delegated auth with valid VID - expected to succeed role: resident restMethod: post inputTemplate: ida/BioAuthDelegated/BioAuthDelegated @@ -882,7 +882,7 @@ BioAuthDelegated: auth_BioAuthDelegated_Biometric_differentIdTypeForKycExchange_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegated_23 - description: KYC delegated auth with UIN where identity registered with a different idType for KYC exchange + description: KYC delegated auth with UIN where identity registered with a different idType for KYC exchange - expected to succeed role: resident restMethod: post inputTemplate: ida/BioAuthDelegated/BioAuthDelegated @@ -922,7 +922,7 @@ BioAuthDelegated: auth_BioAuthDelegated_Biometric_forkYCexchangeWithRandomUIN_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegated_24 - description: KYC delegated auth with valid UIN + description: KYC delegated auth with valid UIN - expected to succeed role: resident restMethod: post inputTemplate: ida/BioAuthDelegated/BioAuthDelegated @@ -962,7 +962,7 @@ BioAuthDelegated: auth_BioAuthDelegated_Biometric_forkYCexchangeWithRandomVID_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegated_25 - description: KYC delegated auth with valid VID + description: KYC delegated auth with valid VID - expected to succeed role: resident restMethod: post inputTemplate: ida/BioAuthDelegated/BioAuthDelegated @@ -1002,7 +1002,7 @@ BioAuthDelegated: auth_BioAuthDelegatedNeg_KycRequestDelegation_NotAllowed_Neg: endPoint: /idauthentication/v1/kyc-auth/delegated/$kycDelegationDisabledPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegated_26 - description: Kyc auth with a MISP key whose policy disallows kyc delegation - verified live, app returns IDA-MPA-030 alongside a generic IDA-MLC-007 + description: Kyc auth with a MISP key whose policy disallows kyc delegation - verified live, app returns IDA-MPA-030 alongside a generic IDA-MLC-007 - expected to fail role: resident restMethod: post inputTemplate: ida/BioAuthDelegated/BioAuthDelegated diff --git a/api-test/src/main/resources/ida/BioAuthDelegatedV2/BioAuthDelegatedV2.yml b/api-test/src/main/resources/ida/BioAuthDelegatedV2/BioAuthDelegatedV2.yml index 57dcfc6ff37..3c393ad4e31 100644 --- a/api-test/src/main/resources/ida/BioAuthDelegatedV2/BioAuthDelegatedV2.yml +++ b/api-test/src/main/resources/ida/BioAuthDelegatedV2/BioAuthDelegatedV2.yml @@ -1,8 +1,8 @@ BioAuthDelegatedV2: auth_BioAuthDelegatedV2_Biometric_Face_With_Valid_uin_Smoke_Pos_Sid: - endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegatedV2_01 - description: Validate the delegated V2 biometric face authentication for a valid UIN in a smoke positive scenario using SID + description: Validate the delegated V2 biometric face authentication for a valid UIN in a smoke positive scenario using SID - expected to succeed role: resident restMethod: post inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 @@ -41,9 +41,9 @@ BioAuthDelegatedV2: "kycStatus": "true" }' auth_BioAuthDelegatedV2_claimsMetadataRequired_true_Pos: - endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegatedV2_02 - description: Kyc auth V2 with claimsMetadataRequired true - response must carry a non-empty verifiedClaimsMetadata + description: Kyc auth V2 with claimsMetadataRequired true - response must carry a non-empty verifiedClaimsMetadata - expected to succeed role: resident restMethod: post inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 @@ -83,7 +83,7 @@ BioAuthDelegatedV2: "verifiedClaimsMetadata": "$IGNORE$" }' auth_BioAuthDelegatedV2_claimsMetadataRequired_false_Pos: - endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegatedV2_03 description: Kyc auth V2 with claimsMetadataRequired omitted, defaults to false - still succeeds role: resident @@ -95,7 +95,7 @@ BioAuthDelegatedV2: "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", "transactionId": "$TRANSACTIONID$", "individualIdType": "UIN", - "claimsMetadataRequired": false, + "claimsMetadataRequired": "$REMOVE$", "bio": true, "demo": false, "otp": false, @@ -124,9 +124,9 @@ BioAuthDelegatedV2: "kycStatus": "true" }' auth_BioAuthDelegatedV2Neg_Invalid_BioValue_Neg: - endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegatedV2Neg_01 - description: Kyc auth V2 with invalid bioValue + description: Kyc auth V2 with invalid bioValue - expected to fail role: resident restMethod: post inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 @@ -172,9 +172,9 @@ BioAuthDelegatedV2: } }' auth_BioAuthDelegatedV2Neg_Invalid_DigitalId_Type_Neg: - endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegatedV2Neg_02 - description: Kyc auth V2 with an invalid digitalId type + description: Kyc auth V2 with an invalid digitalId type - expected to fail role: resident restMethod: post inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 @@ -223,9 +223,9 @@ BioAuthDelegatedV2: } }' auth_BioAuthDelegatedV2Neg_Dummy_PartnerKey_Neg: - endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$a2673y3g3grURL$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$a2673y3g3grURL$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegatedV2Neg_03 - description: Kyc auth V2 with a dummy/unregistered partner key + description: Kyc auth V2 with a dummy/unregistered partner key - expected to fail role: resident restMethod: post inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 @@ -274,9 +274,9 @@ BioAuthDelegatedV2: } }' auth_BioAuthDelegatedV2Neg_Malformed_RequestTime_Neg: - endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegatedV2Neg_04 - description: Kyc auth V2 with an unparseable requestTime + description: Kyc auth V2 with an unparseable requestTime - expected to fail role: resident restMethod: post inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 @@ -322,7 +322,7 @@ BioAuthDelegatedV2: } }' auth_BioAuthDelegatedV2Neg_Invalid_UIN_Neg: - endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegatedV2Neg_05 description: Kyc auth V2 with an invalid UIN (fails checksum) role: resident @@ -370,7 +370,7 @@ BioAuthDelegatedV2: } }' auth_BioAuthDelegatedV2Neg_Invalid_VID_Neg: - endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegatedV2Neg_06 description: Kyc auth V2 with an invalid VID (fails checksum) role: resident @@ -418,9 +418,9 @@ BioAuthDelegatedV2: } }' auth_BioAuthDelegatedV2Neg_Missing_RequestTime_Neg: - endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegatedV2Neg_07 - description: Kyc auth V2 with missing requestTime + description: Kyc auth V2 with missing requestTime - expected to fail role: resident restMethod: post inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 @@ -466,7 +466,7 @@ BioAuthDelegatedV2: } }' auth_BioAuthDelegatedV2Neg_Malformed_TransactionID_Neg: - endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegatedV2Neg_08 description: Kyc auth V2 with transactionId not matching v1's 10-char alphanumeric format - v2 rejects it same as v1 (see TC_IDA_BioAuthDelegatedV2Neg_09 for the v2-specific upper bound instead) role: resident @@ -514,9 +514,9 @@ BioAuthDelegatedV2: } }' auth_BioAuthDelegatedV2Neg_TransactionID_TooLong_Neg: - endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegatedV2Neg_09 - description: Kyc auth V2 with transactionID exceeding the v2 schema's 50 char upper bound + description: Kyc auth V2 with transactionID exceeding the v2 schema's 50 char upper bound - expected to fail role: resident restMethod: post inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 @@ -562,9 +562,9 @@ BioAuthDelegatedV2: } }' auth_BioAuthDelegatedV2Neg_Invalid_BioType_Neg: - endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegatedV2Neg_10 - description: Kyc auth V2 with an unsupported bioType value + description: Kyc auth V2 with an unsupported bioType value - expected to fail role: resident restMethod: post inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 @@ -610,9 +610,9 @@ BioAuthDelegatedV2: } }' auth_BioAuthDelegatedV2Neg_Revoked_VID_Neg: - endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegatedV2Neg_11 - description: Kyc auth V2 with a revoked VID + description: Kyc auth V2 with a revoked VID - expected to fail role: resident restMethod: post inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 @@ -658,9 +658,9 @@ BioAuthDelegatedV2: } }' auth_BioAuthDelegatedV2Neg_Permanently_Locked_UIN_Neg: - endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegatedV2Neg_12 - description: Kyc auth V2 with a permanently locked UIN + description: Kyc auth V2 with a permanently locked UIN - expected to fail role: resident restMethod: post inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 @@ -706,9 +706,9 @@ BioAuthDelegatedV2: } }' auth_BioAuthDelegatedV2Neg_IndividualId_TooShort_Neg: - endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegatedV2Neg_13 - description: Kyc auth V2 with individualId shorter than the schema's 12 char lower bound + description: Kyc auth V2 with individualId shorter than the schema's 12 char lower bound - expected to fail role: resident restMethod: post inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 @@ -754,9 +754,9 @@ BioAuthDelegatedV2: } }' auth_BioAuthDelegatedV2Neg_IndividualId_TooLong_Neg: - endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegatedV2Neg_14 - description: Kyc auth V2 with individualId longer than the schema's 28 char upper bound + description: Kyc auth V2 with individualId longer than the schema's 28 char upper bound - expected to fail role: resident restMethod: post inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 @@ -802,9 +802,9 @@ BioAuthDelegatedV2: } }' auth_BioAuthDelegatedV2_forKycExchangeV2IndividualIdMismatch_Pos_Sid: - endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegatedV2_04 - description: Kyc auth V2 dedicated token for kyc-exchange V2 individualId mismatch negative test + description: Kyc auth V2 dedicated token for kyc-exchange V2 individualId mismatch negative test - expected to succeed role: resident restMethod: post inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 @@ -843,9 +843,9 @@ BioAuthDelegatedV2: "kycStatus": "true" }' auth_BioAuthDelegatedV2_forKycExchangeV2DuplicateClaims_Pos_Sid: - endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegatedV2_05 - description: Kyc auth V2 dedicated token for kyc-exchange V2 duplicate verified/unverified claims negative test + description: Kyc auth V2 dedicated token for kyc-exchange V2 duplicate verified/unverified claims negative test - expected to succeed role: resident restMethod: post inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 @@ -884,9 +884,9 @@ BioAuthDelegatedV2: "kycStatus": "true" }' auth_BioAuthDelegatedV2_forKycExchangeV2MissingTxnId_Pos_Sid: - endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegatedV2_06 - description: Kyc auth V2 dedicated token for kyc-exchange V2 missing/null transactionID negative test + description: Kyc auth V2 dedicated token for kyc-exchange V2 missing/null transactionID negative test - expected to succeed role: resident restMethod: post inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 @@ -925,9 +925,9 @@ BioAuthDelegatedV2: "kycStatus": "true" }' auth_BioAuthDelegatedV2_forKycExchangeV2VerifiedOnly_Pos_Sid: - endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegatedV2_07 - description: Kyc auth V2 dedicated token for kyc-exchange V2 verified-claims-only positive test + description: Kyc auth V2 dedicated token for kyc-exchange V2 verified-claims-only positive test - expected to succeed role: resident restMethod: post inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 @@ -966,9 +966,9 @@ BioAuthDelegatedV2: "kycStatus": "true" }' auth_BioAuthDelegatedV2_forKycExchangeV2UnverifiedOnly_Pos_Sid: - endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegatedV2_08 - description: Kyc auth V2 dedicated token for kyc-exchange V2 unverified-claims-only positive test + description: Kyc auth V2 dedicated token for kyc-exchange V2 unverified-claims-only positive test - expected to succeed role: resident restMethod: post inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 @@ -1007,9 +1007,9 @@ BioAuthDelegatedV2: "kycStatus": "true" }' auth_BioAuthDelegatedV2_forKycExchangeV2MultiVerification_Pos_Sid: - endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegatedV2_09 - description: Kyc auth V2 dedicated token for kyc-exchange V2 multiple verification blocks positive test + description: Kyc auth V2 dedicated token for kyc-exchange V2 multiple verification blocks positive test - expected to succeed role: resident restMethod: post inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 @@ -1048,9 +1048,9 @@ BioAuthDelegatedV2: "kycStatus": "true" }' auth_BioAuthDelegatedV2_forKycExchangeV2RespTypeNonJwe_Pos_Sid: - endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$​/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ + endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthDelegatedV2_10 - description: Kyc auth V2 dedicated token for kyc-exchange V2 non-JWE respType positive test + description: Kyc auth V2 dedicated token for kyc-exchange V2 non-JWE respType positive test - expected to succeed role: resident restMethod: post inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 diff --git a/api-test/src/main/resources/ida/BioAuthKycExchange/BioAuthKYCExchange.yml b/api-test/src/main/resources/ida/BioAuthKycExchange/BioAuthKYCExchange.yml index 70c9b5a2690..c59001796b4 100644 --- a/api-test/src/main/resources/ida/BioAuthKycExchange/BioAuthKYCExchange.yml +++ b/api-test/src/main/resources/ida/BioAuthKycExchange/BioAuthKYCExchange.yml @@ -5,9 +5,9 @@ BioAuthKycExchange: description: Biometric face auth KYC Exchange with valid UIN and auth to get success response role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", @@ -26,12 +26,12 @@ BioAuthKycExchange: auth_BioAuthKycExchange_Biometric_Face_With_Valid_VID_Smoke_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchange_02 - description: Biometric face KYC exchange auth with valid VID + description: Biometric face KYC exchange auth with valid VID - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_for_kycDelegated_bio_sid_vid$", @@ -50,12 +50,12 @@ BioAuthKycExchange: auth_BioAuthKycExchange_Biometric_LeftIris_With_Valid_UIN_Smoke_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchange_03 - description: Biometric left iris KYC exchange auth with valid UIN + description: Biometric left iris KYC exchange auth with valid UIN - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_For_Kyc_Delegated_leftIris_Auth_UIN_smoke_Pos_UIN$", @@ -74,12 +74,12 @@ BioAuthKycExchange: auth_BioAuthKycExchange_Biometric_LeftIris_With_Valid_VID_Smoke_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchange_04 - description: Biometric left iris KYC exchange auth with valid VID + description: Biometric left iris KYC exchange auth with valid VID - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_for_kycDelegated_bio_sid_vid$", @@ -98,12 +98,12 @@ BioAuthKycExchange: auth_BioAuthKycExchange_Biometric_RightIris_With_Valid_UIN_Smoke_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchange_05 - description: Biometric Right Iris KYC exchange auth with valid UIN + description: Biometric Right Iris KYC exchange auth with valid UIN - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_For_Kyc_Delegated_rightIris_Auth_UIN_smoke_Pos_UIN$", @@ -122,12 +122,12 @@ BioAuthKycExchange: auth_BioAuthKycExchange_Biometric_RightIris_With_Valid_VID_Smoke_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchange_06 - description: Biometric Right Iris KYC exchange auth with valid VID + description: Biometric Right Iris KYC exchange auth with valid VID - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_for_kycDelegated_bio_rightIris_sid_vid$", @@ -146,12 +146,12 @@ BioAuthKycExchange: auth_BioAuthKycExchange_Biometric_LeftIndexFinger_With_Valid_UIN_Smoke_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchange_07 - description: Biometric LeftIndexFinger KYC exchange auth with valid UIN + description: Biometric LeftIndexFinger KYC exchange auth with valid UIN - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", @@ -170,12 +170,12 @@ BioAuthKycExchange: auth_BioAuthKycExchange_Biometric_LeftIndexFinger_With_Valid_VID_Smoke_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchange_08 - description: Biometric LeftIndexFinger KYC exchange auth with valid VID + description: Biometric LeftIndexFinger KYC exchange auth with valid VID - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_for_kycDelegated_bio_sid_vid$", @@ -194,12 +194,12 @@ BioAuthKycExchange: auth_BioAuthKycExchange_Biometric_RightIndexFinger_With_Valid_UIN_Smoke_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchange_09 - description: Biometric RightIndexFinger KYC exchange auth with valid UIN + description: Biometric RightIndexFinger KYC exchange auth with valid UIN - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", @@ -218,12 +218,12 @@ BioAuthKycExchange: auth_BioAuthKycExchange_Biometric_RightIndexFinger_With_Valid_VID_Smoke_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchange_10 - description: Biometric RightIndexFinger KYC exchange auth with valid VID + description: Biometric RightIndexFinger KYC exchange auth with valid VID - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_for_kycDelegated_bio_sid_vid$", @@ -242,12 +242,12 @@ BioAuthKycExchange: auth_BioAuthKycExchange_Biometric_RightMiddleFinger_With_Valid_UIN_Smoke_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchange_11 - description: Biometric RightMiddleFinger KYC exchange auth with valid UIN + description: Biometric RightMiddleFinger KYC exchange auth with valid UIN - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", @@ -266,12 +266,12 @@ BioAuthKycExchange: auth_BioAuthKycExchange_Biometric_RightMiddleFinger_With_Valid_VID_Smoke_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchange_12 - description: Biometric RightMiddleFinger KYC exchange auth with valid VID + description: Biometric RightMiddleFinger KYC exchange auth with valid VID - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_for_kycDelegated_bio_sid_vid$", @@ -290,12 +290,12 @@ BioAuthKycExchange: auth_BioAuthKycExchange_Biometric_LeftMiddleFinger_With_Valid_UIN_Smoke_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchange_13 - description: Biometric LeftMiddleFinger KYC exchange auth with valid UIN + description: Biometric LeftMiddleFinger KYC exchange auth with valid UIN - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", @@ -314,12 +314,12 @@ BioAuthKycExchange: auth_BioAuthKycExchange_Biometric_LeftMiddleFinger_With_Valid_VID_Smoke_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchange_14 - description: Biometric LeftMiddleFinger KYC exchange auth with valid VID + description: Biometric LeftMiddleFinger KYC exchange auth with valid VID - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_for_kycDelegated_bio_sid_vid$", @@ -338,12 +338,12 @@ BioAuthKycExchange: auth_BioAuthKycExchange_Biometric_RightLittleFinger_With_Valid_UIN_Smoke_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchange_15 - description: Biometric RightLittleFinger KYC exchange auth with valid UIN + description: Biometric RightLittleFinger KYC exchange auth with valid UIN - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", @@ -362,12 +362,12 @@ BioAuthKycExchange: auth_BioAuthKycExchange_Biometric_RightLittleFinger_With_Valid_VID_Smoke_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchange_16 - description: Biometric RightLittleFinger KYC exchange auth with valid VID + description: Biometric RightLittleFinger KYC exchange auth with valid VID - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_for_kycDelegated_bio_sid_vid$", @@ -386,12 +386,12 @@ BioAuthKycExchange: auth_BioAuthKycExchange_Biometric_LeftLittleFinger_With_Valid_UIN_Smoke_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchange_17 - description: Biometric LeftLittleFinger KYC exchange auth with valid UIN + description: Biometric LeftLittleFinger KYC exchange auth with valid UIN - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", @@ -410,12 +410,12 @@ BioAuthKycExchange: auth_BioAuthKycExchange_Biometric_LeftLittleFinger_With_Valid_VID_Smoke_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchange_18 - description: Biometric LeftLittleFinger KYC exchange auth with valid VID + description: Biometric LeftLittleFinger KYC exchange auth with valid VID - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_for_kycDelegated_bio_sid_vid$", @@ -434,12 +434,12 @@ BioAuthKycExchange: auth_BioAuthKycExchange_Biometric_RightThumb_With_Valid_UIN_Smoke_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchange_19 - description: Biometric RightThumb KYC exchange auth with valid UIN + description: Biometric RightThumb KYC exchange auth with valid UIN - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", @@ -458,12 +458,12 @@ BioAuthKycExchange: auth_BioAuthKycExchange_Biometric_RightThumb_With_Valid_VID_Smoke_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchange_20 - description: Biometric RightThumb KYC exchange auth with valid VID + description: Biometric RightThumb KYC exchange auth with valid VID - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_for_kycDelegated_bio_sid_vid$", @@ -482,12 +482,12 @@ BioAuthKycExchange: auth_BioAuthKycExchange_Biometric_LeftThumb_With_Valid_UIN_Smoke_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchange_21 - description: Biometric LeftThumb KYC exchange auth with valid UIN + description: Biometric LeftThumb KYC exchange auth with valid UIN - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", @@ -506,12 +506,12 @@ BioAuthKycExchange: auth_BioAuthKycExchange_Biometric_LeftThumb_With_Valid_VID_Smoke_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchange_22 - description: Biometric LeftThumb KYC exchange auth with valid VID + description: Biometric LeftThumb KYC exchange auth with valid VID - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_for_kycDelegated_bio_sid_vid$", @@ -530,10 +530,9 @@ BioAuthKycExchange: auth_BioAuthKycExchange_Biometric_with_already_used_kyc_Token_VID_Neg: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchange_23 - description: Kyc exchange with already used token + description: Kyc exchange with already used token - expected to fail role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/DelegateError input: '{ @@ -558,10 +557,9 @@ BioAuthKycExchange: auth_BioAuthKycExchange_Biometric_with_already_used_kyc_Token_UIN_Neg: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchange_24 - description: Kyc exchange with already used token + description: Kyc exchange with already used token - expected to fail role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/DelegateError input: '{ @@ -586,10 +584,9 @@ BioAuthKycExchange: auth_BioAuthKycExchange_Biometric_using_different_individualIdKycAuth_UIN_Neg: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchange_25 - description: Kyc exchange with different individualId with random UIN + description: Kyc exchange with different individualId with random UIN - expected to fail role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/DelegateError input: '{ @@ -614,10 +611,9 @@ BioAuthKycExchange: auth_BioAuthKycExchange_Biometric_using_different_individualIdKycAuth_VID_Neg: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchange_26 - description: Kyc exchange with different individualId with random VID + description: Kyc exchange with different individualId with random VID - expected to fail role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/DelegateError input: '{ @@ -642,10 +638,9 @@ BioAuthKycExchange: auth_BioAuthKycExchange_Biometric_differentIDType_Neg: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchange_27 - description: KYC exchange auth with differentId type VID with the UIN used in kyc auth + description: KYC exchange auth with differentId type VID with the UIN used in kyc auth - expected to fail role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/DelegateError input: '{ @@ -670,7 +665,7 @@ BioAuthKycExchange: auth_BioAuthKycExchangeNeg_KycRequestDelegation_NotAllowed_Neg: endPoint: /idauthentication/v1/kyc-exchange/delegated/$kycDelegationDisabledPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchange_28 - description: Kyc exchange with a MISP key whose policy disallows kyc delegation - verified live, app returns IDA-MPA-031 alongside a generic IDA-MLC-007 + description: Kyc exchange with a MISP key whose policy disallows kyc delegation - verified live, app returns IDA-MPA-031 alongside a generic IDA-MLC-007 - expected to fail role: resident restMethod: post checkErrorsOnlyInResponse: true @@ -691,6 +686,9 @@ BioAuthKycExchange: }' output: '{ "errors": [ + { + "errorCode": "IDA-MLC-007" + }, { "errorCode": "IDA-MPA-031" } diff --git a/api-test/src/main/resources/ida/BioAuthKycExchangeV2/BioAuthKycExchangeV2.yml b/api-test/src/main/resources/ida/BioAuthKycExchangeV2/BioAuthKycExchangeV2.yml index b26be5f1b28..521803198f4 100644 --- a/api-test/src/main/resources/ida/BioAuthKycExchangeV2/BioAuthKycExchangeV2.yml +++ b/api-test/src/main/resources/ida/BioAuthKycExchangeV2/BioAuthKycExchangeV2.yml @@ -2,10 +2,9 @@ BioAuthKycExchangeV2: auth_BioAuthKycExchangeV2_Biometric_Face_With_Valid_uin_Smoke_Pos: endPoint: /idauthentication/v1/kyc-exchange/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchangeV2_01 - description: Validate the BioAuth KYC Exchange V2 biometric face authentication for a valid UIN in a smoke positive scenario + description: Validate the BioAuth KYC Exchange V2 biometric face authentication for a valid UIN in a smoke positive scenario - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeV2 outputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeResult input: '{ @@ -25,10 +24,9 @@ BioAuthKycExchangeV2: auth_BioAuthKycExchangeV2Neg_Missing_KycToken_Neg: endPoint: /idauthentication/v1/kyc-exchange/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchangeV2Neg_01 - description: Kyc exchange V2 with missing kycToken - no custom validator bound for V2, likely a raw Hibernate code not IDA-MLC-006 - unverified + description: Kyc exchange V2 with missing kycToken - no custom validator bound for V2, likely a raw Hibernate code not IDA-MLC-006 - unverified - expected to fail role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeV2Custom outputTemplate: ida/DelegateError input: '{ @@ -54,10 +52,9 @@ BioAuthKycExchangeV2: auth_BioAuthKycExchangeV2Neg_Missing_IndividualId_Neg: endPoint: /idauthentication/v1/kyc-exchange/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchangeV2Neg_02 - description: Kyc exchange V2 with missing individualId - still goes through kycExchangeValidator.validateIdvId which is called explicitly in the V2 controller regardless of binder wiring + description: Kyc exchange V2 with missing individualId - still goes through kycExchangeValidator.validateIdvId which is called explicitly in the V2 controller regardless of binder wiring - expected to fail role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeV2Custom outputTemplate: ida/DelegateError input: '{ @@ -86,7 +83,6 @@ BioAuthKycExchangeV2: description: Kyc exchange V2 with an invalid UIN (fails checksum) role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeV2Custom outputTemplate: ida/DelegateError input: '{ @@ -115,7 +111,6 @@ BioAuthKycExchangeV2: description: Kyc exchange V2 with an invalid VID (fails checksum) role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeV2Custom outputTemplate: ida/DelegateError input: '{ @@ -144,7 +139,6 @@ BioAuthKycExchangeV2: description: Kyc exchange V2 with missing transactionID - likely resolves as IDA-KYE-005 mismatch, not a missing-field error - unverified role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeV2Custom outputTemplate: ida/DelegateError input: '{ @@ -170,10 +164,9 @@ BioAuthKycExchangeV2: auth_BioAuthKycExchangeV2Neg_Token_Not_Found_Neg: endPoint: /idauthentication/v1/kyc-exchange/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchangeV2Neg_06 - description: Kyc exchange V2 with a well-formed but non-existent kycToken + description: Kyc exchange V2 with a well-formed but non-existent kycToken - expected to fail role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeV2Custom outputTemplate: ida/DelegateError input: '{ @@ -199,10 +192,9 @@ BioAuthKycExchangeV2: auth_BioAuthKycExchangeV2Neg_Already_Used_Token_Neg: endPoint: /idauthentication/v1/kyc-exchange/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchangeV2Neg_07 - description: Kyc exchange V2 with a token already consumed by TC_IDA_BioAuthKycExchangeV2_01. Depends on that positive case having run first in suite order. + description: Kyc exchange V2 with a token already consumed by TC_IDA_BioAuthKycExchangeV2_01. Depends on that positive case having run first in suite order. - expected to fail role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeV2Custom outputTemplate: ida/DelegateError input: '{ @@ -228,10 +220,9 @@ BioAuthKycExchangeV2: auth_BioAuthKycExchangeV2Neg_IndividualId_Mismatch_Neg: endPoint: /idauthentication/v1/kyc-exchange/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchangeV2Neg_08 - description: Kyc exchange V2 with an individualId different from the one bound to the token + description: Kyc exchange V2 with an individualId different from the one bound to the token - expected to fail role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeV2Custom outputTemplate: ida/DelegateError input: '{ @@ -257,10 +248,9 @@ BioAuthKycExchangeV2: auth_BioAuthKycExchangeV2Neg_Duplicate_Claims_Neg: endPoint: /idauthentication/v1/kyc-exchange/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchangeV2Neg_09 - description: Kyc exchange V2 with the same claim key (given_name) requested in both verifiedConsentedClaims and unVerifiedConsentedClaims + description: Kyc exchange V2 with the same claim key (given_name) requested in both verifiedConsentedClaims and unVerifiedConsentedClaims - expected to fail role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeV2Custom outputTemplate: ida/DelegateError input: '{ @@ -286,10 +276,9 @@ BioAuthKycExchangeV2: auth_BioAuthKycExchangeV2_VerifiedClaimsOnly_Pos: endPoint: /idauthentication/v1/kyc-exchange/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchangeV2_02 - description: Kyc exchange V2 with only verifiedConsentedClaims populated and unVerifiedConsentedClaims empty + description: Kyc exchange V2 with only verifiedConsentedClaims populated and unVerifiedConsentedClaims empty - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeV2Custom outputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeResult input: '{ @@ -311,10 +300,9 @@ BioAuthKycExchangeV2: auth_BioAuthKycExchangeV2_UnverifiedClaimsOnly_Pos: endPoint: /idauthentication/v1/kyc-exchange/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchangeV2_03 - description: Kyc exchange V2 with only unVerifiedConsentedClaims populated and verifiedConsentedClaims empty + description: Kyc exchange V2 with only unVerifiedConsentedClaims populated and verifiedConsentedClaims empty - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeV2Custom outputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeResult input: '{ @@ -336,10 +324,9 @@ BioAuthKycExchangeV2: auth_BioAuthKycExchangeV2_MultiVerificationBlocks_Pos: endPoint: /idauthentication/v1/kyc-exchange/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_BioAuthKycExchangeV2_04 - description: Kyc exchange V2 with two verification blocks carrying different trust_framework values, per the OIDC4IDA multiple-objects shape documented on KycExchangeRequestDTOV2 + description: Kyc exchange V2 with two verification blocks carrying different trust_framework values, per the OIDC4IDA multiple-objects shape documented on KycExchangeRequestDTOV2 - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeV2Custom outputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeResult input: '{ @@ -367,7 +354,6 @@ BioAuthKycExchangeV2: description: Kyc exchange V2 with a non-JWE respType still succeeds, returning a signed but unencrypted payload role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeV2Custom outputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeResult input: '{ diff --git a/api-test/src/main/resources/ida/DemoAuthDelegated/DemoAuthDelegated.yml b/api-test/src/main/resources/ida/DemoAuthDelegated/DemoAuthDelegated.yml index 97a9e81fc1f..99de64d06f4 100644 --- a/api-test/src/main/resources/ida/DemoAuthDelegated/DemoAuthDelegated.yml +++ b/api-test/src/main/resources/ida/DemoAuthDelegated/DemoAuthDelegated.yml @@ -2,10 +2,9 @@ DemoAuthDelegated: auth_DemoAuthDelegated_DemoAuth_DOB_Valid_Smoke_UIN_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegated_01 - description: Demo auth kyc delegated using valid dob and valid UIN + description: Demo auth kyc delegated using valid dob and valid UIN - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthDelegated/DemoAuthDelegated outputTemplate: ida/DemoAuthDelegated/DemoAuthDelegatedResult input: '{ @@ -28,10 +27,9 @@ DemoAuthDelegated: auth_DemoAuthDelegated_DemoAuth_DOB_Valid_Smoke_VID_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegated_02 - description: Demo auth kyc delegated using valid dob with valid perpetual VID + description: Demo auth kyc delegated using valid dob with valid perpetual VID - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthDelegated/DemoAuthDelegated outputTemplate: ida/DemoAuthDelegated/DemoAuthDelegatedResult input: '{ @@ -54,10 +52,9 @@ DemoAuthDelegated: auth_DemoAuthDelegated_DemoAuth_DOB_Valid_Smoke_Infant_Uin_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegated_03 - description: Demo auth kyc delegated using dob with infant UIN + description: Demo auth kyc delegated using dob with infant UIN - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthDelegated/DemoAuthDelegated outputTemplate: ida/DemoAuthDelegated/DemoAuthDelegatedResult input: '{ @@ -80,10 +77,9 @@ DemoAuthDelegated: auth_DemoAuthDelegated_DemoAuth_Email_Valid_Smoke_Pos_VID_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegated_04 - description: Demo auth kyc delegated using email with valid VID + description: Demo auth kyc delegated using email with valid VID - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthDelegated/DemoAuthDelegated outputTemplate: ida/DemoAuthDelegated/DemoAuthDelegatedResult input: '{ @@ -106,10 +102,9 @@ DemoAuthDelegated: auth_DemoAuthDelegated_DemoAuth_Email_Valid_Smoke_Poss_VID_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegated_05 - description: Demo auth kyc delegated with email using valid VID + description: Demo auth kyc delegated with email using valid VID - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthDelegated/DemoAuthDelegated outputTemplate: ida/DemoAuthDelegated/DemoAuthDelegatedResult input: '{ @@ -132,10 +127,9 @@ DemoAuthDelegated: auth_DemoAuthDelegated_DemoAuth_gender_Valid_uin_Smoke_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegated_06 - description: Demo auth kyc delegated using valid gender and valid UIN + description: Demo auth kyc delegated using valid gender and valid UIN - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthDelegated/DemoAuthDelegated outputTemplate: ida/DemoAuthDelegated/DemoAuthDelegatedResult input: '{ @@ -162,10 +156,9 @@ DemoAuthDelegated: auth_DemoAuthDelegated_DemoAuth_gender_Valid_Smoke_Pos_VID_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegated_07 - description: Demo auth kyc delegated using valid gender and valid perpetual VID + description: Demo auth kyc delegated using valid gender and valid perpetual VID - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthDelegated/DemoAuthDelegated outputTemplate: ida/DemoAuthDelegated/DemoAuthDelegatedResult input: '{ @@ -192,10 +185,9 @@ DemoAuthDelegated: auth_DemoAuthDelegated_DemoAuth_gender_Valid_Smoke_Pos_VID_with_RS_DOB_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegated_08 - description: Demo auth kyc delegated using valid dob and valid perpetual VID + description: Demo auth kyc delegated using valid dob and valid perpetual VID - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthDelegated/DemoAuthDelegated outputTemplate: ida/DemoAuthDelegated/DemoAuthDelegatedResult input: '{ @@ -221,7 +213,6 @@ DemoAuthDelegated: description: Demo auth kyc delegated using valid name and valid UIN and auth has to get success role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthDelegated/DemoAuthDelegated outputTemplate: ida/DemoAuthDelegated/DemoAuthDelegatedResult input: '{ @@ -248,10 +239,9 @@ DemoAuthDelegated: auth_DemoAuthDelegated_DemoAuth_same_Name2_Valid_titleFromAdmin_uin_Smoke_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegated_11 - description: Demo auth kyc delegated using valid name with title and valid UIN + description: Demo auth kyc delegated using valid name with title and valid UIN - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthDelegated/DemoAuthDelegated outputTemplate: ida/DemoAuthDelegated/DemoAuthDelegatedResult input: '{ @@ -278,10 +268,9 @@ DemoAuthDelegated: auth_DemoAuthDelegated_DemoAuth_same_Name3_Valid_titleFromAdmin_uin_Smoke_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegated_12 - description: Demo auth kyc delegated using valid name with title and valid UIN + description: Demo auth kyc delegated using valid name with title and valid UIN - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthDelegated/DemoAuthDelegated outputTemplate: ida/DemoAuthDelegated/DemoAuthDelegatedResult input: '{ @@ -308,10 +297,9 @@ DemoAuthDelegated: auth_DemoAuthDelegated_DemoAuth_same_Name4_Valid_uin_Smoke_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegated_13 - description: Demo auth kyc delegated using name and valid UIN + description: Demo auth kyc delegated using name and valid UIN - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthDelegated/DemoAuthDelegated outputTemplate: ida/DemoAuthDelegated/DemoAuthDelegatedResult input: '{ @@ -338,10 +326,9 @@ DemoAuthDelegated: auth_DemoAuthDelegated_DemoAuth_same_Name5_Valid_titleFromAdmin_uin_Smoke_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegated_14 - description: Demo auth kyc delegated using name with title and valid UIN + description: Demo auth kyc delegated using name with title and valid UIN - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthDelegated/DemoAuthDelegated outputTemplate: ida/DemoAuthDelegated/DemoAuthDelegatedResult input: '{ @@ -368,10 +355,9 @@ DemoAuthDelegated: auth_DemoAuthDelegated_DemoAuth_same_Name6_Valid_titleFromAdmin_uin_Smoke_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegated_15 - description: Demo auth kyc delegated using valid name with title and UIN + description: Demo auth kyc delegated using valid name with title and UIN - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthDelegated/DemoAuthDelegated outputTemplate: ida/DemoAuthDelegated/DemoAuthDelegatedResult input: '{ @@ -398,10 +384,9 @@ DemoAuthDelegated: auth_DemoAuthDelegated_DemoAuth_same_Name7_Valid_titleFromAdmin_uin_Smoke_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegated_16 - description: Demo auth kyc delegated using name with title and valid UIN + description: Demo auth kyc delegated using name with title and valid UIN - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthDelegated/DemoAuthDelegated outputTemplate: ida/DemoAuthDelegated/DemoAuthDelegatedResult input: '{ @@ -428,10 +413,9 @@ DemoAuthDelegated: auth_DemoAuthDelegated_DemoAuth_Name_Valid_Smoke_VID_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegated_17 - description: Demo auth kyc delegated using valid name and valid perpetual VID + description: Demo auth kyc delegated using valid name and valid perpetual VID - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthDelegated/DemoAuthDelegated outputTemplate: ida/DemoAuthDelegated/DemoAuthDelegatedResult input: '{ @@ -458,10 +442,9 @@ DemoAuthDelegated: auth_DemoAuthDelegated_DemoAuth_age_Valid_Smoke_VID_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegated_19 - description: Demo auth kyc delegated using valid age and valid perpetual VID + description: Demo auth kyc delegated using valid age and valid perpetual VID - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthDelegated/DemoAuthDelegated outputTemplate: ida/DemoAuthDelegated/DemoAuthDelegatedResult input: '{ @@ -484,10 +467,9 @@ DemoAuthDelegated: auth_DemoAuthDelegated_DemoAuth_PhoneNumber_Valid_VID_Smoke_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegated_20 - description: Demo auth kyc delegated using valid phone number and valid perpetual VID + description: Demo auth kyc delegated using valid phone number and valid perpetual VID - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthDelegated/DemoAuthDelegated outputTemplate: ida/DemoAuthDelegated/DemoAuthDelegatedResult input: '{ @@ -510,10 +492,9 @@ DemoAuthDelegated: auth_DemoAuthDelegated_DemoAuth_DOB_Valid_Smoke_with_Draft_audit_UIN_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegated_21 - description: Demo auth kyc delegated using dob with drafted UIN + description: Demo auth kyc delegated using dob with drafted UIN - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthDelegated/DemoAuthDelegated outputTemplate: ida/DemoAuthDelegated/DemoAuthDelegatedResult input: '{ @@ -536,10 +517,9 @@ DemoAuthDelegated: auth_DemoAuthDelegated_DemoAuth_with_phone_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegated_22 - description: Demo auth kyc delegated using valid phone and valid UIN + description: Demo auth kyc delegated using valid phone and valid UIN - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthDelegated/DemoAuthDelegated outputTemplate: ida/DemoAuthDelegated/DemoAuthDelegatedResult input: '{ @@ -562,10 +542,9 @@ DemoAuthDelegated: auth_DemoAuthDelegated_DemoAuth_forKycExchangeIndividualIdMismatch_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegated_23 - description: Demo auth kyc delegated dedicated token for kyc-exchange individualId mismatch negative test + description: Demo auth kyc delegated dedicated token for kyc-exchange individualId mismatch negative test - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthDelegated/DemoAuthDelegated outputTemplate: ida/DemoAuthDelegated/DemoAuthDelegatedResult input: '{ @@ -588,10 +567,9 @@ DemoAuthDelegated: auth_DemoAuthDelegated_DemoAuth_forKycExchangeTxnIdMismatch_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegated_24 - description: Demo auth kyc delegated dedicated token for kyc-exchange transactionID mismatch negative test + description: Demo auth kyc delegated dedicated token for kyc-exchange transactionID mismatch negative test - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthDelegated/DemoAuthDelegated outputTemplate: ida/DemoAuthDelegated/DemoAuthDelegatedResult input: '{ @@ -614,10 +592,9 @@ DemoAuthDelegated: auth_DemoAuthDelegated_DemoAuth_forKycExchangeEmptyConsent_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegated_25 - description: Demo auth kyc delegated dedicated token for kyc-exchange empty consentObtained positive test + description: Demo auth kyc delegated dedicated token for kyc-exchange empty consentObtained positive test - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthDelegated/DemoAuthDelegated outputTemplate: ida/DemoAuthDelegated/DemoAuthDelegatedResult input: '{ @@ -640,10 +617,9 @@ DemoAuthDelegated: auth_DemoAuthDelegated_DemoAuth_forKycExchangeEmptyLocales_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegated_26 - description: Demo auth kyc delegated dedicated token for kyc-exchange empty locales positive test + description: Demo auth kyc delegated dedicated token for kyc-exchange empty locales positive test - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthDelegated/DemoAuthDelegated outputTemplate: ida/DemoAuthDelegated/DemoAuthDelegatedResult input: '{ @@ -666,10 +642,9 @@ DemoAuthDelegated: auth_DemoAuthDelegated_DemoAuth_forKycExchangeRespTypeNonJwe_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegated_27 - description: Demo auth kyc delegated dedicated token for kyc-exchange non-JWE respType positive test + description: Demo auth kyc delegated dedicated token for kyc-exchange non-JWE respType positive test - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthDelegated/DemoAuthDelegated outputTemplate: ida/DemoAuthDelegated/DemoAuthDelegatedResult input: '{ diff --git a/api-test/src/main/resources/ida/DemoAuthDelegatedNeg/DemoAuthDelegatedNeg.yml b/api-test/src/main/resources/ida/DemoAuthDelegatedNeg/DemoAuthDelegatedNeg.yml index 5b9c4d76f6f..0c25253d5e5 100644 --- a/api-test/src/main/resources/ida/DemoAuthDelegatedNeg/DemoAuthDelegatedNeg.yml +++ b/api-test/src/main/resources/ida/DemoAuthDelegatedNeg/DemoAuthDelegatedNeg.yml @@ -31,7 +31,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_DOB_SpaceValue_UIN_Neg: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_02 - description: Demo auth kyc delegated using valid dob with space as UIN + description: Demo auth kyc delegated using valid dob with space as UIN - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoAuthDelegated @@ -60,7 +60,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_DOB_Invalid_Past_Timestamp_VID_Neg: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_03 - description: Demo auth kyc delegated using valid dob,valid VID and past timestamp + description: Demo auth kyc delegated using valid dob,valid VID and past timestamp - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoAuthDelegated @@ -89,7 +89,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_DOB_Invalid_Future_Timestamp_VID_Neg: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_04 - description: Demo auth kyc delegated using valid dob,valid VID and future timestamp + description: Demo auth kyc delegated using valid dob,valid VID and future timestamp - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoAuthDelegated @@ -118,7 +118,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_DOB_Empty_Timestamp_VID_Neg: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_05 - description: Demo auth kyc delegated using valid dob,valid VID and empty timestamp + description: Demo auth kyc delegated using valid dob,valid VID and empty timestamp - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoAuthDelegated @@ -147,7 +147,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_DOB_InValid_uin_Dateofbirth: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_06 - description: Demo auth kyc delegated using invalid dob and valid UIN + description: Demo auth kyc delegated using invalid dob and valid UIN - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoAuthDelegated @@ -176,7 +176,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_DOB_InValid_Dateofbirth_with_VID: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_07 - description: Demo auth kyc delegated using invalid dob and valid VID + description: Demo auth kyc delegated using invalid dob and valid VID - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoAuthDelegated @@ -205,7 +205,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_Email_Invalid_Past_Timestamp_VID_Neg_VID: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_08 - description: Demo auth kyc delegated using email with valid VID and past timestamp + description: Demo auth kyc delegated using email with valid VID and past timestamp - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoAuthDelegated @@ -234,7 +234,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_Email_Invalid_Future_Timestamp_VID_Neg_VID: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_09 - description: Demo auth kyc delegated with email using valid VID and future timestamp + description: Demo auth kyc delegated with email using valid VID and future timestamp - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoAuthDelegated @@ -263,7 +263,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_Email_InValid_uin_Email: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_10 - description: Demo auth kyc delegated with invalid email using valid UIN + description: Demo auth kyc delegated with invalid email using valid UIN - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoAuthDelegated @@ -292,7 +292,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_Email_InValid_Email_VID: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_11 - description: Demo auth kyc delegated with invalid email using valid VID + description: Demo auth kyc delegated with invalid email using valid VID - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoAuthDelegated @@ -321,7 +321,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_gender_InValid_Gender_Invalid_RS: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_12 - description: Demo auth kyc delegated using invalid gender,invalid residence status and valid UIN + description: Demo auth kyc delegated using invalid gender,invalid residence status and valid UIN - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoAuthDelegated @@ -360,7 +360,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_gender_Valid_Gender_Invalid_RS: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_13 - description: Demo auth kyc delegated using valid gender, invalid residence status and valid UIN + description: Demo auth kyc delegated using valid gender, invalid residence status and valid UIN - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoAuthDelegated @@ -399,7 +399,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_gender_InValid_Gender_valid_RS: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_14 - description: Demo auth kyc delegated using invalid gender ,valid residence status and valid UIN + description: Demo auth kyc delegated using invalid gender ,valid residence status and valid UIN - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoAuthDelegated @@ -438,7 +438,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_gender_InValid_Gender_valid_RS_with_VID: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_15 - description: Demo auth kyc delegated using invalid gender,valid residence status and valid VID + description: Demo auth kyc delegated using invalid gender,valid residence status and valid VID - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoAuthDelegated @@ -477,7 +477,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_gender_InValid_Lang_Valid_Gender: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_16 - description: Demo auth kyc delegated using valid gender,invalid language code and valid UIN + description: Demo auth kyc delegated using valid gender,invalid language code and valid UIN - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoIdentityEncryptGender @@ -513,7 +513,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_gender_InValid_LangCode_with_VID: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_17 - description: Demo auth kyc delegated using invalid gender language code and valid perpetual VID + description: Demo auth kyc delegated using invalid gender language code and valid perpetual VID - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoIdentityEncryptGender @@ -549,7 +549,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_InValid_gender_VID: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_18 - description: Demo auth kyc delegated using invalid gender and valid perpetual VID + description: Demo auth kyc delegated using invalid gender and valid perpetual VID - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoIdentityEncryptGender @@ -585,7 +585,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_InValid_uin_gender: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_19 - description: Demo auth kyc delegated using invalid gender and valid UIN + description: Demo auth kyc delegated using invalid gender and valid UIN - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoIdentityEncryptGender @@ -621,7 +621,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_InValid_Name_VID: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_20 - description: Demo auth kyc delegated using invalid name and valid perpetual VID + description: Demo auth kyc delegated using invalid name and valid perpetual VID - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoAuthDelegated @@ -654,7 +654,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_invalid_age_VID: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_21 - description: Demo auth kyc delegated using invalid age and valid perpetual VID + description: Demo auth kyc delegated using invalid age and valid perpetual VID - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoAuthDelegated @@ -683,7 +683,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_age_InValid_uin: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_22 - description: Demo auth kyc delegated using invalid age and valid UIN + description: Demo auth kyc delegated using invalid age and valid UIN - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoAuthDelegated @@ -712,7 +712,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_PhoneNumber_InValid_uin_PhoneNumber: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_23 - description: Demo auth kyc delegated using invalid phone number and valid UIN + description: Demo auth kyc delegated using invalid phone number and valid UIN - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoAuthDelegated @@ -741,7 +741,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_PhoneNumber_InValid_PhoneNumber_VID: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_24 - description: Demo auth kyc delegated using invalid phone number and valid perpetual VID + description: Demo auth kyc delegated using invalid phone number and valid perpetual VID - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoAuthDelegated @@ -770,7 +770,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_DOB_InValid_individualId_VID: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_26 - description: Demo auth kyc delegated using valid dob and invalid VID + description: Demo auth kyc delegated using valid dob and invalid VID - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoAuthDelegated @@ -799,7 +799,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_DOB_Missing_individualId: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_27 - description: Demo auth kyc delegated using valid dob and without individualId + description: Demo auth kyc delegated using valid dob and without individualId - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoAuthDelegated @@ -828,7 +828,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_DOB_Blank_individualId: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_28 - description: Demo auth kyc delegated using valid dob and blank individualId + description: Demo auth kyc delegated using valid dob and blank individualId - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoAuthDelegated @@ -857,7 +857,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_DOB_Invalid_transactionId_uin_Neg: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_29 - description: Demo auth kyc delegated using valid dob,invalid transactionId and valid UIN + description: Demo auth kyc delegated using valid dob,invalid transactionId and valid UIN - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoAuthDelegated @@ -886,7 +886,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_DOB_Blank_transactionId_uin_Neg: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_30 - description: Demo auth kyc delegated using valid dob,blank transactionId and valid UIN + description: Demo auth kyc delegated using valid dob,blank transactionId and valid UIN - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoAuthDelegated @@ -915,7 +915,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_DOB_Unlock_Valid_Smoke_UIN_Neg: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_31 - description: Demo auth kyc delegated using valid dob and with locked UIN + description: Demo auth kyc delegated using valid dob and with locked UIN - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoAuthDelegated @@ -944,7 +944,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_DOB_Lock_Permanent_Valid_UIN_Neg: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_32 - description: Demo auth kyc delegated using valid dob and on locking UIN permanently + description: Demo auth kyc delegated using valid dob and on locking UIN permanently - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoAuthDelegated @@ -973,7 +973,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_revoke_vid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_33 - description: Demo auth kyc delegated using revoked VID + description: Demo auth kyc delegated using revoked VID - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoAuthDelegated @@ -1002,7 +1002,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_dummy_partnerkey_uin_Pos: endPoint: /idauthentication/v1/kyc-auth/delegated/zY22wDwZxwMdlxTZRWrM50m4zBoOiMyUGY/45362768/27822828287 uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_34 - description: Demo auth kyc delegated using dummy parterner key and using valid UIN + description: Demo auth kyc delegated using dummy parterner key and using valid UIN - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoAuthDelegated @@ -1034,7 +1034,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_DOB_Unlock_AllValid_UIN_Neg: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_35 - description: Demo auth kyc delegated using valid dob on locking UIN and unlocking demo auth + description: Demo auth kyc delegated using valid dob on locking UIN and unlocking demo auth - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoAuthDelegated @@ -1063,7 +1063,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_DOB_Lock_Permanent_AllValid_UIN_Neg: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_36 - description: Demo auth kyc delegated using valid dob and with locked UIN + description: Demo auth kyc delegated using valid dob and with locked UIN - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoAuthDelegated @@ -1092,7 +1092,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_with_Deactivated_UIN: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_37 - description: Demo auth kyc delegated using deactivated UIN + description: Demo auth kyc delegated using deactivated UIN - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoAuthDelegated @@ -1121,7 +1121,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_valid_gender_invalid_individualIdType: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_38 - description: Demo auth kyc delegated using valid gender with incorrect individualId type + description: Demo auth kyc delegated using valid gender with incorrect individualId type - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoIdentityEncryptGender @@ -1157,7 +1157,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_with_zero_age_value_Neg: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_39 - description: Demo auth kyc delegated with zero age + description: Demo auth kyc delegated with zero age - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoAuthDelegated @@ -1186,7 +1186,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_with_negative_age_value_Neg: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_40 - description: Demo auth kyc delegated with negative age + description: Demo auth kyc delegated with negative age - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoAuthDelegated @@ -1215,7 +1215,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_with_age_greater_than_calculated_Neg: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_41 - description: Demo auth kyc delegated with age greater than the calculated value + description: Demo auth kyc delegated with age greater than the calculated value - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoAuthDelegated @@ -1269,7 +1269,7 @@ DemoAuthDelegatedNeg: auth_DemoAuthDelegatedNeg_with_wrongPartnerKeyUrl_Neg: endPoint: /idauthentication/v1/kyc-auth/delegated/Z0kPjifb7xsv8oEsv0B5YDZqChr7TuBtToVbgARGkO8Jy6U0/auth_pid17424601504/959765 uniqueIdentifier: TC_IDA_DemoAuthDelegatedNeg_43 - description: Demo auth kyc delegated wrong partnerkeyurl + description: Demo auth kyc delegated wrong partnerkeyurl - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedNeg/DemoAuthDelegated diff --git a/api-test/src/main/resources/ida/DemoAuthDelegatedV2/DemoAuthDelegatedV2.yml b/api-test/src/main/resources/ida/DemoAuthDelegatedV2/DemoAuthDelegatedV2.yml index c31e783efe6..01aa3fe7a81 100644 --- a/api-test/src/main/resources/ida/DemoAuthDelegatedV2/DemoAuthDelegatedV2.yml +++ b/api-test/src/main/resources/ida/DemoAuthDelegatedV2/DemoAuthDelegatedV2.yml @@ -2,7 +2,7 @@ DemoAuthDelegatedV2: auth_DemoAuthDelegatedV2_DemoAuth_DOB_Valid_Smoke_UIN_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedV2_01 - description: Validate the delegated V2 demographic (dob) authentication for a valid UIN in a smoke positive scenario + description: Validate the delegated V2 demographic (dob) authentication for a valid UIN in a smoke positive scenario - expected to succeed role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedV2/DemoAuthDelegatedV2 @@ -28,7 +28,7 @@ DemoAuthDelegatedV2: auth_DemoAuthDelegatedV2Neg_Invalid_DOB_Neg: endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthDelegatedV2Neg_01 - description: Kyc auth V2 demographic auth with a DOB that does not match the identity + description: Kyc auth V2 demographic auth with a DOB that does not match the identity - expected to fail role: resident restMethod: post inputTemplate: ida/DemoAuthDelegatedV2/DemoAuthDelegatedV2 diff --git a/api-test/src/main/resources/ida/DemoAuthKycExchange/DemoAuthKycExchange.yml b/api-test/src/main/resources/ida/DemoAuthKycExchange/DemoAuthKycExchange.yml index b7dd3fb6d01..23235dca454 100644 --- a/api-test/src/main/resources/ida/DemoAuthKycExchange/DemoAuthKycExchange.yml +++ b/api-test/src/main/resources/ida/DemoAuthKycExchange/DemoAuthKycExchange.yml @@ -5,9 +5,9 @@ DemoAuthKycExchange: description: Demo auth kyc exchange using valid dob and valid UIN and auth to get success response role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", @@ -26,12 +26,12 @@ DemoAuthKycExchange: auth_DemoAuthKycExchange_DemoAuth_DOB_Valid_Smoke_VID_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthKycExchange_02 - description: Demo auth kyc exchange using valid dob with valid perpetual VID + description: Demo auth kyc exchange using valid dob with valid perpetual VID - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_for_EkycDemo_Dob_sid_vid$", @@ -50,12 +50,12 @@ DemoAuthKycExchange: auth_DemoAuthKycExchange_DemoAuth_DOB_Valid_Smoke_Infant_Uin_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthKycExchange_03 - description: Demo auth kyc exchange using dob with infant UIN + description: Demo auth kyc exchange using dob with infant UIN - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_withValidParameters_Infant_smoke_Pos_UIN$", @@ -74,12 +74,12 @@ DemoAuthKycExchange: auth_DemoAuthKycExchange_DemoAuth_Email_Valid_Smoke_Pos_VID: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthKycExchange_04 - description: Demo auth kyc exchange using email with valid VID + description: Demo auth kyc exchange using email with valid VID - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_All_Valid_Smoke_Perpetual_sid_vid$", @@ -98,12 +98,12 @@ DemoAuthKycExchange: auth_DemoAuthKycExchange_DemoAuth_Email_Valid_Smoke_Poss_VID: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthKycExchange_05 - description: Demo auth kyc exchange with email using valid VID + description: Demo auth kyc exchange with email using valid VID - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_All_Valid_Smoke_Perpetual_sid_vid$", @@ -122,12 +122,12 @@ DemoAuthKycExchange: auth_DemoAuthKycExchange_DemoAuth_gender_Valid_uin_Smoke_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthKycExchange_06 - description: Demo auth kyc exchange using valid gender and valid UIN + description: Demo auth kyc exchange using valid gender and valid UIN - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", @@ -146,12 +146,12 @@ DemoAuthKycExchange: auth_DemoAuthKycExchange_DemoAuth_gender_Valid_Smoke_Pos_VID: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthKycExchange_07 - description: Demo auth kyc exchange using valid gender and valid perpetual VID + description: Demo auth kyc exchange using valid gender and valid perpetual VID - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_All_Valid_Smoke_Perpetual_sid_vid$", @@ -170,12 +170,12 @@ DemoAuthKycExchange: auth_DemoAuthKycExchange_DemoAuth_gender_Valid_Smoke_Pos_VID_with_RS_DOB: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthKycExchange_08 - description: Demo auth kyc exchange using valid dob and valid perpetual VID + description: Demo auth kyc exchange using valid dob and valid perpetual VID - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_for_EkycDemo_Dob_sid_vid$", @@ -194,12 +194,12 @@ DemoAuthKycExchange: auth_DemoAuthKycExchange_DemoAuth_same_Name1_Valid_uin_Smoke_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthKycExchange_10 - description: Demo auth kyc exchange using valid name and valid UIN + description: Demo auth kyc exchange using valid name and valid UIN - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", @@ -218,12 +218,12 @@ DemoAuthKycExchange: auth_DemoAuthKycExchange_DemoAuth_same_Name2_Valid_titleFromAdmin_uin_Smoke_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthKycExchange_11 - description: Demo auth kyc exchange using valid name with title and valid UIN + description: Demo auth kyc exchange using valid name with title and valid UIN - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", @@ -242,12 +242,12 @@ DemoAuthKycExchange: auth_DemoAuthKycExchange_DemoAuth_same_Name3_Valid_titleFromAdmin_uin_Smoke_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthKycExchange_12 - description: Demo auth kyc exchange using valid name with title and valid UIN + description: Demo auth kyc exchange using valid name with title and valid UIN - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", @@ -266,12 +266,12 @@ DemoAuthKycExchange: auth_DemoAuthKycExchange_DemoAuth_same_Name4_Valid_uin_Smoke_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthKycExchange_13 - description: Demo auth kyc exchange using name and valid UIN + description: Demo auth kyc exchange using name and valid UIN - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", @@ -290,12 +290,12 @@ DemoAuthKycExchange: auth_DemoAuthKycExchange_DemoAuth_same_Name5_Valid_titleFromAdmin_uin_Smoke_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthKycExchange_14 - description: Demo auth kyc exchange using name with title and valid UIN + description: Demo auth kyc exchange using name with title and valid UIN - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", @@ -314,12 +314,12 @@ DemoAuthKycExchange: auth_DemoAuthKycExchange_DemoAuth_same_Name6_Valid_titleFromAdmin_uin_Smoke_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthKycExchange_15 - description: Demo auth kyc exchange using valid name with title and UIN + description: Demo auth kyc exchange using valid name with title and UIN - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", @@ -338,12 +338,12 @@ DemoAuthKycExchange: auth_DemoAuthKycExchange_DemoAuth_same_Name7_Valid_titleFromAdmin_uin_Smoke_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthKycExchange_16 - description: Demo auth kyc exchange using name with title and valid UIN + description: Demo auth kyc exchange using name with title and valid UIN - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", @@ -362,12 +362,12 @@ DemoAuthKycExchange: auth_DemoAuthKycExchange_DemoAuth_Name_Valid_Smoke_VID_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthKycExchange_17 - description: Demo auth kyc exchange using valid name and valid perpetual VID + description: Demo auth kyc exchange using valid name and valid perpetual VID - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_All_Valid_Smoke_Perpetual_sid_vid$", @@ -386,12 +386,12 @@ DemoAuthKycExchange: auth_DemoAuthKycExchange_DemoAuth_age_Valid_Smoke_VID_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthKycExchange_19 - description: Demo auth kyc exchange using valid age and valid perpetual VID + description: Demo auth kyc exchange using valid age and valid perpetual VID - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_All_Valid_Smoke_Perpetual_sid_vid$", @@ -410,12 +410,12 @@ DemoAuthKycExchange: auth_DemoAuthKycExchange_DemoAuth_PhoneNumber_Valid_VID_Smoke_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthKycExchange_20 - description: Demo auth kyc exchange using valid phone number and valid perpetual VID + description: Demo auth kyc exchange using valid phone number and valid perpetual VID - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_All_Valid_Smoke_Perpetual_sid_vid$", @@ -434,12 +434,12 @@ DemoAuthKycExchange: auth_DemoAuthKycExchange_DemoAuth_DOB_Valid_Smoke_with_Draft_audit_UIN_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthKycExchange_21 - description: Demo auth kyc exchange using dob with drafted UIN + description: Demo auth kyc exchange using dob with drafted UIN - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GetDraft_all_valid_smoke_sid_UIN$", @@ -458,12 +458,12 @@ DemoAuthKycExchange: auth_DemoAuthKycExchange_DemoAuth_with_phone: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthKycExchange_22 - description: Demo auth kyc exchange using valid phone and valid UIN + description: Demo auth kyc exchange using valid phone and valid UIN - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", @@ -482,10 +482,9 @@ DemoAuthKycExchange: auth_DemoAuthKycExchange_DemoAuth_with_already_used_kyc_Token_Neg: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthKycExchange_23 - description: Demo auth kyc exchange with already used token + description: Demo auth kyc exchange with already used token - expected to fail role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DelegateError input: '{ @@ -510,10 +509,9 @@ DemoAuthKycExchange: auth_DemoAuthKycExchange_DemoAuth_using_different_individualId_Neg: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_DemoAuthKycExchange_24 - description: Demo auth kyc exchange with different individualId than the one used for kyc-auth + description: Demo auth kyc exchange with different individualId than the one used for kyc-auth - expected to fail role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DelegateError input: '{ diff --git a/api-test/src/main/resources/ida/KycExchangeNeg/KycExchangeNeg.yml b/api-test/src/main/resources/ida/KycExchangeNeg/KycExchangeNeg.yml index f281a923710..52495a84f9b 100644 --- a/api-test/src/main/resources/ida/KycExchangeNeg/KycExchangeNeg.yml +++ b/api-test/src/main/resources/ida/KycExchangeNeg/KycExchangeNeg.yml @@ -2,10 +2,9 @@ KycExchangeNeg: auth_KycExchangeNeg_Missing_KycToken_Neg: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_KycExchangeNeg_01 - description: Kyc exchange with missing kycToken + description: Kyc exchange with missing kycToken - expected to fail role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/DelegateError input: '{ @@ -30,10 +29,9 @@ KycExchangeNeg: auth_KycExchangeNeg_Missing_TransactionID_Neg: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_KycExchangeNeg_02 - description: Kyc exchange with missing transactionID + description: Kyc exchange with missing transactionID - expected to fail role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/DelegateError input: '{ @@ -58,10 +56,9 @@ KycExchangeNeg: auth_KycExchangeNeg_Missing_RequestTime_Neg: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_KycExchangeNeg_03 - description: Kyc exchange with missing requestTime + description: Kyc exchange with missing requestTime - expected to fail role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/DelegateError input: '{ @@ -89,7 +86,6 @@ KycExchangeNeg: description: Kyc exchange with missing individualId - unverified, confirm error code before trusting role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/DelegateError input: '{ @@ -114,10 +110,9 @@ KycExchangeNeg: auth_KycExchangeNeg_Malformed_TransactionID_Neg: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_KycExchangeNeg_05 - description: Kyc exchange with transactionID not matching the 10-char alphanumeric format + description: Kyc exchange with transactionID not matching the 10-char alphanumeric format - expected to fail role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/DelegateError input: '{ @@ -142,10 +137,9 @@ KycExchangeNeg: auth_KycExchangeNeg_Malformed_RequestTime_Neg: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_KycExchangeNeg_06 - description: Kyc exchange with an unparseable requestTime + description: Kyc exchange with an unparseable requestTime - expected to fail role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/DelegateError input: '{ @@ -173,7 +167,6 @@ KycExchangeNeg: description: Kyc exchange with an invalid UIN (fails checksum) role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/DelegateError input: '{ @@ -201,7 +194,6 @@ KycExchangeNeg: description: Kyc exchange with an invalid VID (fails checksum) role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/DelegateError input: '{ @@ -226,10 +218,9 @@ KycExchangeNeg: auth_KycExchangeNeg_Token_Not_Found_Neg: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_KycExchangeNeg_09 - description: Kyc exchange with a well-formed but non-existent kycToken + description: Kyc exchange with a well-formed but non-existent kycToken - expected to fail role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/DelegateError input: '{ @@ -254,10 +245,9 @@ KycExchangeNeg: auth_KycExchangeNeg_TransactionID_Mismatch_Neg: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_KycExchangeNeg_10 - description: Kyc exchange with a transactionID different from the one used at kyc-auth time, using the dedicated single-use token + description: Kyc exchange with a transactionID different from the one used at kyc-auth time, using the dedicated single-use token - expected to fail role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/DelegateError input: '{ @@ -285,9 +275,9 @@ KycExchangeNeg: description: Kyc exchange with an empty consentObtained list still succeeds - server-side consent validation is deliberately disabled role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", @@ -309,9 +299,9 @@ KycExchangeNeg: description: Kyc exchange with an empty locales list still succeeds - server defaults to the configured kyc-exchange default language role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", @@ -333,9 +323,9 @@ KycExchangeNeg: description: Kyc exchange with a non-JWE respType still succeeds, returning a signed but unencrypted payload role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", diff --git a/api-test/src/main/resources/ida/OtpAuthDelegated/OtpAuthDelegated.yml b/api-test/src/main/resources/ida/OtpAuthDelegated/OtpAuthDelegated.yml index 01837fb5610..a74f78aedbc 100644 --- a/api-test/src/main/resources/ida/OtpAuthDelegated/OtpAuthDelegated.yml +++ b/api-test/src/main/resources/ida/OtpAuthDelegated/OtpAuthDelegated.yml @@ -2,10 +2,9 @@ OtpAuthDelegated: auth_OtpAuthDelegated_OTP_Auth_With_Valid_UIN_Smoke_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_OtpAuthDelegated_01 - description: Otp delegated auth with valid UIN + description: Otp delegated auth with valid UIN - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/OtpAuthDelegated/OtpAuthDelegated outputTemplate: ida/OtpAuthDelegated/OtpAuthDelegatedResult input: '{ @@ -36,9 +35,8 @@ OtpAuthDelegated: auth_OtpAuthDelegated_OTP_Auth_With_Valid_VID_Smoke_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_OtpAuthDelegated_02 - description: Otp delegated auth with valid using VID + description: Otp delegated auth with valid using VID - expected to succeed role: resident - checkErrorsOnlyInResponse: true restMethod: post inputTemplate: ida/OtpAuthDelegated/OtpAuthDelegated outputTemplate: ida/OtpAuthDelegated/OtpAuthDelegatedResult @@ -70,9 +68,8 @@ OtpAuthDelegated: auth_OtpAuthDelegated_OTP_Auth_With_Optional_individualIdType_VID_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_OtpAuthDelegated_03 - description: OTP delegated auth with optional individualIdType using VID + description: OTP delegated auth with optional individualIdType using VID - expected to succeed role: resident - checkErrorsOnlyInResponse: true restMethod: post inputTemplate: ida/OtpAuthDelegated/OtpAuthDelegated outputTemplate: ida/OtpAuthDelegated/OtpAuthDelegatedResult @@ -104,9 +101,8 @@ OtpAuthDelegated: auth_OtpAuthDelegated_OTP_Auth_With_Missing_Optional_Field_individualIdType_VID_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_OtpAuthDelegated_04 - description: Otp delegated auth with missing optional field individualIdType using VID + description: Otp delegated auth with missing optional field individualIdType using VID - expected to succeed role: resident - checkErrorsOnlyInResponse: true restMethod: post inputTemplate: ida/OtpAuthDelegated/OtpAuthDelegated outputTemplate: ida/OtpAuthDelegated/OtpAuthDelegatedResult @@ -138,9 +134,8 @@ OtpAuthDelegated: auth_OtpAuthDelegated_OTP_Auth_With_locked_email_Smoke_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_OtpAuthDelegated_05 - description: Otp delegated auth with locked email using valid UIN + description: Otp delegated auth with locked email using valid UIN - expected to succeed role: resident - checkErrorsOnlyInResponse: true restMethod: post inputTemplate: ida/OtpAuthDelegated/OtpAuthDelegated outputTemplate: ida/OtpAuthDelegated/OtpAuthDelegatedResult @@ -172,9 +167,8 @@ OtpAuthDelegated: auth_OtpAuthDelegated_OTP_Auth_With_locked_phone_Smoke_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_OtpAuthDelegated_06 - description: Otp delegated auth with locked phone using valid UIN + description: Otp delegated auth with locked phone using valid UIN - expected to succeed role: resident - checkErrorsOnlyInResponse: true restMethod: post inputTemplate: ida/OtpAuthDelegated/OtpAuthDelegated outputTemplate: ida/OtpAuthDelegated/OtpAuthDelegatedResult @@ -206,10 +200,9 @@ OtpAuthDelegated: auth_OtpAuthDelegated_OTP_Auth_forKycExchangeIndividualIdMismatch_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_OtpAuthDelegated_07 - description: Otp delegated auth dedicated token for kyc-exchange individualId mismatch negative test + description: Otp delegated auth dedicated token for kyc-exchange individualId mismatch negative test - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/OtpAuthDelegated/OtpAuthDelegated outputTemplate: ida/OtpAuthDelegated/OtpAuthDelegatedResult input: '{ diff --git a/api-test/src/main/resources/ida/OtpAuthDelegatedV2/OtpAuthDelegatedV2.yml b/api-test/src/main/resources/ida/OtpAuthDelegatedV2/OtpAuthDelegatedV2.yml index 1477a84f4eb..8f6190525ef 100644 --- a/api-test/src/main/resources/ida/OtpAuthDelegatedV2/OtpAuthDelegatedV2.yml +++ b/api-test/src/main/resources/ida/OtpAuthDelegatedV2/OtpAuthDelegatedV2.yml @@ -2,7 +2,7 @@ OtpAuthDelegatedV2: auth_OtpAuthDelegatedV2_OTP_Auth_With_Valid_UIN_Smoke_Pos_Sid: endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_OtpAuthDelegatedV2_01 - description: Validate the delegated V2 OTP authentication for a valid UIN in a smoke positive scenario + description: Validate the delegated V2 OTP authentication for a valid UIN in a smoke positive scenario - expected to succeed role: resident restMethod: post inputTemplate: ida/OtpAuthDelegatedV2/OtpAuthDelegatedV2 @@ -36,7 +36,7 @@ OtpAuthDelegatedV2: auth_OtpAuthDelegatedV2Neg_Invalid_OtpChannel_Neg: endPoint: /idauthentication/v1/kyc-auth/v2/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_OtpAuthDelegatedV2Neg_01 - description: Kyc auth V2 OTP auth with an invalid otpChannel + description: Kyc auth V2 OTP auth with an invalid otpChannel - expected to fail role: resident restMethod: post inputTemplate: ida/OtpAuthDelegatedV2/OtpAuthDelegatedV2 diff --git a/api-test/src/main/resources/ida/OtpAuthKycExchange/OtpAuthKycExchange.yml b/api-test/src/main/resources/ida/OtpAuthKycExchange/OtpAuthKycExchange.yml index 8823edee23f..7f1614864d7 100644 --- a/api-test/src/main/resources/ida/OtpAuthKycExchange/OtpAuthKycExchange.yml +++ b/api-test/src/main/resources/ida/OtpAuthKycExchange/OtpAuthKycExchange.yml @@ -5,9 +5,9 @@ OtpAuthKycExchange: description: Otp auth kyc exchange with valid UIN and success response role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/OtpAuthKycExchange/OtpAuthKycExchange outputTemplate: ida/OtpAuthKycExchange/OtpAuthKycExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_withValidParameters_forOtpDelegated_Pos_UIN$", @@ -26,12 +26,12 @@ OtpAuthKycExchange: auth_OtpAuthKycExchange_OtpAuth_With_Valid_VID_Smoke_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_OtpAuthKycExchange_02 - description: Otp auth kyc exchange with valid perpetual VID + description: Otp auth kyc exchange with valid perpetual VID - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/OtpAuthKycExchange/OtpAuthKycExchange outputTemplate: ida/OtpAuthKycExchange/OtpAuthKycExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_All_Valid_Smoke_Perpetual_sid_vid$", @@ -50,12 +50,12 @@ OtpAuthKycExchange: auth_OtpAuthKycExchange_OtpAuth_With_Optional_individualIdType_VID: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_OtpAuthKycExchange_03 - description: OTP auth kyc exchange with optional individualIdType using VID + description: OTP auth kyc exchange with optional individualIdType using VID - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/OtpAuthKycExchange/OtpAuthKycExchange outputTemplate: ida/OtpAuthKycExchange/OtpAuthKycExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_All_Valid_Smoke_Perpetual_sid_vid$", @@ -74,12 +74,12 @@ OtpAuthKycExchange: auth_OtpAuthKycExchange_OtpAuth_With_Missing_Optional_Field_individualIdType_VID: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_OtpAuthKycExchange_04 - description: Otp auth kyc exchange with missing optional field individualIdType using VID + description: Otp auth kyc exchange with missing optional field individualIdType using VID - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/OtpAuthKycExchange/OtpAuthKycExchange outputTemplate: ida/OtpAuthKycExchange/OtpAuthKycExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_All_Valid_Smoke_Perpetual_sid_vid$", @@ -98,12 +98,12 @@ OtpAuthKycExchange: auth_OtpAuthKycExchange_OtpAuth_With_locked_email_Smoke_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_OtpAuthKycExchange_05 - description: Otp auth kyc exchange with locked email using valid UIN + description: Otp auth kyc exchange with locked email using valid UIN - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/OtpAuthKycExchange/OtpAuthKycExchange outputTemplate: ida/OtpAuthKycExchange/OtpAuthKycExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_ValidParameters_toLock_email_perfromOtpEmail_auth_Pos_UIN$", @@ -122,12 +122,12 @@ OtpAuthKycExchange: auth_OtpAuthKycExchange_OtpAuth_With_locked_phone_Smoke_Pos: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_OtpAuthKycExchange_06 - description: Otp auth kyc exchange with locked phone using valid UIN + description: Otp auth kyc exchange with locked phone using valid UIN - expected to succeed role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/OtpAuthKycExchange/OtpAuthKycExchange outputTemplate: ida/OtpAuthKycExchange/OtpAuthKycExchangeResult + checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_ValidParameters_toLock_phone_Pos_UIN$", @@ -146,10 +146,9 @@ OtpAuthKycExchange: auth_OtpAuthKycExchange_OtpAuth_with_already_used_kyc_Token_Neg: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_OtpAuthKycExchange_07 - description: Otp auth kyc exchange with already used token + description: Otp auth kyc exchange with already used token - expected to fail role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/OtpAuthKycExchange/OtpAuthKycExchange outputTemplate: ida/DelegateError input: '{ @@ -174,10 +173,9 @@ OtpAuthKycExchange: auth_OtpAuthKycExchange_OtpAuth_using_different_individualId_Neg: endPoint: /idauthentication/v1/kyc-exchange/delegated/$partialPartnerKeyUrl$/$ID:CreateOIDCClient_Delegated_Valid_Smoke_sid_clientId$ uniqueIdentifier: TC_IDA_OtpAuthKycExchange_08 - description: Otp auth kyc exchange with different individualId than the one used for kyc-auth + description: Otp auth kyc exchange with different individualId than the one used for kyc-auth - expected to fail role: resident restMethod: post - checkErrorsOnlyInResponse: true inputTemplate: ida/OtpAuthKycExchange/OtpAuthKycExchange outputTemplate: ida/DelegateError input: '{ From 1b564b0bca04dd247c90b50424da83bf4309410a Mon Sep 17 00:00:00 2001 From: Mohanachandran S Date: Wed, 26 Aug 2026 16:57:23 +0530 Subject: [PATCH 3/6] Fixed the failures after fixing code rabbit comments Signed-off-by: Mohanachandran S --- .../auth/utils/IdAuthenticationUtil.java | 27 +++++-------------- api-test/testNgXmlFiles/authSuite.xml | 1 + 2 files changed, 8 insertions(+), 20 deletions(-) diff --git a/api-test/src/main/java/io/mosip/testrig/apirig/auth/utils/IdAuthenticationUtil.java b/api-test/src/main/java/io/mosip/testrig/apirig/auth/utils/IdAuthenticationUtil.java index 05b8e6bb434..5f747dbe058 100644 --- a/api-test/src/main/java/io/mosip/testrig/apirig/auth/utils/IdAuthenticationUtil.java +++ b/api-test/src/main/java/io/mosip/testrig/apirig/auth/utils/IdAuthenticationUtil.java @@ -83,19 +83,15 @@ public static String isTestCaseValidForExecution(TestCaseDTO testCaseDTO) { || testCaseName.contains("_EkycDemo_")) && (!isElementPresent(globalRequiredFields, individualBiometrics))) { throw new SkipException(GlobalConstants.FEATURE_NOT_SUPPORTED_MESSAGE); - } else if (testCaseName.startsWith("auth_") && testCaseName.contains("_DemoAuthDelegated_") || testCaseName.contains("_DemoAuthKycExchange")) { - // Intentional skip: app rejects DEMO on delegated flow - "DEMO Authentication usage not allowed as per client AMR configuration" (OIDC client AMR restriction, not a code gap). - // Narrowed to "_DemoAuthDelegated_" (trailing underscore) so this doesn't also catch - // DemoAuthDelegatedV2/DemoAuthDelegatedNeg test names, which were never covered by - // the AMR verification above and should get a chance to run. + } else if (testCaseName.startsWith("auth_") && testCaseName.contains("_DemoAuthDelegated") || testCaseName.contains("_DemoAuthKycExchange")) { + // Intentional skip: app rejects DEMO on delegated flow per client AMR config (confirmed on qa11new for base/Neg/V2/V2Neg alike via IDA-MPA-029), not a code gap. throw new SkipException(GlobalConstants.FEATURE_NOT_SUPPORTED_MESSAGE); } else if (testCaseDTO.getUniqueIdentifier() != null && (testCaseDTO.getUniqueIdentifier().equals("TC_IDA_KycExchangeNeg_10") || testCaseDTO.getUniqueIdentifier().equals("TC_IDA_KycExchangeNeg_11") || testCaseDTO.getUniqueIdentifier().equals("TC_IDA_KycExchangeNeg_12") || testCaseDTO.getUniqueIdentifier().equals("TC_IDA_KycExchangeNeg_13"))) { - // These consume a kycToken minted by DemoAuthDelegated (skipped above, see comment), so - // skip cleanly here instead of failing on the downstream dependency-resolution SkipException. + // These consume a kycToken minted by DemoAuthDelegated (skipped above), so skip cleanly instead of failing on the downstream dependency-resolution error. throw new SkipException(GlobalConstants.FEATURE_NOT_SUPPORTED_MESSAGE); } else if (testCaseName.startsWith("auth_") && ((testCaseName.contains("_DeactivateUINs_")) || (testCaseName.contains("PublishDraft_"))) @@ -221,10 +217,7 @@ public static String replaceKeywordValue(String jsonString, String keyword, Stri private static final String KYC_DELEGATION_DISABLED_POLICY_NAME = "mosip misp no deleg policy " + AdminTestUtil.timeStamp; - // fails fast with the response body instead of a raw JSONException when "response" is - // missing/null or present but lacks "id" (e.g. a partner-management error payload). - // Scope this to policy/partner-setup responses only - never reuse it for authentication - // responses, whose body can carry UIN, VID, OTP, or token values that must not be logged. + // Fails fast with the response body when "response" is missing/null or lacks "id"; scope to policy/partner-setup responses only, never authentication responses. private static String extractIdOrFail(Response response, String step) { String body = response.getBody().asString(); org.json.JSONObject json = new org.json.JSONObject(body); @@ -235,10 +228,7 @@ private static String extractIdOrFail(Response response, String step) { return json.getJSONObject(GlobalConstants.RESPONSE).getString("id"); } - // Cached terminal failure from a prior createKycDelegationDisabledPartner() attempt. The - // policy group/policy/partner names above are fixed per JVM run, so retrying after a - // mid-flow failure would resend the same names and fail on a duplicate-name error instead - // of surfacing the real cause - rethrow the original failure instead. + // Cached terminal failure so a retry rethrows the original cause instead of resending fixed names and hitting a duplicate-name error. private static RuntimeException kycDelegationDisabledSetupFailure = null; public static synchronized String generateAndGetKycDelegationDisabledPartnerKeyUrl() { @@ -335,9 +325,7 @@ private static String createKycDelegationDisabledPartner() { RestClient.postRequestWithCookie(partnersUrl, partnerBody, MediaType.APPLICATION_JSON, MediaType.APPLICATION_JSON, GlobalConstants.AUTHORIZATION, token); - // MispPartnerAndLicenseKeyGeneration.getCertificates() hardcodes keyFileNameByPartnerName=false, - // which reuses the first partner's cached cert files - go straight to AuthTestsUtil with true so - // the cert chain (and its Organization field) is unique to this partner id + // MispPartnerAndLicenseKeyGeneration.getCertificates() hardcodes keyFileNameByPartnerName=false (reuses the first partner's cached certs), so go straight to AuthTestsUtil with true for a cert chain unique to this partner id io.mosip.testrig.apirig.dto.CertificateChainResponseDto certChain; try { certChain = new io.mosip.testrig.apirig.utils.AuthTestsUtil().generatePartnerKeys( @@ -350,8 +338,7 @@ private static String createKycDelegationDisabledPartner() { MispPartnerAndLicenseKeyGeneration.uploadIntermediateCertificate(certChain.getInterCertificate(), "Auth"); org.json.JSONObject signedCertificateValue = MispPartnerAndLicenseKeyGeneration.uploadPartnerCertificate( certChain.getPartnerCertificate(), "Auth", KYC_DELEGATION_DISABLED_PARTNER_ID); - // MispPartnerAndLicenseKeyGeneration.uploadSignedCertificate() hardcodes partnerName=null/keyFileNameByPartnerName=false, - // which would update the wrong (generic) key file - call AuthTestsUtil directly with the same params used above + // MispPartnerAndLicenseKeyGeneration.uploadSignedCertificate() hardcodes partnerName=null/keyFileNameByPartnerName=false (would update the wrong generic key file), so call AuthTestsUtil directly with the same params used above HashMap signedCertRequest = new HashMap<>(); signedCertRequest.put("certData", signedCertificateValue.getString("signedCertificateData")); try { diff --git a/api-test/testNgXmlFiles/authSuite.xml b/api-test/testNgXmlFiles/authSuite.xml index 39ab67a8562..7c14173f237 100644 --- a/api-test/testNgXmlFiles/authSuite.xml +++ b/api-test/testNgXmlFiles/authSuite.xml @@ -192,6 +192,7 @@ + From 60e20dc4fe74b96dc3a6c4f9e9a8c8cade4692c0 Mon Sep 17 00:00:00 2001 From: Mohanachandran S Date: Wed, 26 Aug 2026 18:52:04 +0530 Subject: [PATCH 4/6] Fixed the failures after fixing code rabbit comments Signed-off-by: Mohanachandran S --- .../ida/BioAuthKycExchangeV2/BioAuthKycExchangeV2.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/api-test/src/main/resources/ida/BioAuthKycExchangeV2/BioAuthKycExchangeV2.yml b/api-test/src/main/resources/ida/BioAuthKycExchangeV2/BioAuthKycExchangeV2.yml index 521803198f4..6e5c599f5a4 100644 --- a/api-test/src/main/resources/ida/BioAuthKycExchangeV2/BioAuthKycExchangeV2.yml +++ b/api-test/src/main/resources/ida/BioAuthKycExchangeV2/BioAuthKycExchangeV2.yml @@ -18,6 +18,7 @@ BioAuthKycExchangeV2: "locales": [{localesValue: "eng"}], "respType": "JWE" }' + checkErrorsOnlyInResponse: true output: '{ }' @@ -294,6 +295,7 @@ BioAuthKycExchangeV2: "verificationBlocks": [{trustFramework: "mosip_trust_framework", maxAge: "3600", verifiedClaims: ["given_name", "family_name"]}], "unVerifiedClaims": [] }' + checkErrorsOnlyInResponse: true output: '{ }' @@ -318,6 +320,7 @@ BioAuthKycExchangeV2: "verificationBlocks": [], "unVerifiedClaims": ["email", "phone_number"] }' + checkErrorsOnlyInResponse: true output: '{ }' @@ -345,6 +348,7 @@ BioAuthKycExchangeV2: ], "unVerifiedClaims": [] }' + checkErrorsOnlyInResponse: true output: '{ }' @@ -369,6 +373,7 @@ BioAuthKycExchangeV2: "verificationBlocks": [{trustFramework: "mosip_trust_framework", maxAge: "3600", verifiedClaims: ["given_name"]}], "unVerifiedClaims": ["email"] }' + checkErrorsOnlyInResponse: true output: '{ }' \ No newline at end of file From f16c5181b436151f001a0fa7d5a568ac9c00913a Mon Sep 17 00:00:00 2001 From: Mohanachandran S Date: Thu, 27 Aug 2026 13:38:36 +0530 Subject: [PATCH 5/6] Fixed the failures after fixing code rabbit comments Signed-off-by: Mohanachandran S --- .../BioAuthKycExchange/BioAuthKYCExchange.yml | 44 +++++++++---------- .../BioAuthKycExchangeV2.yml | 10 ++--- .../DemoAuthKycExchange.yml | 40 ++++++++--------- .../ida/KycExchangeNeg/KycExchangeNeg.yml | 6 +-- .../OtpAuthKycExchange/OtpAuthKycExchange.yml | 12 ++--- 5 files changed, 56 insertions(+), 56 deletions(-) diff --git a/api-test/src/main/resources/ida/BioAuthKycExchange/BioAuthKYCExchange.yml b/api-test/src/main/resources/ida/BioAuthKycExchange/BioAuthKYCExchange.yml index c59001796b4..02fddb1fdd2 100644 --- a/api-test/src/main/resources/ida/BioAuthKycExchange/BioAuthKYCExchange.yml +++ b/api-test/src/main/resources/ida/BioAuthKycExchange/BioAuthKYCExchange.yml @@ -5,9 +5,9 @@ BioAuthKycExchange: description: Biometric face auth KYC Exchange with valid UIN and auth to get success response role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", @@ -29,9 +29,9 @@ BioAuthKycExchange: description: Biometric face KYC exchange auth with valid VID - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_for_kycDelegated_bio_sid_vid$", @@ -53,9 +53,9 @@ BioAuthKycExchange: description: Biometric left iris KYC exchange auth with valid UIN - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_For_Kyc_Delegated_leftIris_Auth_UIN_smoke_Pos_UIN$", @@ -77,9 +77,9 @@ BioAuthKycExchange: description: Biometric left iris KYC exchange auth with valid VID - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_for_kycDelegated_bio_sid_vid$", @@ -101,9 +101,9 @@ BioAuthKycExchange: description: Biometric Right Iris KYC exchange auth with valid UIN - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_For_Kyc_Delegated_rightIris_Auth_UIN_smoke_Pos_UIN$", @@ -125,9 +125,9 @@ BioAuthKycExchange: description: Biometric Right Iris KYC exchange auth with valid VID - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_for_kycDelegated_bio_rightIris_sid_vid$", @@ -149,9 +149,9 @@ BioAuthKycExchange: description: Biometric LeftIndexFinger KYC exchange auth with valid UIN - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", @@ -173,9 +173,9 @@ BioAuthKycExchange: description: Biometric LeftIndexFinger KYC exchange auth with valid VID - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_for_kycDelegated_bio_sid_vid$", @@ -197,9 +197,9 @@ BioAuthKycExchange: description: Biometric RightIndexFinger KYC exchange auth with valid UIN - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", @@ -221,9 +221,9 @@ BioAuthKycExchange: description: Biometric RightIndexFinger KYC exchange auth with valid VID - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_for_kycDelegated_bio_sid_vid$", @@ -245,9 +245,9 @@ BioAuthKycExchange: description: Biometric RightMiddleFinger KYC exchange auth with valid UIN - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", @@ -269,9 +269,9 @@ BioAuthKycExchange: description: Biometric RightMiddleFinger KYC exchange auth with valid VID - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_for_kycDelegated_bio_sid_vid$", @@ -293,9 +293,9 @@ BioAuthKycExchange: description: Biometric LeftMiddleFinger KYC exchange auth with valid UIN - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", @@ -317,9 +317,9 @@ BioAuthKycExchange: description: Biometric LeftMiddleFinger KYC exchange auth with valid VID - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_for_kycDelegated_bio_sid_vid$", @@ -341,9 +341,9 @@ BioAuthKycExchange: description: Biometric RightLittleFinger KYC exchange auth with valid UIN - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", @@ -365,9 +365,9 @@ BioAuthKycExchange: description: Biometric RightLittleFinger KYC exchange auth with valid VID - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_for_kycDelegated_bio_sid_vid$", @@ -389,9 +389,9 @@ BioAuthKycExchange: description: Biometric LeftLittleFinger KYC exchange auth with valid UIN - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", @@ -413,9 +413,9 @@ BioAuthKycExchange: description: Biometric LeftLittleFinger KYC exchange auth with valid VID - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_for_kycDelegated_bio_sid_vid$", @@ -437,9 +437,9 @@ BioAuthKycExchange: description: Biometric RightThumb KYC exchange auth with valid UIN - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", @@ -461,9 +461,9 @@ BioAuthKycExchange: description: Biometric RightThumb KYC exchange auth with valid VID - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_for_kycDelegated_bio_sid_vid$", @@ -485,9 +485,9 @@ BioAuthKycExchange: description: Biometric LeftThumb KYC exchange auth with valid UIN - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", @@ -509,9 +509,9 @@ BioAuthKycExchange: description: Biometric LeftThumb KYC exchange auth with valid VID - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_for_kycDelegated_bio_sid_vid$", diff --git a/api-test/src/main/resources/ida/BioAuthKycExchangeV2/BioAuthKycExchangeV2.yml b/api-test/src/main/resources/ida/BioAuthKycExchangeV2/BioAuthKycExchangeV2.yml index 6e5c599f5a4..aa7a389ffad 100644 --- a/api-test/src/main/resources/ida/BioAuthKycExchangeV2/BioAuthKycExchangeV2.yml +++ b/api-test/src/main/resources/ida/BioAuthKycExchangeV2/BioAuthKycExchangeV2.yml @@ -5,6 +5,7 @@ BioAuthKycExchangeV2: description: Validate the BioAuth KYC Exchange V2 biometric face authentication for a valid UIN in a smoke positive scenario - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeV2 outputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeResult input: '{ @@ -18,7 +19,6 @@ BioAuthKycExchangeV2: "locales": [{localesValue: "eng"}], "respType": "JWE" }' - checkErrorsOnlyInResponse: true output: '{ }' @@ -280,6 +280,7 @@ BioAuthKycExchangeV2: description: Kyc exchange V2 with only verifiedConsentedClaims populated and unVerifiedConsentedClaims empty - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeV2Custom outputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeResult input: '{ @@ -295,7 +296,6 @@ BioAuthKycExchangeV2: "verificationBlocks": [{trustFramework: "mosip_trust_framework", maxAge: "3600", verifiedClaims: ["given_name", "family_name"]}], "unVerifiedClaims": [] }' - checkErrorsOnlyInResponse: true output: '{ }' @@ -305,6 +305,7 @@ BioAuthKycExchangeV2: description: Kyc exchange V2 with only unVerifiedConsentedClaims populated and verifiedConsentedClaims empty - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeV2Custom outputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeResult input: '{ @@ -320,7 +321,6 @@ BioAuthKycExchangeV2: "verificationBlocks": [], "unVerifiedClaims": ["email", "phone_number"] }' - checkErrorsOnlyInResponse: true output: '{ }' @@ -330,6 +330,7 @@ BioAuthKycExchangeV2: description: Kyc exchange V2 with two verification blocks carrying different trust_framework values, per the OIDC4IDA multiple-objects shape documented on KycExchangeRequestDTOV2 - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeV2Custom outputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeResult input: '{ @@ -348,7 +349,6 @@ BioAuthKycExchangeV2: ], "unVerifiedClaims": [] }' - checkErrorsOnlyInResponse: true output: '{ }' @@ -358,6 +358,7 @@ BioAuthKycExchangeV2: description: Kyc exchange V2 with a non-JWE respType still succeeds, returning a signed but unencrypted payload role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeV2Custom outputTemplate: ida/BioAuthKycExchangeV2/BioAuthKYCExchangeResult input: '{ @@ -373,7 +374,6 @@ BioAuthKycExchangeV2: "verificationBlocks": [{trustFramework: "mosip_trust_framework", maxAge: "3600", verifiedClaims: ["given_name"]}], "unVerifiedClaims": ["email"] }' - checkErrorsOnlyInResponse: true output: '{ }' \ No newline at end of file diff --git a/api-test/src/main/resources/ida/DemoAuthKycExchange/DemoAuthKycExchange.yml b/api-test/src/main/resources/ida/DemoAuthKycExchange/DemoAuthKycExchange.yml index 23235dca454..357097ee926 100644 --- a/api-test/src/main/resources/ida/DemoAuthKycExchange/DemoAuthKycExchange.yml +++ b/api-test/src/main/resources/ida/DemoAuthKycExchange/DemoAuthKycExchange.yml @@ -5,9 +5,9 @@ DemoAuthKycExchange: description: Demo auth kyc exchange using valid dob and valid UIN and auth to get success response role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", @@ -29,9 +29,9 @@ DemoAuthKycExchange: description: Demo auth kyc exchange using valid dob with valid perpetual VID - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_for_EkycDemo_Dob_sid_vid$", @@ -53,9 +53,9 @@ DemoAuthKycExchange: description: Demo auth kyc exchange using dob with infant UIN - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_withValidParameters_Infant_smoke_Pos_UIN$", @@ -77,9 +77,9 @@ DemoAuthKycExchange: description: Demo auth kyc exchange using email with valid VID - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_All_Valid_Smoke_Perpetual_sid_vid$", @@ -101,9 +101,9 @@ DemoAuthKycExchange: description: Demo auth kyc exchange with email using valid VID - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_All_Valid_Smoke_Perpetual_sid_vid$", @@ -125,9 +125,9 @@ DemoAuthKycExchange: description: Demo auth kyc exchange using valid gender and valid UIN - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", @@ -149,9 +149,9 @@ DemoAuthKycExchange: description: Demo auth kyc exchange using valid gender and valid perpetual VID - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_All_Valid_Smoke_Perpetual_sid_vid$", @@ -173,9 +173,9 @@ DemoAuthKycExchange: description: Demo auth kyc exchange using valid dob and valid perpetual VID - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_for_EkycDemo_Dob_sid_vid$", @@ -197,9 +197,9 @@ DemoAuthKycExchange: description: Demo auth kyc exchange using valid name and valid UIN - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", @@ -221,9 +221,9 @@ DemoAuthKycExchange: description: Demo auth kyc exchange using valid name with title and valid UIN - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", @@ -245,9 +245,9 @@ DemoAuthKycExchange: description: Demo auth kyc exchange using valid name with title and valid UIN - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", @@ -269,9 +269,9 @@ DemoAuthKycExchange: description: Demo auth kyc exchange using name and valid UIN - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", @@ -293,9 +293,9 @@ DemoAuthKycExchange: description: Demo auth kyc exchange using name with title and valid UIN - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", @@ -317,9 +317,9 @@ DemoAuthKycExchange: description: Demo auth kyc exchange using valid name with title and UIN - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", @@ -341,9 +341,9 @@ DemoAuthKycExchange: description: Demo auth kyc exchange using name with title and valid UIN - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", @@ -365,9 +365,9 @@ DemoAuthKycExchange: description: Demo auth kyc exchange using valid name and valid perpetual VID - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_All_Valid_Smoke_Perpetual_sid_vid$", @@ -389,9 +389,9 @@ DemoAuthKycExchange: description: Demo auth kyc exchange using valid age and valid perpetual VID - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_All_Valid_Smoke_Perpetual_sid_vid$", @@ -413,9 +413,9 @@ DemoAuthKycExchange: description: Demo auth kyc exchange using valid phone number and valid perpetual VID - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_All_Valid_Smoke_Perpetual_sid_vid$", @@ -437,9 +437,9 @@ DemoAuthKycExchange: description: Demo auth kyc exchange using dob with drafted UIN - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GetDraft_all_valid_smoke_sid_UIN$", @@ -461,9 +461,9 @@ DemoAuthKycExchange: description: Demo auth kyc exchange using valid phone and valid UIN - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchange outputTemplate: ida/DemoAuthKycExchange/DemoAuthKycExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", diff --git a/api-test/src/main/resources/ida/KycExchangeNeg/KycExchangeNeg.yml b/api-test/src/main/resources/ida/KycExchangeNeg/KycExchangeNeg.yml index 52495a84f9b..bd8925387d0 100644 --- a/api-test/src/main/resources/ida/KycExchangeNeg/KycExchangeNeg.yml +++ b/api-test/src/main/resources/ida/KycExchangeNeg/KycExchangeNeg.yml @@ -275,9 +275,9 @@ KycExchangeNeg: description: Kyc exchange with an empty consentObtained list still succeeds - server-side consent validation is deliberately disabled role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", @@ -299,9 +299,9 @@ KycExchangeNeg: description: Kyc exchange with an empty locales list still succeeds - server defaults to the configured kyc-exchange default language role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", @@ -323,9 +323,9 @@ KycExchangeNeg: description: Kyc exchange with a non-JWE respType still succeeds, returning a signed but unencrypted payload role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchange outputTemplate: ida/BioAuthKycExchange/BioAuthKYCExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_withValidParameters_forDemoDelegated_Pos_UIN$", diff --git a/api-test/src/main/resources/ida/OtpAuthKycExchange/OtpAuthKycExchange.yml b/api-test/src/main/resources/ida/OtpAuthKycExchange/OtpAuthKycExchange.yml index 7f1614864d7..a9c427f8226 100644 --- a/api-test/src/main/resources/ida/OtpAuthKycExchange/OtpAuthKycExchange.yml +++ b/api-test/src/main/resources/ida/OtpAuthKycExchange/OtpAuthKycExchange.yml @@ -5,9 +5,9 @@ OtpAuthKycExchange: description: Otp auth kyc exchange with valid UIN and success response role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/OtpAuthKycExchange/OtpAuthKycExchange outputTemplate: ida/OtpAuthKycExchange/OtpAuthKycExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_withValidParameters_forOtpDelegated_Pos_UIN$", @@ -29,9 +29,9 @@ OtpAuthKycExchange: description: Otp auth kyc exchange with valid perpetual VID - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/OtpAuthKycExchange/OtpAuthKycExchange outputTemplate: ida/OtpAuthKycExchange/OtpAuthKycExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_All_Valid_Smoke_Perpetual_sid_vid$", @@ -53,9 +53,9 @@ OtpAuthKycExchange: description: OTP auth kyc exchange with optional individualIdType using VID - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/OtpAuthKycExchange/OtpAuthKycExchange outputTemplate: ida/OtpAuthKycExchange/OtpAuthKycExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_All_Valid_Smoke_Perpetual_sid_vid$", @@ -77,9 +77,9 @@ OtpAuthKycExchange: description: Otp auth kyc exchange with missing optional field individualIdType using VID - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/OtpAuthKycExchange/OtpAuthKycExchange outputTemplate: ida/OtpAuthKycExchange/OtpAuthKycExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:GenerateVID_All_Valid_Smoke_Perpetual_sid_vid$", @@ -101,9 +101,9 @@ OtpAuthKycExchange: description: Otp auth kyc exchange with locked email using valid UIN - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/OtpAuthKycExchange/OtpAuthKycExchange outputTemplate: ida/OtpAuthKycExchange/OtpAuthKycExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_ValidParameters_toLock_email_perfromOtpEmail_auth_Pos_UIN$", @@ -125,9 +125,9 @@ OtpAuthKycExchange: description: Otp auth kyc exchange with locked phone using valid UIN - expected to succeed role: resident restMethod: post + checkErrorsOnlyInResponse: true inputTemplate: ida/OtpAuthKycExchange/OtpAuthKycExchange outputTemplate: ida/OtpAuthKycExchange/OtpAuthKycExchangeResult - checkErrorsOnlyInResponse: true input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_ValidParameters_toLock_phone_Pos_UIN$", From fb7e44ba2c2193f445ae6a3ab60893dc6207ea82 Mon Sep 17 00:00:00 2001 From: Mohanachandran S Date: Fri, 28 Aug 2026 14:58:16 +0530 Subject: [PATCH 6/6] Fixed automation issues and updated the known issues Signed-off-by: Mohanachandran S --- .../BioAuthDelegatedV2/BioAuthDelegatedV2.hbs | 1 - .../BioAuthDelegatedV2/BioAuthDelegatedV2.yml | 13 ++++----- .../BioAuthDelegatedV2ClaimsOmitted.hbs | 29 +++++++++++++++++++ .../main/resources/testCaseSkippedList.txt | 23 ++++++++++++++- 4 files changed, 57 insertions(+), 9 deletions(-) create mode 100644 api-test/src/main/resources/ida/BioAuthDelegatedV2/BioAuthDelegatedV2ClaimsOmitted.hbs diff --git a/api-test/src/main/resources/ida/BioAuthDelegatedV2/BioAuthDelegatedV2.hbs b/api-test/src/main/resources/ida/BioAuthDelegatedV2/BioAuthDelegatedV2.hbs index ac3a4748b36..900828e22ee 100644 --- a/api-test/src/main/resources/ida/BioAuthDelegatedV2/BioAuthDelegatedV2.hbs +++ b/api-test/src/main/resources/ida/BioAuthDelegatedV2/BioAuthDelegatedV2.hbs @@ -21,7 +21,6 @@ "requestSessionKey": "sessionkey", "transactionID": "{{transactionId}}", "domainUri": "baseurl", - "env": "{{env}}", "env": "Staging", "keyIndex": "string", "specVersion": "1.0", diff --git a/api-test/src/main/resources/ida/BioAuthDelegatedV2/BioAuthDelegatedV2.yml b/api-test/src/main/resources/ida/BioAuthDelegatedV2/BioAuthDelegatedV2.yml index 3c393ad4e31..4f0036015eb 100644 --- a/api-test/src/main/resources/ida/BioAuthDelegatedV2/BioAuthDelegatedV2.yml +++ b/api-test/src/main/resources/ida/BioAuthDelegatedV2/BioAuthDelegatedV2.yml @@ -88,14 +88,13 @@ BioAuthDelegatedV2: description: Kyc auth V2 with claimsMetadataRequired omitted, defaults to false - still succeeds role: resident restMethod: post - inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2 + inputTemplate: ida/BioAuthDelegatedV2/BioAuthDelegatedV2ClaimsOmitted outputTemplate: ida/BioAuthDelegatedV2/BioKYCAuthDelegatedResult input: '{ "requestTime": "$TIMESTAMP$", "individualId": "$ID:AddIdentity_For_Kyc_Delegated_Bio_Auth_Smoke_Pos_UIN$", "transactionId": "$TRANSACTIONID$", "individualIdType": "UIN", - "claimsMetadataRequired": "$REMOVE$", "bio": true, "demo": false, "otp": false, @@ -675,9 +674,9 @@ BioAuthDelegatedV2: "demo": false, "otp": false, "identityRequest":{ - "bioSubType": "UNKNOWN", - "bioType": "FACE", - "bioValue": "$FACE$", + "bioSubType": "Right", + "bioType": "Iris", + "bioValue": "$RIGHTIRIS$", "deviceCode": "bc0b6848-6d45-46d1-a9bd-b334410bf823", "dateTime": "$DATETIME$", "deviceProviderID": "1873299273", @@ -685,11 +684,11 @@ BioAuthDelegatedV2: "deviceServiceVersion": "SB.WIN.001", "deviceProvider": "SYNCBYTE", "deviceProviderId": "SYNCBYTE.LTC165", - "deviceSubType": "Full face", + "deviceSubType": "Slap", "make": "Logitech", "model": "4d36e96c-e325-11ce-bfc1-08002be10318", "serialNo": "78467171", - "type": "Face", + "type": "Iris", "transactionId": "$TRANSACTIONID$", "identityRequestTemplate": "ida/BioAuthDelegatedV2/BioAuthIdentityEncrypt", "identityRequestEncUrl": "/idauthentication/v1/internal/encrypt" diff --git a/api-test/src/main/resources/ida/BioAuthDelegatedV2/BioAuthDelegatedV2ClaimsOmitted.hbs b/api-test/src/main/resources/ida/BioAuthDelegatedV2/BioAuthDelegatedV2ClaimsOmitted.hbs new file mode 100644 index 00000000000..251266679ad --- /dev/null +++ b/api-test/src/main/resources/ida/BioAuthDelegatedV2/BioAuthDelegatedV2ClaimsOmitted.hbs @@ -0,0 +1,29 @@ +{ + "id": "mosip.identity.kycauth", + "consentObtained": true, + "individualId": "{{individualId}}", + "individualIdType": "{{individualIdType}}", + "request": "wB6n9jA-jZ0NPJQjkyPyugYWzk4fJvgHnP8OKVu4urfnjdrT1O3hycb9HncVXMmgrmgbXwBAX-01RgHyB-EJJN9Ahk_u0JZTKiZfXLnmQI6lBjpruG-L2dJyfR0vAMt3Yb0W8BcNd1i2wMpAcu8tpm-aXz79nnh68_a3HdSM84799kopLW26pFo_iQzqNT0VuOg1OBEjtkb92NsCt-391v20UjRyIr1hIETHReOjCjI", + "requestHMAC": "EF4F5925A684CE1CE6D8F6E5C3385C641B06800AAE213C9F55696015FF7D8CFC", + "requestTime": "{{requestTime}}", + "filters": [ + {{#each filters}} + "{{type}}": {{bio}} + {{#unless @last}},{{/unless}} + {{/each}} + ], + "requestedAuth": { + "bio": {{bio}}, + "demo": {{demo}}, + "otp": {{otp}}, + "pin": false + }, + "requestSessionKey": "sessionkey", + "transactionID": "{{transactionId}}", + "domainUri": "baseurl", + "env": "Staging", + "keyIndex": "string", + "specVersion": "1.0", + "thumbprint": "partnerORinternalthumbprint", + "version": "1.0" +} diff --git a/api-test/src/main/resources/testCaseSkippedList.txt b/api-test/src/main/resources/testCaseSkippedList.txt index a146613e299..0485b017a18 100644 --- a/api-test/src/main/resources/testCaseSkippedList.txt +++ b/api-test/src/main/resources/testCaseSkippedList.txt @@ -1,2 +1,23 @@ ##### JIRA number;testcase -#MOSIP-12456------Test_Case_Name \ No newline at end of file +#MOSIP-12456------Test_Case_Name +MOSIP-43456------auth_EkycOtp_Auth_With_Invalid_Empty_Timestamp_UIN_Neg +MOSIP-41021------auth_SendOTP_toBlockedVID_Neg +MOSIP-41021------auth_SendOTP_to_LockedphoneAndEmail_valid_uin_Neg +MOSIP-41021------auth_SendOTP_to_blocked_uin_Neg +MOSIP-41021------auth_SendOTP_to_onlyLockedEmail_valid_uin_Neg +MOSIP-41021------auth_SendOTP_to_onlyLockedphone_valid_uin_Neg +MOSIP-43965------auth_SendOTP_to_DeactivatedUIN_Neg +MOSIP-45519------auth_BioAuthDelegatedNeg_With_Deactivated_UIN +MOSIP-45519------auth_BioAuthDelegatedV2Neg_Missing_RequestTime_Neg +MOSIP-45519------auth_BioAuthDelegatedV2Neg_Malformed_RequestTime_Neg +MOSIP-45519------auth_BioAuthDelegatedV2Neg_TransactionID_TooLong_Neg +MOSIP-45519------auth_BioAuthKycExchangeV2Neg_Missing_IndividualId_Neg +MOSIP-45519------auth_BioAuthKycExchangeV2Neg_Missing_TransactionID_Neg +MOSIP-45519------auth_BioAuthKycExchangeV2Neg_Invalid_VID_Neg +MOSIP-45519------auth_BioAuthKycExchangeV2Neg_Invalid_UIN_Neg +MOSIP-45519------auth_DemoAuth_DOB_Invalid_Thumbprint_UIN_Neg +MOSIP-45519------auth_KycExchangeNeg_Malformed_RequestTime_Neg +MOSIP-45519------auth_KycExchangeNeg_Invalid_UIN_Neg +MOSIP-45519------auth_KycExchangeNeg_Missing_RequestTime_Neg +MOSIP-45519------auth_KycExchangeNeg_Invalid_VID_Neg +MOSIP-45519------auth_KycExchangeNeg_Missing_IndividualId_Neg \ No newline at end of file