Coder Social home page Coder Social logo

trendyol / stove4k Goto Github PK

View Code? Open in Web Editor NEW
97.0 14.0 8.0 5.91 MB

Stove: The easiest way of writing e2e tests for your JVM back-end API with Kotlin

Home Page: https://trendyol.github.io/stove/

License: Apache License 2.0

Kotlin 91.70% Java 7.98% Scala 0.32%
e2e-testing kotlin spring-boot ktor testing-framework testing integration-testing test testing-tools test-automation testcontainers component-testing

stove4k's Introduction

Stove

The easiest way of writing e2e tests for your back-end API in Kotlin

Check the documentation

Warning

Stove is under development and, despite being heavily tested, its API isn't yet stabilized; breaking changes might happen on minor releases. However, we will always provide migration guides.

Report any issue or bug in the GitHub repository.

codecov

Supports

Physical dependencies:

  • Kafka
  • Couchbase
  • HttpClient to make real http calls against the application under test
  • Wiremock to mock all the external dependencies
  • PostgresSql
  • ElasticSearch
  • MongoDB
  • MSSQL
  • Redis

Frameworks:

  • Spring
  • Ktor
  • Quarkus (up for grabs)

Show me the code

Setting-up all the physical dependencies with application

TestSystem(baseUrl = "http://localhost:8001") {
    if (isRunningLocally()) {
        enableReuseForTestContainers()
        keepDendenciesRunning() // this will keep the dependencies running after the tests are finished, so next run will be blazing fast :)
    }
}.with {
    // Enables http client 
    // to make real http calls 
    // against the application under test
    http()

    // Enables Couchbase physically 
    // and exposes the configuration 
    // to the application under test
    couchbase {
        CouchbaseSystemOptions(
            defaultBucket = "Stove",
            configureExposedConfiguration = { cfg -> listOf("couchbase.hosts=${cfg.hostsWithPort}") },
        )
    }

    // Enables Kafka physically 
    // and exposes the configuration 
    // to the application under test
    kafka {
        KafkaSystemOptions(
            configureExposedConfiguration = { cfg -> listOf("kafka.bootstrapServers=${cfg.boostrapServers}") },
        )
    }

    // Enables Wiremock on the given port 
    // and provides configurable mock HTTP server 
    // for your external API calls
    wiremock {
        WireMockSystemOptions(
            port = 9090,
            removeStubAfterRequestMatched = true,
            afterRequest = { e, _, _ ->
                logger.info(e.request.toString())
            },
        )
    }

    // The Application Under Test. 
    // Enables Spring Boot application 
    // to be run with the given parameters.
    springBoot(
        runner = { parameters ->
            stove.spring.example.run(parameters) { it.addTestSystemDependencies() }
        },
        withParameters = listOf(
            "server.port=8001",
            "logging.level.root=warn",
            "logging.level.org.springframework.web=warn",
            "spring.profiles.active=default",
            "kafka.heartbeatInSeconds=2",
        ),
    )
}.run()

Testing the entire application with physical dependencies

TestSystem.validate {
    wiremock {
        mockGet("/example-url", responseBody = None, statusCode = 200)
    }
    
    http {
        get<String>("/hello/index") { actual ->
            actual shouldContain "Hi from Stove framework"
            println(actual)
        }
    }

    couchbase {
        shouldQuery<Any>("SELECT * FROM system:keyspaces") { actual ->
            println(actual)
        }
    }

    kafka {
        shouldBePublished<ExampleMessage> {
            actual.aggregateId == 123 
                    && actual.metadata.topic = "example-topic" 
                    && actual.metadata.headers["example-header"] == "example-value"
        }
        shouldBeConsumed<ExampleMessage> {
            actual.aggregateId == 123
                    && actual.metadata.topic = "example-topic"
                    && actual.metadata.headers["example-header"] == "example-value"
        }
    }

    couchbase {
        save(collection = "Backlogs", id = "id-of-backlog", instance = Backlog("id-of-backlog"))
    }

    http {
        postAndExpectBodilessResponse("/backlog/reserve") { actual ->
            actual.status.shouldBe(200)
        }
    }

    kafka {
        shouldBeConsumed<ProductCreated> {
            actual.aggregateId == expectedId
        }
    }
}

stove4k's People

Contributors

ademekici avatar aksalbilal avatar bramix avatar canerpatir avatar osoykan avatar renovate[bot] avatar trendyol-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

stove4k's Issues

Create a WithDsl for constructing/configuring the entire system

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Edited/Blocked

