Coverage Summary for Class: MindboxError (cloud.mindbox.mobile_sdk.models)

Class Method, % Branch, % Line, % Instruction, %
MindboxError 100% (3/3) 100% (3/3) 100% (18/18)
MindboxError$Companion 100% (1/1) 100% (1/1) 100% (5/5)
MindboxError$Companion$gson$2 100% (1/1) 100% (1/1) 100% (3/3)
MindboxError$InternalServer 100% (1/1) 100% (6/6) 100% (31/31)
MindboxError$Protocol 100% (1/1) 100% (6/6) 100% (31/31)
MindboxError$Unknown 100% (1/1) 100% (1/1) 100% (18/18)
MindboxError$UnknownServer 100% (2/2) 100% (7/7) 100% (48/48)
MindboxError$Validation 100% (1/1) 100% (4/4) 100% (21/21)
Total 100% (11/11) 100% (29/29) 100% (175/175)


 package cloud.mindbox.mobile_sdk.models
 
 import com.google.gson.Gson
 import com.google.gson.annotations.JsonAdapter
 
 /**
  * A class for representing Mindbox error.
  * Used in operations.
  * */
 public sealed class MindboxError(public open val statusCode: Int?) {
 
     private companion object {
 
         private val gson by lazy { Gson() }
     }
 
     public fun toJson(): String = gson.toJson(this)
 
     @JsonAdapter(MindboxErrorAdapter::class)
     public data class Validation(
         override val statusCode: Int,
         val status: String,
         val validationMessages: List<ValidationMessage>,
     ) : MindboxError(statusCode)
 
     @JsonAdapter(MindboxErrorAdapter::class)
     public data class Protocol(
         override val statusCode: Int,
         val status: String,
         val errorMessage: String?,
         val errorId: String?,
         val httpStatusCode: Int?,
     ) : MindboxError(statusCode)
 
     @JsonAdapter(MindboxErrorAdapter::class)
     public data class InternalServer(
         override val statusCode: Int,
         val status: String,
         val errorMessage: String?,
         val errorId: String?,
         val httpStatusCode: Int?,
     ) : MindboxError(statusCode)
 
     @JsonAdapter(MindboxErrorAdapter::class)
     public data class UnknownServer(
         override val statusCode: Int? = null,
         val status: String? = null,
         val errorMessage: String? = null,
         val errorId: String? = null,
         val httpStatusCode: Int? = null,
     ) : MindboxError(statusCode) {
 
         public constructor() : this(errorMessage = "Cannot reach server")
     }
 
     @JsonAdapter(MindboxErrorAdapter::class)
     public data class Unknown(val throwable: Throwable? = null) : MindboxError(null)
 }