From 849685387f4d696538f296780b900d1b1afd5e7d Mon Sep 17 00:00:00 2001
From: SuhasVMM <167859239+SuhasVMM@users.noreply.github.com>
Date: Mon, 18 Nov 2024 17:17:35 +0530
Subject: [PATCH] Entity CRUD operations
---
Elevate_QA_API.xml | 4 ++
.../Automation_ElevateAPI_QA.properties | 4 +-
.../ep/TestElevateEntityCRUDOperations.java | 69 +++++++++++++++++++
3 files changed, 76 insertions(+), 1 deletion(-)
diff --git a/Elevate_QA_API.xml b/Elevate_QA_API.xml
index 995807d..4dedd88 100644
--- a/Elevate_QA_API.xml
+++ b/Elevate_QA_API.xml
@@ -53,6 +53,10 @@
+
+
+
+
diff --git a/src/main/resources/config/Automation_ElevateAPI_QA.properties b/src/main/resources/config/Automation_ElevateAPI_QA.properties
index ecc6f17..0d544d9 100644
--- a/src/main/resources/config/Automation_ElevateAPI_QA.properties
+++ b/src/main/resources/config/Automation_ElevateAPI_QA.properties
@@ -29,4 +29,6 @@ elevate.qa.fetchentity.list.endpoint=entity-management/v1/entities/list/
elevate.qa.mapping.entity.endpoint=entity-management/v1/entities/mappingUpload
elevate.qa.update.entitytype.name=school
elevate.qa.parent.entity.externalId=Automation_ExternalId123
-elevate.qa.targetedroles.endpoint=entity-management/v1/entities/targetedRoles/
\ No newline at end of file
+elevate.qa.targetedroles.endpoint=entity-management/v1/entities/targetedRoles/
+elevate.qa.entity.realated.entities=entity-management/v1/entities/relatedEntities/
+elevate.qa.entity.detailsbasedon.entityid.endpoint=entity-management/v1/entities/details/
\ No newline at end of file
diff --git a/src/test/java/org/shikshalokam/backend/ep/TestElevateEntityCRUDOperations.java b/src/test/java/org/shikshalokam/backend/ep/TestElevateEntityCRUDOperations.java
index e2d0f4d..0d0cd54 100644
--- a/src/test/java/org/shikshalokam/backend/ep/TestElevateEntityCRUDOperations.java
+++ b/src/test/java/org/shikshalokam/backend/ep/TestElevateEntityCRUDOperations.java
@@ -143,6 +143,51 @@ public void testFetchTargetedRolesForEntity() {
logger.info("validation related to entity targeted roles is verified");
}
+ @Test(description = "Test case for fetching entity related entities")
+ public void testValidRelatedEntitiesBasedOnEntity() {
+ getEntityId(PropertyLoader.PROP_LIST.getProperty("elevate.qa.parent.entity.externalId"));
+ Response response = relatedEntitiesBasedOnEntityId(entity_Id);
+ Assert.assertEquals(response.getStatusCode(), 200);
+ Assert.assertEquals(response.jsonPath().get("message"), "ENTITY_FETCHED");
+ logger.info("Validations related to fetching entity related entities is verified");
+ }
+
+ @Test(description = "Negative test case for fetching entity related entities with out the path parameter")
+ public void testInvalidRelatedEntitiesBasedOnEntity() {
+ Response response = given()
+ .header("internal-access-token", INTERNAL_ACCESS_TOKEN)
+ .header("x-auth-token", X_AUTH_TOKEN)
+ .header("Content-Type", "application/json")
+ .get("entity-management/v1/entities/relatedEntities");
+ response.prettyPrint();
+ Assert.assertEquals(response.getStatusCode(), 400);
+ Assert.assertTrue(response.asString().contains("required Entity id"));
+ logger.info("Validation related to Invalid fetching of entity related entities is verified");
+ }
+
+
+ @Test(dependsOnMethods = "testAddingValidEntity", description = "Test case to get entity details using entity Id")
+ public void testValidEntityDetails() {
+ Response response = ENtitydetailsBasedonEntityId(entity_Id);
+ Assert.assertEquals(response.getStatusCode(), 200);
+ Assert.assertEquals(response.jsonPath().getString("message"), "ENTITY_INFORMATION_FETCHED");
+ logger.info("Validations related to getting entity details using entity Id is verified");
+ }
+
+ @Test(description = "Negative test case to get entity details without path parameter")
+ public void testInvalidEntityDetails() {
+ Response response = given()
+ .header("internal-access-token", INTERNAL_ACCESS_TOKEN)
+ .header("x-auth-token", X_AUTH_TOKEN)
+ .header("Content-Type", "application/json")
+ .get("entity-management/v1/entities/details");
+ response.prettyPrint();
+ Assert.assertEquals(response.getStatusCode(), 400);
+ Assert.assertTrue(response.asString().contains("required state location id"));
+ logger.info("Validations related to getting entity details without path parameter is verified");
+
+ }
+
// Method to add the entity
private Response addEntity(String entityName, String externalId, String entityTypeName) {
getEntitytype_Id(entityTypeName);
@@ -262,4 +307,28 @@ private Response fetchTargetedRoles(String entityId) {
response.prettyPrint();
return response;
}
+
+ //Method to fetch related entities based on entity ID
+ private Response relatedEntitiesBasedOnEntityId(String entityid) {
+ Response response = given()
+ .header("internal-access-token", INTERNAL_ACCESS_TOKEN)
+ .header("x-auth-token", X_AUTH_TOKEN)
+ .header("Content-Type", "application/json")
+ .pathParam("_id", entityid)
+ .get(PropertyLoader.PROP_LIST.getProperty("elevate.qa.entity.realated.entities") + "{_id}");
+ response.prettyPrint();
+ return response;
+ }
+
+ //Method to fetch entity details based on entity ID
+ private Response ENtitydetailsBasedonEntityId(String entityid) {
+ Response response = given()
+ .header("internal-access-token", INTERNAL_ACCESS_TOKEN)
+ .header("x-auth-token", X_AUTH_TOKEN)
+ .header("Content-Type", "application/json")
+ .pathParam("_id", entityid)
+ .get(PropertyLoader.PROP_LIST.getProperty("elevate.qa.entity.detailsbasedon.entityid.endpoint") + "{_id}");
+ response.prettyPrint();
+ return response;
+ }
}
\ No newline at end of file