• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

hyperledger / identus-cloud-agent / 10807284826

11 Sep 2024 07:46AM CUT coverage: 48.663% (+0.1%) from 48.554%
10807284826

Pull #1332

patlo-iog
test: make test work again

Signed-off-by: Pat Losoponkul <pat.losoponkul@iohk.io>
Pull Request #1332: feat: presentation_submission validation logic [WIP]

92 of 134 new or added lines in 5 files covered. (68.66%)

248 existing lines in 65 files now uncovered.

7478 of 15367 relevant lines covered (48.66%)

0.49 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

66.67
/shared/core/src/main/scala/org/hyperledger/identus/shared/models/Failure.scala
1
package org.hyperledger.identus.shared.models
2

3
import zio.{URIO, ZIO}
4
import zio.json.*
5

6
trait Failure {
7
  def namespace: String
8
  def statusCode: StatusCode
9
  def userFacingMessage: String
10

11
  def toUnmanagedFailureException = UnmanagedFailureException(this)
×
12

13
  def asFailureInfo = FailureInfo(namespace, statusCode, userFacingMessage)
1✔
14
}
15

16
object Failure {
17
  extension [R, E](effect: ZIO[R, Failure, E]) {
18
    def orDieAsUnmanagedFailure: URIO[R, E] = {
1✔
19
      effect.orDieWith(f => UnmanagedFailureException(f))
1✔
20
    }
21
  }
22
}
23

24
final case class FailureInfo(namespace: String, statusCode: StatusCode, userFacingMessage: String) extends Failure
25
object FailureInfo {
26
  given decoder: JsonDecoder[FailureInfo] = DeriveJsonDecoder.gen[FailureInfo]
1✔
UNCOV
27
  given encoder: JsonEncoder[FailureInfo] = DeriveJsonEncoder.gen[FailureInfo]
×
28
}
29

30
case class UnmanagedFailureException(val failure: Failure) extends Throwable {
31
  override def getMessage: String = failure.toString
×
32
}
33

34
sealed case class StatusCode(val code: Int)
35

36
object StatusCode {
37
  val BadRequest: StatusCode = StatusCode(400)
38
  val Unauthorized: StatusCode = StatusCode(401)
39
  val Forbidden: StatusCode = StatusCode(403)
40
  val NotFound: StatusCode = StatusCode(404)
41
  val UnprocessableContent: StatusCode = StatusCode(422)
42

43
  val InternalServerError: StatusCode = StatusCode(500)
44
  val UnexpectedNotImplemented: StatusCode = StatusCode(501)
45
  val BadGateway: StatusCode = StatusCode(502)
46

47
  given decoder: JsonDecoder[StatusCode] = JsonDecoder.int.map(e => StatusCode(e))
1✔
48
  given encoder: JsonEncoder[StatusCode] = JsonEncoder.int.contramap((e: StatusCode) => e.code)
1✔
49
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc