Coverage Summary for Class: FindMatchingRuleUseCaseImpl (dev.skymansandy.wiretap.domain.usecase)
| Class |
Method, %
|
Branch, %
|
Line, %
|
Instruction, %
|
| FindMatchingRuleUseCaseImpl |
100%
(2/2)
|
100%
(2/2)
|
100%
(7/7)
|
100%
(47/47)
|
| FindMatchingRuleUseCaseImpl$invoke$1 |
|
| Total |
100%
(2/2)
|
100%
(2/2)
|
100%
(7/7)
|
100%
(47/47)
|
/*
* Copyright (c) 2026 skymansandy. All rights reserved.
*/
package dev.skymansandy.wiretap.domain.usecase
import dev.skymansandy.wiretap.domain.model.WiretapRule
import dev.skymansandy.wiretap.domain.repository.RuleRepository
internal class FindMatchingRuleUseCaseImpl(
private val ruleRepository: RuleRepository,
) : FindMatchingRuleUseCase {
override suspend fun invoke(
url: String,
method: String,
headers: Map<String, String>,
body: String?,
): WiretapRule? {
return ruleRepository.getEnabledRules()
.firstOrNull { rule ->
val matchesMethod = RuleMatcher.matchesMethod(method, rule.method)
val matchesCriteria = RuleMatcher.matchesAllCriteria(rule, url, headers, body)
matchesMethod && matchesCriteria
}
}
}