These updates have been manually edited so Renovate will no longer make changes. To discard all commits and start over, click on a checkbox.

  • Update all dependencies (major) (org.springframework.kafka:spring-kafka, org.springframework:spring-beans, org.springframework:spring-context, org.springframework.kafka:spring-kafka-test, org.springframework.boot, org.springframework.boot:spring-boot-configuration-processor, org.springframework.boot:spring-boot-autoconfigure, org.springframework.boot:spring-boot-starter-actuator, org.springframework.boot:spring-boot-starter-webflux, org.springframework.boot:spring-boot, org.springframework.boot:spring-boot-starter-test)

โš  Dependency Lookup Warnings โš 

  • Renovate failed to look up the following dependencies: plugin.spring.

Files affected: gradle/libs.versions.toml


Other Branches

These updates are pending. To force PRs open, click the checkbox below.

  • Update all dependencies (renovatebot/github-action, org.springframework.boot, org.springframework.boot:spring-boot-configuration-processor, org.springframework.boot:spring-boot-autoconfigure, org.springframework.boot:spring-boot-starter-actuator, org.springframework.boot:spring-boot-starter-webflux, org.springframework.boot:spring-boot, org.springframework.boot:spring-boot-starter-test)

Detected dependencies

github-actions
.github/workflows/build.yml
  • actions/setup-java v3
  • actions/checkout v3
.github/workflows/gradle-publish.yml
  • actions/checkout v3
  • actions/setup-java v3
  • gradle/gradle-build-action v2.3.3
.github/workflows/renovate.yml
  • actions/checkout v3.3.0
  • renovatebot/github-action v34.82.0
gradle
gradle.properties
settings.gradle.kts
build.gradle.kts
buildSrc/build.gradle.kts
buildSrc/src/main/kotlin/coverage.gradle.kts
buildSrc/src/main/kotlin/publishing.gradle.kts
gradle/libs-test.versions.toml
  • org.jetbrains.kotlinx:kotlinx-coroutines-test 1.6.4
  • org.springframework.boot:spring-boot-starter-test 2.7.7
  • org.springframework.kafka:spring-kafka-test 2.9.5
  • org.mockito.kotlin:mockito-kotlin 4.1.0
  • org.junit:junit-bom 5.9.2
  • org.junit.jupiter:junit-jupiter 5.9.2
  • io.kotest:kotest-runner-junit5 5.5.4
  • io.kotest:kotest-property-jvm 5.5.4
  • io.kotest:kotest-framework-api-jvm 5.5.4
  • io.kotest.extensions:kotest-extensions-spring 1.1.2
  • com.github.tomakehurst:wiremock-jre8 2.35.0
  • org.testcontainers:testcontainers 1.17.6
  • org.testcontainers:kafka 1.17.6
  • org.testcontainers:couchbase 1.17.6
gradle/libs.versions.toml
  • org.jetbrains.kotlin:kotlin-stdlib-jdk8 1.8.0
  • org.jetbrains.kotlin:kotlin-reflect 1.8.0
  • org.jetbrains.kotlinx:kotlinx-coroutines-reactor 1.6.4
  • org.jetbrains.kotlinx:kotlinx-coroutines-reactive 1.6.4
  • org.jetbrains.kotlinx:kotlinx-coroutines-core 1.6.4
  • org.jetbrains.kotlinx:kotlinx-coroutines-jdk8 1.6.4
  • org.jetbrains.kotlinx:kotlinx-coroutines-slf4j 1.6.4
  • org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm 1.6.4
  • org.jetbrains.kotlinx:kotlinx-knit 0.4.0
  • io.projectreactor:reactor-core 3.5.2
  • io.projectreactor.kotlin:reactor-kotlin-extensions 1.2.1
  • io.arrow-kt:arrow-core 1.1.5
  • org.apache.kafka:kafka-clients 3.3.2
  • io.github.nomisrev:kotlin-kafka 0.3.0
  • org.springframework.boot:spring-boot 2.7.7
  • org.springframework.boot:spring-boot-starter-webflux 2.7.7
  • org.springframework.boot:spring-boot-starter-actuator 2.7.7
  • org.springframework.boot:spring-boot-autoconfigure 2.7.7
  • org.springframework.boot:spring-boot-configuration-processor 2.7.7
  • org.springframework:spring-context 5.3.25
  • org.springframework:spring-beans 5.3.25
  • org.springframework.kafka:spring-kafka 2.9.5
  • com.couchbase.client:java-client 3.4.2
  • com.couchbase.client:metrics-micrometer 0.4.2
  • com.fasterxml.jackson.module:jackson-module-kotlin 2.14.1
  • com.fasterxml.jackson.core:jackson-databind 2.14.1
  • org.slf4j:slf4j-api 2.0.6
  • org.slf4j:slf4j-simple 2.0.6
  • plugin.spring 1.8.0
  • org.springframework.boot 2.7.7
  • io.spring.dependency-management 1.1.0
  • com.ncorti.ktfmt.gradle 0.11.0
  • org.jlleitschuh.gradle.ktlint 11.0.0
  • org.jetbrains.dokka 1.7.20
  • org.jetbrains.kotlinx.kover 0.6.1
