From 5dd1c42010e6a2959077b3b00716429a2152d919 Mon Sep 17 00:00:00 2001 From: Felipe D'Abrantes <felidabrantes@gmail> Date: Thu, 13 Apr 2023 17:22:51 +0100 Subject: [PATCH] Add query parameters to test endpoints --- .../feed-service/app/controllers/TestController.scala | 9 +++++++-- backend-services/feed-service/app/models/HttpCall.scala | 6 ++++-- backend-services/feed-service/app/models/User.scala | 4 ++-- .../app/models/actions/AuthenticationRequest.scala | 2 +- backend-services/feed-service/conf/routes | 4 ++-- 5 files changed, 16 insertions(+), 9 deletions(-) diff --git a/backend-services/feed-service/app/controllers/TestController.scala b/backend-services/feed-service/app/controllers/TestController.scala index cdcb4ea3..eb197e73 100644 --- a/backend-services/feed-service/app/controllers/TestController.scala +++ b/backend-services/feed-service/app/controllers/TestController.scala @@ -12,8 +12,10 @@ import play.api.libs.json.JsBoolean @Singleton class TestController @Inject()(val controllerComponents: ControllerComponents) extends BaseController { - def getFriends() = Action { + def getFriends(userId: String) = Action { println("TestController:getFriends") + println(s"Fetching friends for User with ID {$userId}") + val response = JsArray( Seq( JsString("641128f7e80bcd1ba39d04ae"), @@ -25,7 +27,10 @@ class TestController @Inject()(val controllerComponents: ControllerComponents) e Ok(response) } - def verifyUser() = Action { + def verifyUser(userId: String) = Action { + println("TestController:verifyUser") + println(s"Verifying User with ID {$userId}") + Ok(JsBoolean(true)) } } diff --git a/backend-services/feed-service/app/models/HttpCall.scala b/backend-services/feed-service/app/models/HttpCall.scala index 0ccb752d..7a35b888 100644 --- a/backend-services/feed-service/app/models/HttpCall.scala +++ b/backend-services/feed-service/app/models/HttpCall.scala @@ -18,7 +18,7 @@ object HttpCall { * * @return a Future containing the response body as a JSON. */ - def get(url: String): Future[JsValue] = { + def get(url: String, queryStringParameters: (String, String)*): Future[JsValue] = { // Create ActorSystem for thread and streaming management implicit val system: ActorSystem = ActorSystem() @@ -29,7 +29,9 @@ object HttpCall { val wsClient: StandaloneAhcWSClient = StandaloneAhcWSClient() // Call API and fetch response - val response: Future[JsValue] = wsClient.url(url).get().map { response => + val response: Future[JsValue] = wsClient.url(url).addQueryStringParameters(queryStringParameters: _*).get().map { response => + if (response.status > 399) throw new RuntimeException() + val statusText: String = response.statusText println(s"Got a response: $statusText") response.body[JsValue] diff --git a/backend-services/feed-service/app/models/User.scala b/backend-services/feed-service/app/models/User.scala index 542cc71c..ecd569c3 100644 --- a/backend-services/feed-service/app/models/User.scala +++ b/backend-services/feed-service/app/models/User.scala @@ -12,7 +12,7 @@ object User { def getUserFriends(userId: ObjectId): Future[Seq[ObjectId]] = { println(s"Fetching friends for user with ID {$userId}") - HttpCall.get("http://localhost:9000/test/getFriends").map[Seq[ObjectId]]((json: JsValue) => { + HttpCall.get("http://localhost:9000/test/getFriends", ("userId", userId.toString())).map[Seq[ObjectId]]((json: JsValue) => { val sequence: Seq[String] = json.as[Seq[String]] sequence.map[ObjectId](new ObjectId(_)) }) @@ -21,6 +21,6 @@ object User { def userExists(userId: ObjectId): Future[Boolean] = { println(s"Verifying user with ID {$userId} exists") - HttpCall.get("http://localhost:9000/test/verifyUser").map[Boolean](_.as[Boolean]) + HttpCall.get("http://localhost:9000/test/verifyUser", ("userId", userId.toString())).map[Boolean](_.as[Boolean]) } } diff --git a/backend-services/feed-service/app/models/actions/AuthenticationRequest.scala b/backend-services/feed-service/app/models/actions/AuthenticationRequest.scala index cf6333b7..3bd5452f 100644 --- a/backend-services/feed-service/app/models/actions/AuthenticationRequest.scala +++ b/backend-services/feed-service/app/models/actions/AuthenticationRequest.scala @@ -58,7 +58,7 @@ class AuthenticationTransformer @Inject() (implicit val executionContext: Execut } catch { case ex: Throwable => { - println(ex) + println(s"JWT Error: $ex") None } } diff --git a/backend-services/feed-service/conf/routes b/backend-services/feed-service/conf/routes index 86511244..3a0a580f 100644 --- a/backend-services/feed-service/conf/routes +++ b/backend-services/feed-service/conf/routes @@ -22,6 +22,6 @@ PUT /daily/like controllers.DailyController.like() PUT /daily/unlike controllers.DailyController.unlike() -GET /test/getFriends controllers.TestController.getFriends() +GET /test/getFriends controllers.TestController.getFriends(userId: String) -GET /test/verifyUser controllers.TestController.verifyUser() +GET /test/verifyUser controllers.TestController.verifyUser(userId: String) -- GitLab