Coverage Summary for Class: Md5Hash (cloud.mindbox.mobile_sdk.monitoring.domain.models)

Class Method, % Branch, % Line, % Instruction, %
Md5Hash 100% (1/1) 100% (1/1) 100% (6/6)
Md5Hash$Companion 100% (2/2) 100% (5/5) 100% (36/36)
Md5Hash$Companion$ofDeviceUuid$1 100% (1/1) 100% (1/1) 100% (22/22)
Total 100% (4/4) 100% (7/7) 100% (64/64)


 package cloud.mindbox.mobile_sdk.monitoring.domain.models
 
 import org.threeten.bp.ZonedDateTime
 import java.security.MessageDigest
 
 internal data class LogRequest(
     val requestId: String,
     val target: Md5Hash,
     val from: ZonedDateTime,
     val to: ZonedDateTime,
 )
 
 @JvmInline
 internal value class Md5Hash private constructor(private val hex: String) {
 
     companion object {
         fun ofHex(hex: String): Md5Hash = Md5Hash(hex.lowercase())
 
         fun ofDeviceUuid(deviceUuid: String): Md5Hash = Md5Hash(
             MessageDigest.getInstance("MD5")
                 .digest(deviceUuid.lowercase().toByteArray(Charsets.UTF_8))
                 .joinToString(separator = "") { byte -> "%02x".format(byte) }
         )
     }
 }