All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.http4k.connect.amazon.apprunner.FakeAppRunner.kt Maven / Gradle / Ivy

There is a newer version: 5.45.1.0
Show newest version
package org.http4k.connect.amazon.apprunner

import org.http4k.aws.AwsCredentials
import org.http4k.chaos.ChaoticHttpHandler
import org.http4k.chaos.start
import org.http4k.connect.amazon.AwsJsonFake
import org.http4k.connect.amazon.apprunner.action.Service
import org.http4k.connect.amazon.apprunner.endpoints.createService
import org.http4k.connect.amazon.apprunner.endpoints.deleteService
import org.http4k.connect.amazon.apprunner.endpoints.listServices
import org.http4k.connect.amazon.core.model.AwsService
import org.http4k.connect.amazon.core.model.Region
import org.http4k.connect.storage.InMemory
import org.http4k.connect.storage.Storage
import org.http4k.routing.routes
import java.time.Clock

class FakeAppRunner(val records: Storage = Storage.InMemory()) : ChaoticHttpHandler() {

    private val api = AwsJsonFake(AppRunnerMoshi, AwsService.of("AppRunner"))

    override val app = routes(
        api.createService(records),
        api.deleteService(records),
        api.listServices(records)
    )

    /**
     * Convenience function to get AppRunner client
     */
    fun client() = AppRunner.Http(
        Region.of("ldn-north-1"),
        { AwsCredentials("accessKey", "secret") }, this, Clock.systemUTC()
    )
}

fun main() {
    FakeAppRunner().start()
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy