/** * Generated by API Builder - https://www.apibuilder.io * Service version: 0.0.1-dev * User agent: apibuilder app.apibuilder.io/platforminitiative/customer-api/0.0.1-dev/http4s_0_22 */ package platform.ibm.com.customer.api.v0.mock { class Client[F[_]: cats.Applicative] extends platform.ibm.com.customer.api.v0.interfaces.Client[F] { val baseUrl: org.http4s.Uri = org.http4s.Uri.unsafeFromString("http://mock.localhost") override def customers: platform.ibm.com.customer.api.v0.Customers[F] = new MockCustomers[F] } class MockCustomers[F[_]: cats.Applicative] extends platform.ibm.com.customer.api.v0.Customers[F] { /** * Search for a specific customer. You must specify at least 1 parameter - either a * guid, email or token - and will receive back either 0 or 1 users. * * @param financialAccountNumber Find customer with this financialAccountNumber. Exact match * @param email Find user with this email address. Case in-sensitive. Exact match * @param customerName Find user with the specified nickname. For users that register via GitHub, this * will be their GitHub username. Case in-sensitive. Exact match */ def getCustomers( financialAccountNumber: _root_.scala.Option[_root_.java.util.UUID] = None, email: _root_.scala.Option[String] = None, customerName: _root_.scala.Option[String] = None, requestHeaders: Seq[(String, String)] = Nil ): F[Seq[platform.ibm.com.customer.api.v0.models.Customer]] = cats.Applicative[F].pure { Nil } /** * Returns information about the user with this financialAccountNumber. */ def getByCustomerName( customerName: String, requestHeaders: Seq[(String, String)] = Nil ): F[platform.ibm.com.customer.api.v0.models.Customer] = cats.Applicative[F].pure { platform.ibm.com.customer.api.v0.mock.Factories.makeCustomer() } /** * Create a new customer. */ def postCustomers( customerCreateForm: platform.ibm.com.customer.api.v0.models.CustomerCreateForm, requestHeaders: Seq[(String, String)] = Nil ): F[platform.ibm.com.customer.api.v0.models.Customer] = cats.Applicative[F].pure { platform.ibm.com.customer.api.v0.mock.Factories.makeCustomer() } /** * Updates information about the customer with the specified * financialAccountNumber. */ def putByCustomerName( customerName: String, customerUpdateForm: platform.ibm.com.customer.api.v0.models.CustomerUpdateForm, requestHeaders: Seq[(String, String)] = Nil ): F[platform.ibm.com.customer.api.v0.models.Customer] = cats.Applicative[F].pure { platform.ibm.com.customer.api.v0.mock.Factories.makeCustomer() } } object Factories { def randomString(length: Int = 24): String = { _root_.scala.util.Random.alphanumeric.take(length).mkString } def makeCustomer(): platform.ibm.com.customer.api.v0.models.Customer = platform.ibm.com.customer.api.v0.models.Customer( financialAccountNumber = _root_.java.util.UUID.randomUUID, customerName = Factories.randomString(24), branchNumber = Factories.randomString(24), address1 = None, address2 = None, city = None, state = None, zip = None ) def makeCustomerCreateForm(): platform.ibm.com.customer.api.v0.models.CustomerCreateForm = platform.ibm.com.customer.api.v0.models.CustomerCreateForm( branchNumber = Factories.randomString(24), customerName = Factories.randomString(24), email = Factories.randomString(24), address1 = Factories.randomString(24), address2 = None, city = Factories.randomString(24), state = Factories.randomString(24), zip = Factories.randomString(24) ) def makeCustomerSummary(): platform.ibm.com.customer.api.v0.models.CustomerSummary = platform.ibm.com.customer.api.v0.models.CustomerSummary( financialAccountNumber = _root_.java.util.UUID.randomUUID, customerName = Factories.randomString(24) ) def makeCustomerUpdateForm(): platform.ibm.com.customer.api.v0.models.CustomerUpdateForm = platform.ibm.com.customer.api.v0.models.CustomerUpdateForm( financialAccountNumber = Factories.randomString(24), customerName = Factories.randomString(24), email = Factories.randomString(24), address1 = Factories.randomString(24), address2 = Factories.randomString(24), city = Factories.randomString(24), state = Factories.randomString(24), zip = Factories.randomString(24) ) def makeError(): platform.ibm.com.customer.api.v0.models.Error = platform.ibm.com.customer.api.v0.models.Error( code = Factories.randomString(24), description = Factories.randomString(24) ) } }