Coverage Summary for Class: MonitoringModuleKt (cloud.mindbox.mobile_sdk.di.modules)
| Class |
Method, %
|
Branch, %
|
Line, %
|
Instruction, %
|
| MonitoringModuleKt |
100%
(1/1)
|
|
100%
(1/1)
|
100%
(7/7)
|
| MonitoringModuleKt$MonitoringModule$1 |
100%
(1/1)
|
|
100%
(12/12)
|
100%
(114/114)
|
| MonitoringModuleKt$MonitoringModule$1$logRequestDataManager$2 |
0%
(0/1)
|
|
0%
(0/1)
|
0%
(0/3)
|
| MonitoringModuleKt$MonitoringModule$1$logResponseDataManager$2 |
0%
(0/1)
|
|
0%
(0/1)
|
0%
(0/3)
|
| MonitoringModuleKt$MonitoringModule$1$logStoringDataChecker$2 |
100%
(1/1)
|
|
100%
(5/5)
|
100%
(21/21)
|
| MonitoringModuleKt$MonitoringModule$1$monitoringDao$2 |
100%
(1/1)
|
|
100%
(1/1)
|
100%
(4/4)
|
| MonitoringModuleKt$MonitoringModule$1$monitoringDatabase$2 |
100%
(1/1)
|
|
100%
(6/6)
|
100%
(20/20)
|
| MonitoringModuleKt$MonitoringModule$1$monitoringInteractor$2 |
0%
(0/1)
|
|
0%
(0/5)
|
0%
(0/15)
|
| MonitoringModuleKt$MonitoringModule$1$monitoringMapper$2 |
100%
(1/1)
|
|
100%
(1/1)
|
100%
(3/3)
|
| MonitoringModuleKt$MonitoringModule$1$monitoringRepository$2 |
100%
(1/1)
|
|
100%
(7/7)
|
100%
(21/21)
|
| Total |
70%
(7/10)
|
|
82.5%
(33/40)
|
90%
(190/211)
|
package cloud.mindbox.mobile_sdk.di.modules
import androidx.room.Room
import cloud.mindbox.mobile_sdk.monitoring.MonitoringInteractorImpl
import cloud.mindbox.mobile_sdk.monitoring.data.checkers.LogStoringDataCheckerImpl
import cloud.mindbox.mobile_sdk.monitoring.data.mappers.MonitoringMapper
import cloud.mindbox.mobile_sdk.monitoring.data.repositories.MonitoringRepositoryImpl
import cloud.mindbox.mobile_sdk.monitoring.data.room.MonitoringDatabase
import cloud.mindbox.mobile_sdk.monitoring.data.room.dao.MonitoringDao
import cloud.mindbox.mobile_sdk.monitoring.domain.interfaces.*
import cloud.mindbox.mobile_sdk.monitoring.domain.managers.LogRequestDataManagerImpl
import cloud.mindbox.mobile_sdk.monitoring.domain.managers.LogResponseDataManagerImpl
import java.io.File
internal const val MONITORING_DATABASE_NAME = "MonitoringDatabase"
internal fun MonitoringModule(
appContextModule: AppContextModule,
apiModule: ApiModule,
dataModule: DataModule,
): MonitoringModule = object : MonitoringModule,
AppContextModule by appContextModule,
ApiModule by apiModule,
DataModule by dataModule {
override val monitoringMapper: MonitoringMapper by lazy { MonitoringMapper() }
override val monitoringRepository: MonitoringRepository by lazy {
MonitoringRepositoryImpl(
monitoringDao = monitoringDao,
monitoringMapper = monitoringMapper,
gson = gson,
logStoringDataChecker = logStoringDataChecker,
monitoringValidator = monitoringValidator,
gatewayManager = gatewayManager
)
}
override val logResponseDataManager: LogResponseDataManager by lazy {
LogResponseDataManagerImpl()
}
override val logRequestDataManager: LogRequestDataManager by lazy {
LogRequestDataManagerImpl()
}
override val logStoringDataChecker: LogStoringDataChecker by lazy {
LogStoringDataCheckerImpl(
File(
"${
appContext.filesDir.absolutePath.replace(
"files",
"databases"
)
}/$MONITORING_DATABASE_NAME"
)
)
}
override val monitoringInteractor: MonitoringInteractor by lazy {
MonitoringInteractorImpl(
mobileConfigRepository = mobileConfigRepository,
monitoringRepository = monitoringRepository,
logResponseDataManager = logResponseDataManager,
logRequestDataManager = logRequestDataManager
)
}
override val monitoringDatabase: MonitoringDatabase by lazy {
Room.databaseBuilder(
appContext,
MonitoringDatabase::class.java,
MONITORING_DATABASE_NAME
)
.fallbackToDestructiveMigration()
.addMigrations(MonitoringDatabase.MIGRATION_1_2)
.build()
}
override val monitoringDao: MonitoringDao by lazy {
monitoringDatabase.monitoringDao()
}
}