lib/build.gradle.kts
lib/stove-testing-e2e/build.gradle.kts
lib/stove-testing-e2e-couchbase/build.gradle.kts
lib/stove-testing-e2e-http/build.gradle.kts
lib/stove-testing-e2e-kafka/build.gradle.kts
lib/stove-testing-e2e-wiremock/build.gradle.kts
starters/build.gradle.kts
starters/spring/build.gradle.kts
starters/spring/stove-spring-testing-e2e/build.gradle.kts
starters/spring/stove-spring-testing-e2e-kafka/build.gradle.kts
gradle-wrapper
gradle/wrapper/gradle-wrapper.properties
  • gradle 7.6

Support testcontainer-less TestSystem

When using stove in pipelines, we faced some infrastructural issues like image errors, timeout, slow startup time, high memory and cpu usage.

To solve this kind of issues we decide use Stove with shared environments instead of DiD. If we can pass our environment configurations to Stove, Stove doesn't need boot testcontainers any more.

so we need to pass our shared environment configs to Stove like following.

TestSystem("http://localhost:8001").with {
            bridge()
            couchbase {
                CouchbaseSystemOptions.fromInstance("http://localhost:8089","username","password","defaultBucket)
            }
            kafka {
                KafkaSystemOptions.fromInstance("localhost:9001",objectMapper)
            }
        }.run()
    }

with this implementation we can continue to use Stove without any breaking change in tests, we need to change only Test setup.

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Ignored or Blocked

These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

  • Update spring boot to v3 (major) (org.springframework.boot, org.springframework.boot:spring-boot-configuration-processor, org.springframework.boot:spring-boot-autoconfigure, org.springframework.boot:spring-boot-starter-actuator, org.springframework.boot:spring-boot-starter-webflux, org.springframework.boot:spring-boot, org.springframework.boot:spring-boot-starter-test)
  • Update spring core to v6 (major) (org.springframework:spring-beans, org.springframework:spring-context)
  • Update spring kafka to v3 (major) (org.springframework.kafka:spring-kafka, org.springframework.kafka:spring-kafka-test)

Detected dependencies

github-actions
.github/workflows/build.yml
  • actions/setup-java v3
  • actions/checkout v3
.github/workflows/gradle-publish.yml
  • actions/checkout v3
  • actions/setup-java v3
  • gradle/gradle-build-action v2.3.3
gradle
gradle.properties
settings.gradle.kts
build.gradle.kts
buildSrc/build.gradle.kts
buildSrc/src/main/kotlin/coverage.gradle.kts
buildSrc/src/main/kotlin/stove-publishing.gradle.kts
gradle/libs-test.versions.toml
  • org.jetbrains.kotlinx:kotlinx-coroutines-test 1.6.4
  • org.springframework.boot:spring-boot-starter-test 2.7.8
  • org.springframework.kafka:spring-kafka-test 2.9.5
  • org.mockito.kotlin:mockito-kotlin 4.1.0
  • org.junit:junit-bom 5.9.2
  • org.junit.jupiter:junit-jupiter 5.9.2
  • io.kotest:kotest-runner-junit5 5.5.4
  • io.kotest:kotest-property-jvm 5.5.4
  • io.kotest:kotest-framework-api-jvm 5.5.4
  • io.kotest.extensions:kotest-extensions-spring 1.1.2
  • com.github.tomakehurst:wiremock-jre8 2.35.0
  • org.testcontainers:testcontainers 1.17.6
  • org.testcontainers:kafka 1.17.6
  • org.testcontainers:couchbase 1.17.6
