Commit a91f7c50 authored by rheafernandes's avatar rheafernandes
Browse files

Added testcase for code coverage

parent cd5c2398
schema-updates 3.9.0-prod-fix 4.1.0_fixes AmiableAnil-patch-1 Gcloud_copy Gcloud_fix Remove_unwantedCode_Gcloud_fix actors-test bulk-upload-comptenecy-mapping bulk-upload-excelsheet bulk-upload-test_excel bulk_upload code-cleanup csp-migration dependabot/maven/platform-core/platform-telemetry/ch.qos.logback-logback-core-1.2.9 dependabot/maven/search-api/search-core/org.apache.httpcomponents-httpclient-4.5.13 knowlg-friday knowlg-oneclick local-setup-fix local-setup-kube m-4.2.0 master master-data org-target-enhancement patch-1 patch-2 patch-3 poc_bulk_upload qs-schema rahul_bulk_upload_postgres release-3.6.0 release-3.6.0.1 release-3.7.0 release-3.8.0 release-3.9.0 release-4.0.0 release-4.1.0 release-4.10.0 release-4.10.1 release-4.2.0 release-4.3.0 release-4.4.0 release-4.5.0 release-4.6.0 release-4.7.0 release-4.7.0-debug release-4.8.0 release-4.8.0-debug release-4.9.0 release-4.9.1 release-5.0.0 release-5.0.1 release-5.1.0 release-5.1.0-content release-5.2.0 release-5.3.0 revert-718-visiblity-private-api revert-719-assessment-private-read-api revert-720-visiblity-public-search-api revert-721-visiblity-private-search-api review-4.1.0 s-debug schema-update-4.0 release-5.2.0_RC2 release-5.2.0_RC1 release-5.1.0_RC1 release-5.0.0_RC2 release-5.0.0_RC1 release-4.10.0_RC2 release-4.10.0_RC1 release-4.9.1_RC1 release-4.9.0_RC8 release-4.9.0_RC7 release-4.9.0_RC6 release-4.9.0_RC5 release-4.9.0_RC4 release-4.9.0_RC3 release-4.9.0_RC2 release-4.9.0_RC1 release-4.8.0_RC5 release-4.8.0_RC4 release-4.8.0_RC3 release-4.8.0_RC2 release-4.8.0_RC1 release-4.7.0_RC6 release-4.7.0_RC5 release-4.7.0_RC4 release-4.7.0_RC3 release-4.7.0_RC2 release-4.7.0_RC1 release-4.6.0_RC2 release-4.6.0_RC1 release-4.5.0_RC2 release-4.5.0_RC1 release-4.4.0_RC6 release-4.4.0_RC5 release-4.4.0_RC4 release-4.4.0_RC3 release-4.4.0_RC2 release-4.4.0_RC1 release-4.3.0_RC10 release-4.3.0_RC9 release-4.3.0_RC8 release-4.3.0_RC7 release-4.3.0_RC6 release-4.3.0_RC5 release-4.3.0_RC4 release-4.3.0_RC3 release-4.3.0_RC2 release-4.3.0_RC1 release-4.2.0_RC13 release-4.2.0_RC12 release-4.2.0_RC11 release-4.2.0_RC10 release-4.2.0_RC9 release-4.2.0_RC8 release-4.2.0_RC7 release-4.2.0_RC6 release-4.2.0_RC5 release-4.2.0_RC4 release-4.2.0_RC3 release-4.2.0_RC2 release-4.2.0_RC1 release-4.1.0_RC13 release-4.1.0_RC12 release-4.1.0_RC11 release-4.1.0_RC10 release-4.1.0_RC9 release-4.1.0_RC8 release-4.1.0_RC7 release-4.1.0_RC6 release-4.1.0_RC5 release-4.1.0_RC4 release-4.1.0_RC3 release-4.1.0_RC2 release-4.1.0_RC1 release-4.0.0_RC9 release-4.0.0_RC8 release-4.0.0_RC7 release-4.0.0_RC6 release-4.0.0_RC5 release-4.0.0_RC4 release-4.0.0_RC3 release-4.0.0_RC2 release-4.0.0_RC1 release-3.9.0_RC12 release-3.9.0_RC11 release-3.9.0_RC10 release-3.9.0_RC9 release-3.9.0_RC8 release-3.9.0_RC7 release-3.9.0_RC6 release-3.9.0_RC5 release-3.9.0_RC4 release-3.9.0_RC3 release-3.9.0_RC2 release-3.9.0_RC1 release-3.8.0_RC9 release-3.8.0_RC8 release-3.8.0_RC7 release-3.8.0_RC6 release-3.8.0_RC5 release-3.8.0_RC4 release-3.8.0_RC3 release-3.8.0_RC2 release-3.8.0_RC1 release-3.7.0_RC1 release-3.6.0_RC5 release-3.6.0_RC4 release-3.6.0_RC3
No related merge requests found
Showing with 44 additions and 42 deletions
+44 -42
......@@ -262,22 +262,6 @@ class QuestionSetActorTest extends BaseSpec with MockFactory {
it should "return error response for 'updateHierarchyQuestionSet'" in {
implicit val oec: OntologyEngineContext = mock[OntologyEngineContext]
// val node = getNode("QuestionSet", None)
// node.setIdentifier("do_1234")
// node.getMetadata.putAll(mapAsJavaMap(Map("name" -> "question_1",
// "visibility" -> "Default",
// "code" -> "finemanfine",
// "navigationMode" -> "linear",
// "allowSkip" -> "Yes",
// "requiresSubmit" -> "No",
// "shuffle" -> "Yes",
// "showFeedback" -> "Yes",
// "showSolutions" -> "Yes",
// "showHints" -> "Yes",
// "summaryType" -> "Complete",
// "versionKey" -> "1234",
// "mimeType" -> "application/vnd.sunbird.questionset",
// "primaryCategory" -> "Practice Question Set")))
val request = getInvalidUpdateHierarchyReq()
request.getContext.put("rootId", "do_123")
request.setOperation("updateHierarchy")
......@@ -286,35 +270,20 @@ class QuestionSetActorTest extends BaseSpec with MockFactory {
}
it should "return success response for 'updateHierarchyQuestionSet'" ignore {
it should "return success response for 'updateHierarchyQuestionSet'" in {
implicit val oec: OntologyEngineContext = mock[OntologyEngineContext]
val graphDB = mock[GraphService]
(oec.graphService _).expects().returns(graphDB).anyNumberOfTimes()
val rootNode = getRootNode()
(graphDB.upsertNode(_: String, _: Node, _: Request)).expects(*, *, *).returns(Future(rootNode))
// (graphDB.getNodeByUniqueId(_: String, _: String, _: Boolean, _: Request)).expects(*, *, *, *).returns(Future(getQuestionNode("do_11316399038283776016"))).once()
(graphDB.getNodeByUniqueId(_: String, _: String, _: Boolean, _: Request))
.expects(where { (graphId: String, id: String, getTags: Boolean, request: Request) => StringUtils.equalsIgnoreCase(request.getContext.getOrDefault("schemaName", "QuestionSet").asInstanceOf[String], "Question") })
.returns(Future(getQuestionNode("temp")))
.anyNumberOfTimes()
(graphDB.getNodeByUniqueId(_: String, _: String, _: Boolean, _: Request))
.expects(where { (graphId: String, id: String, getTags: Boolean, request: Request) => StringUtils.equalsIgnoreCase(request.getContext.getOrDefault("schemaName", "QuestionSet").asInstanceOf[String], "QuestionSet") })
.returns(Future(rootNode))
.anyNumberOfTimes()
// (graphDB.getNodeByUniqueId(_: String, _: String, _: Boolean, _: Request)).expects(*, "do_11315445058114355211", *, *).returns(Future(getQuestionNode("do_11315445058114355211"))).once()
// (graphDB.getNodeByUniqueId(_: String, _: String, _: Boolean, _: Request)).expects(*, "do_113178560758022144113", *, *).returns(Future(getQuestionNode("do_113178560758022144113"))).once()
// (graphDB.getNodeByUniqueId(_: String, _: String, _: Boolean, _: Request)).expects(*, "do_1234", *, *).returns(Future(rootNode)).anyNumberOfTimes()
// (graphDB.getNodeByUniqueId(_: String, _: String, _: Boolean, _: Request)).expects(*, "do_1234.img", *, *).returns(Future(rootNode)).anyNumberOfTimes()
// (graphDB.getNodeByUniqueId(_: String, _: String, _: Boolean, _: Request)).expects(*, "do_11315319237189632011", *, *).returns(Future(getQuestionNode("do_11315319237189632011"))).once()
(graphDB.getNodeByUniqueIds(_: String, _: SearchCriteria)).expects(*, *).returns(Future(List(rootNode, getQuestionNode("do_11316399038283776016")).asJava)).anyNumberOfTimes()
(graphDB.readExternalProps(_: Request, _: List[String])).expects(*, *).returns(Future(getCassandraHierarchy())).anyNumberOfTimes
(graphDB.addNode(_: String, _: Node)).expects(*, *).returns(Future(rootNode))
(graphDB.saveExternalProps(_: Request)).expects(*).returns(Future(new Response())).anyNumberOfTimes
(graphDB.getNodeByUniqueId(_: String, _: String, _: Boolean, _: Request)).expects(*, *, *, *).returns(Future(rootNode)).anyNumberOfTimes()
(graphDB.readExternalProps(_: Request, _: List[String])).expects(*, *).returns(Future(getEmptyCassandraHierarchy())).anyNumberOfTimes
(graphDB.updateExternalProps(_: Request)).expects(*).returns(Future(new Response())).anyNumberOfTimes
val request = getUpdateHierarchyReq()
request.getContext.put("rootId", "do_1234")
request.setOperation("updateHierarchy")
val response = callActor(request, Props(new QuestionSetActor()))
assert("success".equals(response.getParams.getStatus))
assert("successful".equals(response.getParams.getStatus))
}
......@@ -420,6 +389,12 @@ class QuestionSetActorTest extends BaseSpec with MockFactory {
response.put("hierarchy", hierarchyString)
}
def getEmptyCassandraHierarchy(): Response = {
// val hierarchyString: String = """{"children":[{"parent":"do_113165166851596288123","totalQuestions":0,"code":"QS_V_Parent_Old","allowSkip":"No","description":"QS-2_parent","language":["English"],"mimeType":"application/vnd.sunbird.questionset","showHints":"No","createdOn":"2020-12-04T15:31:45.948+0530","objectType":"QuestionSet","primaryCategory":"Practice Question Set","lastUpdatedOn":"2020-12-04T15:31:45.947+0530","showSolutions":"No","identifier":"do_11316516745992601613","lastStatusChangedOn":"2020-12-04T15:31:45.948+0530","requiresSubmit":"No","visibility":"Parent","maxQuestions":0,"index":1,"setType":"materialised","languageCode":["en"],"version":1,"versionKey":"1607076105948","showFeedback":"No","depth":1,"name":"QS_V_Parent_2","navigationMode":"non-linear","shuffle":"Yes","status":"Draft"},{"parent":"do_113165166851596288123","totalQuestions":0,"code":"QS_V_Parent_New","allowSkip":"No","description":"QS-1_parent","language":["English"],"mimeType":"application/vnd.sunbird.questionset","showHints":"No","createdOn":"2020-12-04T15:31:45.872+0530","objectType":"QuestionSet","primaryCategory":"Practice Question Set","children":[{"parent":"do_11316516745922969611","identifier":"do_11316399038283776016","lastStatusChangedOn":"2020-12-02T23:36:59.783+0530","code":"question.code","visibility":"Default","index":1,"language":["English"],"mimeType":"application/vnd.sunbird.question","languageCode":["en"],"createdOn":"2020-12-02T23:36:59.783+0530","version":1,"objectType":"Question","versionKey":"1606932419783","depth":2,"primaryCategory":"Practice Question Set","name":"question_1","lastUpdatedOn":"2020-12-02T23:36:59.783+0530","status":"Draft"}],"lastUpdatedOn":"2020-12-04T15:31:45.861+0530","showSolutions":"No","identifier":"do_11316516745922969611","lastStatusChangedOn":"2020-12-04T15:31:45.876+0530","requiresSubmit":"No","visibility":"Parent","maxQuestions":0,"index":2,"setType":"materialised","languageCode":["en"],"version":1,"versionKey":"1607076105872","showFeedback":"No","depth":1,"name":"QS_V_Parent_1","navigationMode":"non-linear","shuffle":"Yes","status":"Draft"},{"identifier":"do_11315445058114355211","parent":"do_113165166851596288123","lastStatusChangedOn":"2020-11-19T12:08:13.854+0530","code":"finemanfine","visibility":"Default","index":4,"language":["English"],"mimeType":"application/vnd.sunbird.question","languageCode":["en"],"createdOn":"2020-11-19T12:08:13.854+0530","version":1,"objectType":"Question","versionKey":"1605767893854","depth":1,"name":"question_1","lastUpdatedOn":"2020-11-19T12:08:13.854+0530","contentType":"Resource","status":"Draft"},{"identifier":"do_11315319237189632011","parent":"do_113165166851596288123","lastStatusChangedOn":"2020-11-17T17:28:23.277+0530","code":"finemanfine","visibility":"Default","index":3,"language":["English"],"mimeType":"application/vnd.sunbird.question","languageCode":["en"],"createdOn":"2020-11-17T17:28:23.277+0530","version":1,"objectType":"Question","versionKey":"1605614303277","depth":1,"name":"question_1","lastUpdatedOn":"2020-11-17T17:28:23.277+0530","contentType":"Resource","status":"Draft"}],"identifier":"do_113165166851596288123"}"""
val response = new Response
response.put("hierarchy", "{}")
}
def getInvalidUpdateHierarchyReq() = {
val nodesModified = "{\n \"do_1234\": {\n \"metadata\": {\n \"code\": \"updated_code_of_root\"\n },\n \"root\": true,\n \"isNew\": false\n },\n \"QS_V_Parent_New\": {\n \"metadata\": {\n \"code\": \"QS_V_Parent\",\n \"name\": \"QS_V_Parent_1\",\n \"description\": \"QS-1_parent\",\n \"mimeType\": \"application/vnd.sunbird.questionset\",\n \"visibility\": \"Parent\",\n \"primaryCategory\": \"Practice Question Set\"\n },\n \"root\": false,\n \"objectType\": \"QuestionSet\",\n \"isNew\": true\n },\n \"QS_V_Parent_Old\": {\n \"metadata\": {\n \"code\": \"QS_V_Parent\",\n \"name\": \"QS_V_Parent_2\",\n \"description\": \"QS-2_parent\",\n \"mimeType\": \"application/vnd.sunbird.questionset\",\n \"visibility\": \"Parent\",\n \"primaryCategory\": \"Practice Question Set\"\n },\n \"root\": false,\n \"objectType\": \"QuestionSet\",\n \"isNew\": true\n },\n \"do_113178560758022144113\": {\n \"metadata\": {\n \"code\": \"Q_NEW_PARENT\",\n \"name\": \"Q_NEW_PARENT\",\n \"description\": \"Q_NEW_PARENT\",\n \"mimeType\": \"application/vnd.sunbird.question\",\n \"visibility\": \"Parent\",\n \"primaryCategory\": \"Practice Question Set\"\n },\n \"root\": false,\n \"objectType\": \"Question\",\n \"isNew\": true\n }\n }"
val hierarchy = "{\n \"do_1234\": {\n \"children\": [\n \"QS_V_Parent_Old\",\n \"QS_V_Parent_New\"\n ],\n \"root\": true\n },\n \"QS_V_Parent_Old\": {\n \"children\": [],\n \"root\": false\n },\n \"QS_V_Parent_New\": {\n \"children\": [\n \"do_113178560758022144113\"\n ],\n \"root\": false\n },\n \"do_113178560758022144113\": {\n\n }\n }"
......@@ -430,8 +405,33 @@ class QuestionSetActorTest extends BaseSpec with MockFactory {
}
def getUpdateHierarchyReq() = {
val nodesModified = "{\n \"do_1234\": {\n \"metadata\": {\n \"code\": \"updated_code_of_root\"\n },\n \"root\": true,\n \"isNew\": false\n },\n \"QS_V_Parent_New\": {\n \"metadata\": {\n \"code\": \"QS_V_Parent\",\n \"name\": \"QS_V_Parent_1\",\n \"description\": \"QS-1_parent\",\n \"mimeType\": \"application/vnd.sunbird.questionset\",\n \"visibility\": \"Parent\",\n \"primaryCategory\": \"Practice Question Set\"\n },\n \"root\": false,\n \"objectType\": \"QuestionSet\",\n \"isNew\": true\n },\n \"QS_V_Parent_Old\": {\n \"metadata\": {\n \"code\": \"QS_V_Parent\",\n \"name\": \"QS_V_Parent_2\",\n \"description\": \"QS-2_parent\",\n \"mimeType\": \"application/vnd.sunbird.questionset\",\n \"visibility\": \"Parent\",\n \"primaryCategory\": \"Practice Question Set\"\n },\n \"root\": false,\n \"objectType\": \"QuestionSet\",\n \"isNew\": true\n },\n \"do_113178560758022144113\": {\n \"metadata\": {\n \"code\": \"Q_NEW_PARENT\",\n \"name\": \"Q_NEW_PARENT\",\n \"description\": \"Q_NEW_PARENT\",\n \"mimeType\": \"application/vnd.sunbird.question\",\n \"visibility\": \"Parent\",\n \"primaryCategory\": \"Practice Question Set\"\n },\n \"root\": false,\n \"objectType\": \"Question\",\n \"isNew\": true\n }\n }"
val hierarchy = "{\n \"do_1234\": {\n \"children\": [\n \"QS_V_Parent_Old\",\n \"QS_V_Parent_New\"\n ],\n \"root\": true\n },\n \"QS_V_Parent_Old\": {\n \"children\": [],\n \"root\": false\n },\n \"QS_V_Parent_New\": {\n \"children\": [\n \"do_113178560758022144113\"\n ],\n \"root\": false\n }\n }"
val nodesModified =
"""
|{
| "UUID": {
| "metadata": {
| "mimeType": "application/vnd.sunbird.questionset",
| "name": "Subjective",
| "primaryCategory": "Practice Question Set",
| "code": "questionset"
| },
| "objectType": "QuestionSet",
| "root": false,
| "isNew": true
| }
| }
""".stripMargin
val hierarchy =
"""
|{
| "do_1234": {
| "children": [
| "UUID"
| ],
| "root": true
| }
| }
""".stripMargin
val request = getQuestionSetRequest()
request.put("nodesModified", JavaJsonUtils.deserialize[java.util.Map[String, AnyRef]](nodesModified))
request.put("hierarchy", JavaJsonUtils.deserialize[java.util.Map[String, AnyRef]](hierarchy))
......@@ -454,18 +454,20 @@ class QuestionSetActorTest extends BaseSpec with MockFactory {
"summaryType" -> "Complete",
"versionKey" -> "1234",
"mimeType" -> "application/vnd.sunbird.questionset",
"primaryCategory" -> "Practice Question Set")))
"primaryCategory" -> "Practice Question Set",
"channel" -> "in.ekstep"
)))
node
}
def getQuestionNode(identifier:String): Node = {
val node = getNode("Question", None)
def getQuestionSetNode(identifier:String): Node = {
val node = getNode("QuestionSet", None)
node.setIdentifier(identifier)
node.getMetadata.putAll(mapAsJavaMap(Map("name" -> "question_1",
"visibility" -> "Default",
"code" -> "finemanfine",
"versionKey" -> "1234",
"mimeType" -> "application/vnd.sunbird.question",
"mimeType" -> "application/vnd.sunbird.questionset",
"primaryCategory" -> "Practice Question Set")))
node
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment