Skip to content

Commit

Permalink
#1434 test cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
naleeha authored and keikeicheung committed Sep 5, 2024
1 parent 26b6241 commit d38ba3f
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 31 deletions.
42 changes: 21 additions & 21 deletions vuu/src/test/scala/org/finos/vuu/wsapi/TableWSApiTest.scala
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import org.finos.vuu.core.IVuuServer
import org.finos.vuu.core.module.{ModuleFactory, ViewServerModule}
import org.finos.vuu.core.table.{DataTable, TableContainer}
import org.finos.vuu.net.rpc.DefaultRpcHandler
import org.finos.vuu.net.{ErrorResponse, GetTableMetaRequest, GetTableMetaResponse}
import org.finos.vuu.net.{ErrorResponse, GetTableMetaRequest, GetTableMetaResponse, ViewPortRpcResponse}
import org.finos.vuu.provider.{Provider, ProviderContainer}
import org.finos.vuu.viewport.ViewPortTable
import org.finos.vuu.wsapi.helpers.TestExtension.ModuleFactoryExtension
Expand All @@ -20,48 +20,48 @@ class TableWSApiTest extends WebSocketApiTestBase {
Feature("Server web socket api") {
Scenario("client requests to get table metadata for a table") {

vuuClient.send(sessionId, tokenId, GetTableMetaRequest(ViewPortTable("TableMetaTest", moduleName)))
val requestId = vuuClient.send(sessionId, tokenId, GetTableMetaRequest(ViewPortTable("TableMetaTest", moduleName)))

Then("return view port columns in response")
val response = vuuClient.awaitForMsgWithBody[GetTableMetaResponse]
assert(response.isDefined)
val response = vuuClient.awaitForResponse(requestId)

val responseMessage = response.get
responseMessage.columns.length shouldEqual 2
responseMessage.columns shouldEqual Array("Id", "Account")
val responseBody = assertBodyIsInstanceOf[GetTableMetaResponse](response)
responseBody.columns.length shouldEqual 2
responseBody.columns shouldEqual Array("Id", "Account")
}

Scenario("client requests to get table metadata for a table with no view port def defined") {

vuuClient.send(sessionId, tokenId, GetTableMetaRequest(ViewPortTable("TableMetaDefaultVPTest", moduleName)))
val requestId = vuuClient.send(sessionId, tokenId, GetTableMetaRequest(ViewPortTable("TableMetaDefaultVPTest", moduleName)))

Then("return table columns as default view port columns in response")
val response = vuuClient.awaitForMsgWithBody[GetTableMetaResponse]
assert(response.isDefined)
val response = vuuClient.awaitForResponse(requestId)

val responseMessage = response.get
responseMessage.columns.length shouldEqual 1
responseMessage.columns shouldEqual Array("Id")
val responseBody = assertBodyIsInstanceOf[GetTableMetaResponse](response)
responseBody.columns.length shouldEqual 1
responseBody.columns shouldEqual Array("Id")
}

Scenario("client requests to get table metadata for a non existent") {

vuuClient.send(sessionId, tokenId, GetTableMetaRequest(ViewPortTable("DoesNotExist", moduleName)))
val requestId = vuuClient.send(sessionId, tokenId, GetTableMetaRequest(ViewPortTable("DoesNotExist", moduleName)))

Then("return error response with helpful message")
val response = vuuClient.awaitForMsgWithBody[ErrorResponse]
assert(response.isDefined)
response.get.msg shouldEqual "No such table found with name DoesNotExist in module " + moduleName
val response = vuuClient.awaitForResponse(requestId)

val responseBody = assertBodyIsInstanceOf[ErrorResponse](response)
responseBody.msg shouldEqual "No such table found with name DoesNotExist in module " + moduleName
}

Scenario("client requests to get table metadata for null table name") {

vuuClient.send(sessionId, tokenId, GetTableMetaRequest(ViewPortTable(null, moduleName)))
val requestId = vuuClient.send(sessionId, tokenId, GetTableMetaRequest(ViewPortTable(null, moduleName)))

Then("return error response with helpful message")
val response = vuuClient.awaitForMsgWithBody[ErrorResponse]
assert(response.isDefined)
response.get.msg shouldEqual "No such table found with name null in module " + moduleName + ". Table name and module should not be null"
val response = vuuClient.awaitForResponse(requestId)

val responseBody = assertBodyIsInstanceOf[ErrorResponse](response)
responseBody.msg shouldEqual "No such table found with name null in module " + moduleName + ". Table name and module should not be null"
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -163,13 +163,6 @@ class TypeAheadWSApiTest extends WebSocketApiTestBase {
}
}

private def assertBodyIsInstanceOf[BodyType](response: Option[ViewServerMessage]): BodyType = {
response.isDefined shouldBe true
assert(response.get.body.isInstanceOf[BodyType])
val responseBody = response.get.body.asInstanceOf[BodyType]
responseBody
}

protected def defineModuleWithTestTables(): ViewServerModule = {
val tableDef = TableDef(
name = tableName,
Expand Down Expand Up @@ -259,6 +252,7 @@ class TypeAheadWSApiTest extends WebSocketApiTestBase {
))
}


private def assertResponseReturns(response:ViewPortRpcResponse, expectedResult: Any) = {
val action = response.action
action shouldBe a[DisplayResultAction]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,5 +87,12 @@ abstract class WebSocketApiTestBase extends AnyFeatureSpec with BeforeAndAfterAl

protected def defineModuleWithTestTables(): ViewServerModule

protected def assertBodyIsInstanceOf[BodyType](response: Option[ViewServerMessage]): BodyType = {
response.isDefined shouldBe true
assert(response.get.body.isInstanceOf[BodyType])
val responseBody = response.get.body.asInstanceOf[BodyType]
responseBody
}

}

Original file line number Diff line number Diff line change
Expand Up @@ -87,9 +87,9 @@ class TestVuuClient(vsClient: ViewServerClient) extends StrictLogging{
expectedBodyType.isAssignableFrom(msg.body.getClass)
}

private def lookupFromReceivedResponses(requestId: String): Option[ViewServerMessage] = {
Option(responsesMap.get(requestId))
}
private def lookupFromReceivedResponses(requestId: String): Option[ViewServerMessage] =
Option(responsesMap.remove(requestId))


private def createViewServerMessage(sessionId: String, token: String, body: MessageBody): ViewServerMessage = {
JsonViewServerMessage(RequestId.oneNew(),
Expand Down

0 comments on commit d38ba3f

Please sign in to comment.