gradle/libs.versions.toml
  • org.jetbrains.kotlin:kotlin-stdlib-jdk8 1.8.0
  • org.jetbrains.kotlin:kotlin-reflect 1.8.0
  • org.jetbrains.kotlinx:kotlinx-coroutines-reactor 1.6.4
  • org.jetbrains.kotlinx:kotlinx-coroutines-reactive 1.6.4
  • org.jetbrains.kotlinx:kotlinx-coroutines-core 1.6.4
  • org.jetbrains.kotlinx:kotlinx-coroutines-jdk8 1.6.4
  • org.jetbrains.kotlinx:kotlinx-coroutines-slf4j 1.6.4
  • org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm 1.6.4
  • org.jetbrains.kotlinx:kotlinx-knit 0.4.0
  • io.projectreactor:reactor-core 3.5.2
  • io.projectreactor.kotlin:reactor-kotlin-extensions 1.2.1
  • io.arrow-kt:arrow-core 1.1.5
  • org.apache.kafka:kafka-clients 3.3.2
  • io.github.nomisrev:kotlin-kafka 0.3.0
  • org.springframework.boot:spring-boot 2.7.8
  • org.springframework.boot:spring-boot-starter-webflux 2.7.8
  • org.springframework.boot:spring-boot-starter-actuator 2.7.8
  • org.springframework.boot:spring-boot-autoconfigure 2.7.8
  • org.springframework.boot:spring-boot-configuration-processor 2.7.8
  • org.springframework:spring-context 5.3.25
  • org.springframework:spring-beans 5.3.25
  • org.springframework.kafka:spring-kafka 2.9.5
  • com.couchbase.client:java-client 3.4.2
  • com.couchbase.client:metrics-micrometer 0.4.2
  • com.fasterxml.jackson.module:jackson-module-kotlin 2.14.1
  • com.fasterxml.jackson.core:jackson-databind 2.14.1
  • org.slf4j:slf4j-api 2.0.6
  • org.slf4j:slf4j-simple 2.0.6
  • org.jetbrains.kotlin.plugin.spring 1.8.0
  • org.springframework.boot 2.7.8
  • io.spring.dependency-management 1.1.0
  • com.ncorti.ktfmt.gradle 0.11.0
  • org.jlleitschuh.gradle.ktlint 11.0.0
  • org.jetbrains.dokka 1.7.20
  • org.jetbrains.kotlinx.kover 0.6.1
lib/build.gradle.kts
lib/stove-testing-e2e/build.gradle.kts
lib/stove-testing-e2e-couchbase/build.gradle.kts
lib/stove-testing-e2e-http/build.gradle.kts
lib/stove-testing-e2e-kafka/build.gradle.kts
lib/stove-testing-e2e-wiremock/build.gradle.kts
starters/build.gradle.kts
starters/spring/build.gradle.kts
starters/spring/stove-spring-testing-e2e/build.gradle.kts
starters/spring/stove-spring-testing-e2e-kafka/build.gradle.kts
gradle-wrapper
gradle/wrapper/gradle-wrapper.properties
  • gradle 7.6

Create a validation DSL for TestSystem

Idea

TestSystem { 
   http {
          get<String>("/hello/index") { actual ->
                   actual shouldContain "Hi from Stove framework"
                       println(actual)
            }
    }
   couchbase {
         shouldQuery<Any>("SELECT * FROM system:keyspaces") { actual ->
           println(actual)
       }
   }

  // rest is skipped for brevity
}

Support Quarkus

[Question]
Can someone list what exactly needs to be done to support Quarkus?
I might be able to work on that.

Thanks in advance

Add the occurred exception to the kafka error validations

test("when failing event is published then it should be validated") {
    data class FailingEvent(val id: Long)
    TestSystem.validate {
        kafka {
            publish("trendyol.stove.service.product.failing.0", FailingEvent(5L))
            shouldBeFailedOnCondition<FailingEvent> { actual, exception ->
                actual.id == 5L && exception is BusinessException
            }
            shouldBeFailed(message = FailingEvent(5L), exception = BusinessException("Failing product create event"))
        }
    }
}

Improve WithDsl

Options can be defined better for example:

From:

 wiremock {
        WireMockSystemOptions(
            port = 9090,
            removeStubAfterRequestMatched = true,
            afterRequest = { e, _, _ ->
                logger.info(e.request.toString())
            },
        )
    }

To:

 wiremock {
         port = 9090,
         removeStubAfterRequestMatched = true,
         afterRequest = { e, _, _ ->  logger.info(e.request.toString()) }
 }

