/** * Generated by API Builder - https://www.apibuilder.io * Service version: 0.0.1-dev * User agent: apibuilder app.apibuilder.io/shopr/clickouts-api/0.0.1-dev/http4s_0_23 */ package com.shopr.api.clickouts.api.v0.mock { class Client[F[_]: cats.Applicative] extends com.shopr.api.clickouts.api.v0.interfaces.Client[F] { val baseUrl: org.http4s.Uri = org.http4s.Uri.unsafeFromString("http://mock.localhost") override def clickouts: com.shopr.api.clickouts.api.v0.Clickouts[F] = new MockClickouts[F] override def statuses: com.shopr.api.clickouts.api.v0.Statuses[F] = new MockStatuses[F] } class MockClickouts[F[_]: cats.Applicative] extends com.shopr.api.clickouts.api.v0.Clickouts[F] { /** * Create a new click-out. Requests are accepted for eventual processing. * * @param fingerprint User fingerprint used for correlation purposes. */ def post( fingerprint: String, clickout: com.shopr.api.clickouts.api.v0.models.Clickout, requestHeaders: Seq[(String, String)] = Nil ): F[String] = cats.Applicative[F].pure { Factories.randomString() } } class MockStatuses[F[_]: cats.Applicative] extends com.shopr.api.clickouts.api.v0.Statuses[F] { /** * Ping in milliseconds. */ def getPing( requestHeaders: Seq[(String, String)] = Nil ): F[com.shopr.api.clickouts.api.v0.models.Status] = cats.Applicative[F].pure { com.shopr.api.clickouts.api.v0.mock.Factories.makeStatus() } /** * Current health check status. */ def getStatus( requestHeaders: Seq[(String, String)] = Nil ): F[com.shopr.api.clickouts.api.v0.models.Status] = cats.Applicative[F].pure { com.shopr.api.clickouts.api.v0.mock.Factories.makeStatus() } /** * API version. */ def getVersion( 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 makeClientOrigin(): com.shopr.api.clickouts.api.v0.models.ClientOrigin = com.shopr.api.clickouts.api.v0.models.ClientOrigin.ShoprWebsite def makeClickout(): com.shopr.api.clickouts.api.v0.models.Clickout = com.shopr.api.clickouts.api.v0.models.Clickout( productId = Factories.randomString(24), seller = Factories.randomString(24), sellerProductId = Factories.randomString(24), price = BigDecimal("1"), deepUrl = Factories.randomString(24), lowestPrice = BigDecimal("1"), highestPrice = BigDecimal("1"), offerCount = 1, offerPosition = 1, categoryId = Factories.randomString(24), tracking = com.shopr.api.clickouts.api.v0.mock.Factories.makeTracking(), creationTime = _root_.java.time.Instant.now ) def makeErrorCode(): com.shopr.api.clickouts.api.v0.models.ErrorCode = com.shopr.api.clickouts.api.v0.models.ErrorCode( code = Factories.randomString(24), localizedStringCode = Factories.randomString(24) ) def makeErrorResponse(): com.shopr.api.clickouts.api.v0.models.ErrorResponse = com.shopr.api.clickouts.api.v0.models.ErrorResponse( message = None, errorCodes = Nil, fingerprint = None ) def makeStatus(): com.shopr.api.clickouts.api.v0.models.Status = com.shopr.api.clickouts.api.v0.models.Status( response = Factories.randomString(24) ) def makeTracking(): com.shopr.api.clickouts.api.v0.models.Tracking = com.shopr.api.clickouts.api.v0.models.Tracking( ipAddress = Factories.randomString(24), origin = com.shopr.api.clickouts.api.v0.mock.Factories.makeClientOrigin(), userAgent = None, referrer = None ) } }