Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 4 additions & 14 deletions src/main/scala/dpla/api/Routes.scala
Original file line number Diff line number Diff line change
Expand Up @@ -410,9 +410,9 @@ class Routes(
case SmrArchiveSuccess =>
complete(smrArchiveSuccessMessage)
case NewApiKey(email) =>
complete(newKeyMessage(email))
complete(apiKeyMessage(email))
case ExistingApiKey(email) =>
complete(existingKeyResponse(email))
complete(apiKeyMessage(email))
case DisabledApiKey(email) =>
complete(disabledKeyResponse(email))
case NotFoundFailure =>
Expand Down Expand Up @@ -506,16 +506,6 @@ class Routes(
entity = errorEntity("bad_request", message)
)

private def existingKeyResponse(email: String): HttpResponse =
HttpResponse(
Conflict,
entity = errorEntity(
"existing_key",
s"There is already an API key for $email" +
". We have sent a reminder message to that address."
)
)

private def disabledKeyResponse(email: String): HttpResponse =
HttpResponse(
Conflict,
Expand All @@ -527,8 +517,8 @@ class Routes(
)
)

private def newKeyMessage(email: String): String =
s"API key created and sent to $email."
private def apiKeyMessage(email: String): String =
s"Your API key has been sent to $email."

private val smrArchiveSuccessMessage: String =
s"Your request has been received."
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ object MockPostgresClientExistingKey {
case ValidApiKey(_, _) =>
Behaviors.unhandled

case ValidEmail(_, replyTo) =>
replyTo ! AccountFound(account)
case ValidEmail(email, replyTo) =>
replyTo ! AccountFound(account.copy(email = email))
Behaviors.same

case _ =>
Expand Down
6 changes: 3 additions & 3 deletions src/test/scala/dpla/api/v2/endToEnd/PostgresErrorTest.scala
Original file line number Diff line number Diff line change
Expand Up @@ -44,16 +44,16 @@ class PostgresErrorTest extends AnyWordSpec with Matchers
}

"/api_key/[email] route" should {
"return Conflict if email has existing api key" in {
"return OK if email has existing api key" in {
lazy val routes: Route =
new Routes(itemRegistry, pssRegistry,
apiKeyRegistryExistingKey, smrRegistry).applicationRoutes

val request = Post("/v2/api_key/email@example.com")

request ~> Route.seal(routes) ~> check {
status shouldEqual StatusCodes.Conflict
contentType should === (ContentTypes.`application/json`)
status shouldEqual StatusCodes.OK
entityAs[String] shouldEqual "Your API key has been sent to email@example.com."
Comment thread
KevinPayravi marked this conversation as resolved.
}
}
}
Expand Down
Loading