Create a Spring example application for show-case

  1. Has an endpoint POST localhost:8001/api/product/create with body ProductCreateCommand(id, name, supplierId: Int) (showcase for: sending a real HTTP request with DefaultHttpSystem)
  2. Has a consumer ProductConsumer that accepts a ProductMessage(id, name, supplierId: Int) (showcase for: publishing a message and seeing that it consumes)
  3. Has an external API call localhost:9090/suppliers/{id}/allowed that returns SupplierPermission(id, isAllowed: Boolean) while creating (showcase for: mocking)
  4. If everything is fine, then save it to the database (both API and Consumer) (showcase for: database system)

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Ignored or Blocked

These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

Detected dependencies

github-actions
.github/workflows/build-recipes.yml
  • actions/setup-java v4
  • actions/checkout v4
  • gradle/gradle-build-action v3.3.2
.github/workflows/build.yml
  • actions/setup-java v4
  • actions/checkout v4
  • gradle/gradle-build-action v3.3.2
  • mi-kas/kover-report v1
  • codecov/codecov-action v4
.github/workflows/gradle-publish-release.yml
  • actions/checkout v4
  • actions/setup-java v4
  • gradle/actions v3
.github/workflows/gradle-publish-snapshot.yml
  • actions/checkout v4
  • actions/setup-java v4
  • gradle/actions v3
.github/workflows/publish-to-ghpages.yml
  • actions/checkout v4
  • peaceiris/actions-gh-pages v4
