Coverage Summary for Class: MonitoringValidator (cloud.mindbox.mobile_sdk.monitoring.data.validators)

Class Class, % Method, % Branch, % Line, % Instruction, %
MonitoringValidator 100% (1/1) 100% (7/7) 77.8% (14/18) 100% (24/24) 92.8% (103/111)


 package cloud.mindbox.mobile_sdk.monitoring.data.validators
 
 import cloud.mindbox.mobile_sdk.convertToZonedDateTime
 import cloud.mindbox.mobile_sdk.convertToZonedDateTimeWithZ
 import cloud.mindbox.mobile_sdk.models.operation.response.LogRequestDtoBlank
 import cloud.mindbox.mobile_sdk.monitoring.data.room.entities.MonitoringEntity
 import org.threeten.bp.LocalDateTime
 import org.threeten.bp.ZoneOffset
 import org.threeten.bp.format.DateTimeFormatter
 
 internal class MonitoringValidator {
 
     fun validateLogRequestDtoBlank(logRequest: LogRequestDtoBlank): Boolean {
         return validateRequestId(logRequest) && validateDeviceId(logRequest) && validateFrom(
             logRequest
         ) && validateTo(logRequest)
     }
 
     private fun validateRequestId(logRequest: LogRequestDtoBlank): Boolean {
         return logRequest.requestId.isNullOrBlank().not()
     }
 
     private fun validateDeviceId(logRequest: LogRequestDtoBlank): Boolean {
         return logRequest.deviceId.isNullOrBlank().not()
     }
 
     private fun validateFrom(logRequest: LogRequestDtoBlank): Boolean {
         val errorRez = LocalDateTime.parse(
             "1970-01-01T00:00:00",
             DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss")
         )
             .atZone(
                 ZoneOffset.UTC
             )
         return !logRequest.from.isNullOrBlank() && logRequest.from.convertToZonedDateTime() != errorRez
     }
 
     private fun validateTo(logRequest: LogRequestDtoBlank): Boolean {
         val errorRez = LocalDateTime.parse(
             "1970-01-01T00:00:00",
             DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss")
         )
             .atZone(
                 ZoneOffset.UTC
             )
         return !logRequest.to.isNullOrBlank() && logRequest.to.convertToZonedDateTime() != errorRez
     }
 
     fun validateMonitoring(monitoringEntity: MonitoringEntity): Boolean {
         val errorRez = LocalDateTime.parse(
             "1970-01-01T00:00:00",
             DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss")
         ).atZone(
             ZoneOffset.UTC
         )
         return monitoringEntity.time.convertToZonedDateTimeWithZ() != errorRez
     }
 }