/** * Generated by API Builder - https://www.apibuilder.io * Service version: 1.1.0 * User agent: apibuilder app.apibuilder.io/paintbatch-com/paint-batch-optimizer/1.1.0/http4s_0_20 */ package com.paintbatch.mock { class Client[F[_]: cats.Applicative] extends com.paintbatch.interfaces.Client[F] { val baseUrl: org.http4s.Uri = org.http4s.Uri.unsafeFromString("http://mock.localhost") override def healthchecks: com.paintbatch.Healthchecks[F] = new MockHealthchecks[F] override def optimizeRequests: com.paintbatch.OptimizeRequests[F] = new MockOptimizeRequests[F] } class MockHealthchecks[F[_]: cats.Applicative] extends com.paintbatch.Healthchecks[F] { /** * GET health of service */ def getHealthcheck( requestHeaders: Seq[(String, String)] = Nil ): F[com.paintbatch.models.Healthcheck] = cats.Applicative[F].pure { com.paintbatch.mock.Factories.makeHealthcheck() } } class MockOptimizeRequests[F[_]: cats.Applicative] extends com.paintbatch.OptimizeRequests[F] { /** * POST minimum cost paint batch optimizer request */ def postOptimize( optimizeRequest: com.paintbatch.models.OptimizeRequest, requestHeaders: Seq[(String, String)] = Nil ): F[String] = cats.Applicative[F].pure { Factories.randomString() } } object Factories { def randomString(length: Int = 24): String = { _root_.scala.util.Random.alphanumeric.take(length).mkString } def makeSheen(): com.paintbatch.models.Sheen = com.paintbatch.models.Sheen.Matte def makeStatus(): com.paintbatch.models.Status = com.paintbatch.models.Status.Ok def makeDemand(): com.paintbatch.models.Demand = com.paintbatch.models.Demand( paints = Nil ) def makeHealthcheck(): com.paintbatch.models.Healthcheck = com.paintbatch.models.Healthcheck( status = com.paintbatch.mock.Factories.makeStatus() ) def makeOptimizeRequest(): com.paintbatch.models.OptimizeRequest = com.paintbatch.models.OptimizeRequest( colors = 1, customers = 1, demands = Nil ) def makePaint(): com.paintbatch.models.Paint = com.paintbatch.models.Paint( id = 1, sheen = com.paintbatch.mock.Factories.makeSheen() ) def makeReadableError(): com.paintbatch.models.ReadableError = com.paintbatch.models.ReadableError( text = Factories.randomString(24) ) } }