gradle
buildSrc/src/main/kotlin/BuildConstants.kt
buildSrc/src/main/kotlin/Helpers.kt
recipes/buildSrc/src/main/kotlin/TestFolders.kt
gradle.properties
settings.gradle.kts
build.gradle.kts
buildSrc/settings.gradle.kts
buildSrc/build.gradle.kts
buildSrc/src/main/kotlin/stove-publishing.gradle.kts
gradle/libs.versions.toml
  • org.jetbrains.kotlin:kotlin-stdlib-jdk8 1.9.24
  • org.jetbrains.kotlin:kotlin-reflect 1.9.24
  • org.jetbrains.kotlinx:kotlinx-coroutines-reactor 1.8.1
  • org.jetbrains.kotlinx:kotlinx-coroutines-reactive 1.8.1
  • org.jetbrains.kotlinx:kotlinx-coroutines-core 1.8.1
  • org.jetbrains.kotlinx:kotlinx-coroutines-jdk8 1.8.1
  • org.jetbrains.kotlinx:kotlinx-coroutines-slf4j 1.8.1
  • org.jetbrains.kotlinx:kotlinx-knit 0.5.0
  • io.projectreactor:reactor-core 3.6.6
  • io.projectreactor.kotlin:reactor-kotlin-extensions 1.2.2
  • io.arrow-kt:arrow-core 1.2.4
  • org.apache.kafka:kafka-clients 3.7.0
  • io.github.nomisrev:kotlin-kafka 0.4.0
  • com.couchbase.client:kotlin-client 1.3.2
  • com.couchbase.client:java-client 3.6.2
  • com.couchbase.client:metrics-micrometer 0.6.2
  • com.fasterxml.jackson.module:jackson-module-kotlin 2.17.1
  • com.fasterxml.jackson.core:jackson-databind 2.17.1
  • io.arrow-kt:arrow-integrations-jackson-module 0.14.1
  • com.fasterxml.jackson.datatype:jackson-datatype-jsr310 2.17.1
  • org.slf4j:slf4j-api 2.0.13
  • org.slf4j:slf4j-simple 2.0.13
  • io.ktor:ktor-server-host-common 2.3.11
  • io.ktor:ktor-server 2.3.11
  • io.ktor:ktor-server-call-logging 2.3.11
  • io.ktor:ktor-server-netty 2.3.11
  • io.ktor:ktor-serialization-kotlinx-json 2.3.11
  • io.ktor:ktor-client-core 2.3.11
  • io.ktor:ktor-client-cio 2.3.11
  • io.ktor:ktor-client-okhttp 2.3.11
  • io.ktor:ktor-client-logging 2.3.11
  • io.ktor:ktor-client-content-negotiation 2.3.11
  • io.ktor:ktor-serialization-jackson 2.3.11
  • io.insert-koin:koin-ktor 3.5.6
  • io.insert-koin:koin-logger-slf4j 3.5.6
  • io.r2dbc:r2dbc-spi 1.0.0.RELEASE
  • io.r2dbc:r2dbc-postgresql 0.8.13.RELEASE
  • co.elastic.clients:elasticsearch-java 8.13.4
  • org.mongodb:mongodb-driver-reactivestreams 5.1.0
  • org.wiremock:wiremock-standalone 3.5.4
  • org.testcontainers:testcontainers 1.19.8
  • org.testcontainers:jdbc 1.19.8
  • org.testcontainers:kafka 1.19.8
  • org.testcontainers:couchbase 1.19.8
  • org.testcontainers:postgresql 1.19.8
  • org.testcontainers:elasticsearch 1.19.8
  • org.testcontainers:mongodb 1.19.8
  • org.testcontainers:mssqlserver 1.19.8
  • io.r2dbc:r2dbc-mssql 1.0.2.RELEASE
  • com.microsoft.sqlserver:mssql-jdbc 12.6.1.jre11
  • com.redis.testcontainers:testcontainers-redis-junit 1.6.4
  • io.lettuce:lettuce-core 6.3.2.RELEASE
  • ch.qos.logback:logback-classic 1.5.6
  • org.springframework.boot:spring-boot 2.7.18
  • org.springframework.boot:spring-boot-starter-webflux 2.7.18
  • org.springframework.boot:spring-boot-starter-actuator 2.7.18
  • org.springframework.boot:spring-boot-autoconfigure 2.7.18
  • org.springframework.boot:spring-boot-configuration-processor 2.7.18
  • org.springframework:spring-context 5.3.35
  • org.springframework:spring-beans 5.3.35
  • org.springframework.kafka:spring-kafka 2.9.13
  • org.springframework.boot:spring-boot 3.2.5
  • org.springframework.boot:spring-boot-starter-webflux 3.2.5
  • org.springframework.boot:spring-boot-starter-actuator 3.2.5
  • org.springframework.boot:spring-boot-autoconfigure 3.2.5
  • org.springframework.boot:spring-boot-configuration-processor 3.2.5
  • org.springframework.kafka:spring-kafka 3.1.4
  • org.springframework:spring-context 6.1.7
  • org.springframework:spring-beans 6.1.7
  • io.gitlab.arturbosch.detekt:detekt-formatting 1.23.6
  • com.squareup.wiregrpcserver:server 1.0.0-alpha04
  • com.squareup.wiregrpcserver:server-generator 1.0.0-alpha04
  • com.squareup.wire:wire-grpc-client 5.0.0-alpha01
  • com.squareup.wire:wire-runtime 5.0.0-alpha01
  • io.grpc:grpc-core 1.64.0
  • io.grpc:grpc-stub 1.64.0
  • io.grpc:grpc-protobuf 1.64.0
  • io.grpc:grpc-netty 1.64.0
  • io.grpc:grpc-kotlin-stub 1.4.1
  • com.google.protobuf:protobuf-kotlin 4.26.1
  • com.sksamuel.hoplite:hoplite-core 2.8.0.RC3
  • com.sksamuel.hoplite:hoplite-yaml 2.8.0.RC3
  • com.github.ben-manes.caffeine:caffeine 3.1.8
  • io.exoquery:pprint-kotlin 2.0.2
  • org.mockito.kotlin:mockito-kotlin 5.3.1
  • org.junit:junit-bom 5.10.2
  • org.junit.jupiter:junit-jupiter 5.10.2
  • io.kotest:kotest-runner-junit5 5.9.0
  • io.kotest:kotest-property 5.9.0
  • io.kotest:kotest-framework-api 5.9.0
  • io.ktor:ktor-server-tests-jvm 2.3.11
  • org.jetbrains.kotlin.plugin.spring 1.9.24
  • org.springframework.boot 2.7.18
  • io.spring.dependency-management 1.1.5
  • com.ncorti.ktfmt.gradle 0.18.0
  • org.jmailen.kotlinter 4.3.0
  • org.jetbrains.dokka 1.9.20
  • org.jetbrains.kotlinx.kover 0.8.0
  • com.palantir.git-version 3.0.0
  • com.diffplug.spotless 6.25.0
  • io.gitlab.arturbosch.detekt 1.23.6
  • com.squareup.wire 5.0.0-alpha01
  • com.github.johnrengelman.shadow 8.1.1
  • net.researchgate.release 3.0.2
  • io.github.gradle-nexus.publish-plugin 2.0.0
  • com.adarshr.test-logger 4.0.0
