Skip to content

Instantly share code, notes, and snippets.

@laithnurie
laithnurie / LocalServer.kt
Last active January 29, 2025 08:41
Local ktor server
io-ktor = "2.3.11"
io-ktor-ktor-client-android = { module = "io.ktor:ktor-client-android", version.ref = "io-ktor" }
io-ktor-ktor-client-cio = { module = "io.ktor:ktor-client-cio", version.ref = "io-ktor" }
io-ktor-ktor-server-cio = { module = "io.ktor:ktor-server-cio", version.ref = "io-ktor" }
io-ktor-ktor-server-core = { module = "io.ktor:ktor-server-core", version.ref = "io-ktor" }
object LocalServer {
private var server: CIOApplicationEngine? = null
@laithnurie
laithnurie / jacoco.gradle
Created November 5, 2022 12:53
Jacoco Mini
apply plugin: 'jacoco'
task jacocoUnitTestReport(type: JacocoReport, dependsOn: ['testAppDebugUnitTest']) {
reports {
xml.enabled true
html.enabled true
}
def fileFilter = ['**/R.class', '**/R$*.class', '**/BuildConfig.*', '**/Manifest*.*', '**/*Test*.*', 'android/**/*.*']
@laithnurie
laithnurie / gradle
Last active October 20, 2023 09:23
One Jacoco task for one single report for multiple gradle sub modules
apply plugin: 'jacoco'
jacoco {
toolVersion = "0.8.8"
}
task jacocoTestReport(type: JacocoReport, dependsOn: ['testDebugUnitTest', 'createDebugCoverageReport']) {
group "Reporting"
description "Generate Jacoco coverage reports."
@laithnurie
laithnurie / MockServerRule.kt
Last active February 11, 2025 08:49
MockServerRule Test using Ktor
class MockServerRule(
private val appStartUpOverrideMockRequests: List<MockRequest> = emptyList<MockRequest>()
) : TestRule {
private var overrideRequests = mutableMapOf<String, MockRequest>()
override fun apply(
base: Statement,
description: Description
): Statement {