lib/stove-testing-e2e/build.gradle.kts
lib/stove-testing-e2e-couchbase/build.gradle.kts
lib/stove-testing-e2e-elasticsearch/build.gradle.kts
lib/stove-testing-e2e-http/build.gradle.kts
lib/stove-testing-e2e-kafka/build.gradle.kts
lib/stove-testing-e2e-mongodb/build.gradle.kts
lib/stove-testing-e2e-rdbms/build.gradle.kts
lib/stove-testing-e2e-rdbms-mssql/build.gradle.kts
lib/stove-testing-e2e-rdbms-postgres/build.gradle.kts
lib/stove-testing-e2e-redis/build.gradle.kts
lib/stove-testing-e2e-wiremock/build.gradle.kts
recipes/gradle.properties
recipes/settings.gradle.kts
recipes/build.gradle.kts
recipes/buildSrc/settings.gradle.kts
recipes/buildSrc/build.gradle.kts
recipes/gradle/libs.versions.toml
  • org.jetbrains.kotlin:kotlin-stdlib-jdk8 1.9.24
  • org.jetbrains.kotlin:kotlin-reflect 1.9.24
  • org.jetbrains.kotlinx:kotlinx-coroutines-reactor 1.8.1
  • org.jetbrains.kotlinx:kotlinx-coroutines-reactive 1.8.1
  • org.jetbrains.kotlinx:kotlinx-coroutines-core 1.8.1
  • org.jetbrains.kotlinx:kotlinx-coroutines-jdk8 1.8.1
  • org.jetbrains.kotlinx:kotlinx-coroutines-slf4j 1.8.1
  • io.projectreactor:reactor-core 3.6.6
  • io.projectreactor.kotlin:reactor-kotlin-extensions 1.2.2
  • io.arrow-kt:arrow-core 1.2.4
  • io.arrow-kt:arrow-integrations-jackson-module 0.14.1
  • io.arrow-kt:suspendapp 0.4.0
  • io.arrow-kt:suspendapp-ktor 0.4.0
  • io.arrow-kt:arrow-continuations 1.2.4
  • io.arrow-kt:arrow-fx-coroutines 1.2.4
  • io.arrow-kt:arrow-resilience 1.2.4
  • org.springframework.boot:spring-boot 3.2.5
  • org.springframework.boot:spring-boot-starter-webflux 3.2.5
  • org.springframework.boot:spring-boot-starter-actuator 3.2.5
  • org.springframework.boot:spring-boot-autoconfigure 3.2.5
  • org.springframework.boot:spring-boot-configuration-processor 3.2.5
  • org.springframework:spring-context 6.1.7
  • org.springframework:spring-beans 6.1.7
  • org.springframework.kafka:spring-kafka 3.1.4
  • org.apache.kafka:kafka-clients 3.7.0
  • io.github.nomisrev:kotlin-kafka 0.4.0
  • com.couchbase.client:kotlin-client 1.3.2
  • com.couchbase.client:java-client 3.6.2
  • com.couchbase.client:metrics-micrometer 0.6.2
  • com.fasterxml.jackson.module:jackson-module-kotlin 2.17.1
  • com.fasterxml.jackson.core:jackson-databind 2.17.1
  • io.arrow-kt:arrow-integrations-jackson-module 0.14.1
  • com.fasterxml.jackson.datatype:jackson-datatype-jsr310 2.17.1
  • com.fasterxml.jackson.core:jackson-core 2.17.1
  • org.slf4j:slf4j-api 2.0.13
  • org.slf4j:slf4j-simple 2.0.13
  • io.ktor:ktor-server-core-jvm 2.3.11
  • io.ktor:ktor-server-config-yaml 2.3.11
  • io.ktor:ktor-server-content-negotiation-jvm 2.3.11
  • io.ktor:ktor-serialization-kotlinx-json-jvm 2.3.11
  • io.ktor:ktor-serialization-jackson 2.3.11
  • io.ktor:ktor-server-netty-jvm 2.3.11
  • io.ktor:ktor-server-status-pages 2.3.11
  • io.ktor:ktor-server-call-logging 2.3.11
  • io.ktor:ktor-server-auto-head-response 2.3.11
  • io.ktor:ktor-server-caching-headers 2.3.11
  • io.ktor:ktor-server-call-id-jvm 2.3.11
  • io.ktor:ktor-server-conditional-headers 2.3.11
  • io.ktor:ktor-server-cors-jvm 2.3.11
  • io.ktor:ktor-server-default-headers 2.3.11
  • io.github.smiley4:ktor-swagger-ui 2.9.0
  • io.ktor:ktor-client-core 2.3.11
  • io.ktor:ktor-client-cio 2.3.11
  • io.ktor:ktor-client-logging 2.3.11
  • io.ktor:ktor-client-content-negotiation 2.3.11
  • io.insert-koin:koin-core 3.5.6
  • io.insert-koin:koin-ktor 3.5.6
  • io.insert-koin:koin-logger-slf4j 3.5.6
  • io.insert-koin:koin-annotations 1.3.1
  • io.insert-koin:koin-ksp-compiler 1.3.1
  • it.czerwinski:kotlin-util 1.9.1
  • com.sksamuel.cohort:cohort-ktor 2.5.0
  • com.sksamuel.cohort:cohort-logback 2.5.0
  • io.r2dbc:r2dbc-spi 1.0.0.RELEASE
  • io.r2dbc:r2dbc-postgresql 0.8.13.RELEASE
  • co.elastic.clients:elasticsearch-java 8.13.4
  • org.mongodb:mongodb-driver-reactivestreams 5.1.0
  • org.mongodb:bson-kotlin 5.1.0
  • org.mongodb:mongodb-driver-kotlin-coroutine 5.1.0
  • io.github.oshai:kotlin-logging-jvm 6.0.9
  • io.r2dbc:r2dbc-mssql 1.0.2.RELEASE
  • io.lettuce:lettuce-core 6.3.2.RELEASE
  • ch.qos.logback:logback-classic 1.5.6
  • io.gitlab.arturbosch.detekt:detekt-formatting 1.23.6
  • com.sksamuel.hoplite:hoplite-core 2.8.0.RC3
  • com.sksamuel.hoplite:hoplite-yaml 2.8.0.RC3
  • com.trendyol:kediatr-core 3.0.0
  • com.trendyol:kediatr-spring-starter 3.0.0
  • com.trendyol:kediatr-koin-starter 3.0.0
  • org.projectlombok:lombok 1.18.32
  • org.junit:junit-bom 5.10.2
  • org.junit.jupiter:junit-jupiter 5.10.2
  • io.kotest:kotest-runner-junit5 5.9.0
  • io.kotest:kotest-property 5.9.0
  • io.kotest:kotest-framework-api 5.9.0
  • com.trendyol:stove-testing-e2e 1.0.0-SNAPSHOT
  • com.trendyol:stove-spring-testing-e2e 1.0.0-SNAPSHOT
  • com.trendyol:stove-ktor-testing-e2e 1.0.0-SNAPSHOT
  • com.trendyol:stove-spring-testing-e2e-kafka 1.0.0-SNAPSHOT
  • com.trendyol:stove-testing-e2e-kafka 1.0.0-SNAPSHOT
  • com.trendyol:stove-testing-e2e-http 1.0.0-SNAPSHOT
  • com.trendyol:stove-testing-e2e-couchbase 1.0.0-SNAPSHOT
  • com.trendyol:stove-testing-e2e-redis 1.0.0-SNAPSHOT
  • com.trendyol:stove-testing-e2e-wiremock 1.0.0-SNAPSHOT
  • com.trendyol:stove-testing-e2e-elasticsearch 1.0.0-SNAPSHOT
  • com.trendyol:stove-testing-e2e-rdbms-postgres 1.0.0-SNAPSHOT
  • com.trendyol:stove-testing-e2e-mongodb 1.0.0-SNAPSHOT
  • org.scala-lang:scala-library 2.13.14
  • org.jetbrains.kotlin.plugin.spring 1.9.24
  • org.springframework.boot 3.2.5
  • io.spring.dependency-management 1.1.5
  • org.jetbrains.kotlinx.kover 0.8.0
  • com.diffplug.spotless 6.25.0
  • io.gitlab.arturbosch.detekt 1.23.6
  • com.adarshr.test-logger 4.0.0
  • com.google.devtools.ksp 1.9.24-1.0.20
recipes/java-recipes/build.gradle.kts
recipes/java-recipes/spring-boot-recipe/build.gradle.kts
recipes/kotlin-recipes/build.gradle.kts
recipes/kotlin-recipes/ktor-recipe/build.gradle.kts
recipes/kotlin-recipes/spring-boot-recipe/build.gradle.kts
recipes/scala-recipes/build.gradle.kts
recipes/scala-recipes/spring-boot-recipe/build.gradle.kts
recipes/shared/application/build.gradle.kts
recipes/shared/domain/build.gradle.kts
starters/ktor/stove-ktor-testing-e2e/build.gradle.kts
starters/spring/stove-spring-testing-e2e/build.gradle.kts
starters/spring/stove-spring-testing-e2e-kafka/build.gradle.kts
gradle-wrapper
gradle/wrapper/gradle-wrapper.properties
  • gradle 8.7
recipes/gradle/wrapper/gradle-wrapper.properties
  • gradle 8.7

  • Check this box to trigger a request for Renovate to run again on this repository

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.