/** * Generated by API Builder - https://www.apibuilder.io * Service version: 0.16.53 * User agent: apibuilder app.apibuilder.io/apicollective/apibuilder-spec/0.16.53/scalacheck */ package io.apibuilder.spec.v0.models.scalacheck import org.scalacheck.{Arbitrary, Gen} object ApibuilderSpecScalaCheck extends ApibuilderSpecScalaCheck { implicit def arbitraryJodaDateTime: Arbitrary[_root_.org.joda.time.DateTime] = Arbitrary(genJodaDateTime) def genJodaDateTime: Gen[_root_.org.joda.time.DateTime] = Gen.posNum[Long].map(instant => new _root_.org.joda.time.DateTime(instant)) implicit def arbitraryPlayJsObject: Arbitrary[_root_.play.api.libs.json.JsObject] = Arbitrary(genPlayJsObject) def genPlayJsObject: Gen[_root_.play.api.libs.json.JsObject] = Gen.const(_root_.play.api.libs.json.JsObject.empty) } trait ApibuilderSpecScalaCheck { implicit def arbitraryJodaDateTime: Arbitrary[_root_.org.joda.time.DateTime] implicit def arbitraryPlayJsObject: Arbitrary[_root_.play.api.libs.json.JsObject] implicit def arbitraryAnnotation: Arbitrary[io.apibuilder.spec.v0.models.Annotation] = Arbitrary(genAnnotation) def genAnnotation: Gen[io.apibuilder.spec.v0.models.Annotation] = for { name <- Arbitrary.arbitrary[String] description <- Arbitrary.arbitrary[_root_.scala.Option[String]] deprecation <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.spec.v0.models.Deprecation]] } yield io.apibuilder.spec.v0.models.Annotation(name, description, deprecation) implicit def arbitraryApidoc: Arbitrary[io.apibuilder.spec.v0.models.Apidoc] = Arbitrary(genApidoc) def genApidoc: Gen[io.apibuilder.spec.v0.models.Apidoc] = for { version <- Arbitrary.arbitrary[String] } yield io.apibuilder.spec.v0.models.Apidoc(version) implicit def arbitraryApplication: Arbitrary[io.apibuilder.spec.v0.models.Application] = Arbitrary(genApplication) def genApplication: Gen[io.apibuilder.spec.v0.models.Application] = for { key <- Arbitrary.arbitrary[String] } yield io.apibuilder.spec.v0.models.Application(key) implicit def arbitraryAttribute: Arbitrary[io.apibuilder.spec.v0.models.Attribute] = Arbitrary(genAttribute) def genAttribute: Gen[io.apibuilder.spec.v0.models.Attribute] = for { name <- Arbitrary.arbitrary[String] value <- Arbitrary.arbitrary[_root_.play.api.libs.json.JsObject] description <- Arbitrary.arbitrary[_root_.scala.Option[String]] deprecation <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.spec.v0.models.Deprecation]] } yield io.apibuilder.spec.v0.models.Attribute(name, value, description, deprecation) implicit def arbitraryBody: Arbitrary[io.apibuilder.spec.v0.models.Body] = Arbitrary(genBody) def genBody: Gen[io.apibuilder.spec.v0.models.Body] = for { `type` <- Arbitrary.arbitrary[String] description <- Arbitrary.arbitrary[_root_.scala.Option[String]] deprecation <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.spec.v0.models.Deprecation]] attributes <- Arbitrary.arbitrary[Seq[io.apibuilder.spec.v0.models.Attribute]] } yield io.apibuilder.spec.v0.models.Body(`type`, description, deprecation, attributes) implicit def arbitraryContact: Arbitrary[io.apibuilder.spec.v0.models.Contact] = Arbitrary(genContact) def genContact: Gen[io.apibuilder.spec.v0.models.Contact] = for { name <- Arbitrary.arbitrary[_root_.scala.Option[String]] url <- Arbitrary.arbitrary[_root_.scala.Option[String]] email <- Arbitrary.arbitrary[_root_.scala.Option[String]] } yield io.apibuilder.spec.v0.models.Contact(name, url, email) implicit def arbitraryDeprecation: Arbitrary[io.apibuilder.spec.v0.models.Deprecation] = Arbitrary(genDeprecation) def genDeprecation: Gen[io.apibuilder.spec.v0.models.Deprecation] = for { description <- Arbitrary.arbitrary[_root_.scala.Option[String]] } yield io.apibuilder.spec.v0.models.Deprecation(description) implicit def arbitraryEnum: Arbitrary[io.apibuilder.spec.v0.models.Enum] = Arbitrary(genEnum) def genEnum: Gen[io.apibuilder.spec.v0.models.Enum] = for { name <- Arbitrary.arbitrary[String] plural <- Arbitrary.arbitrary[String] description <- Arbitrary.arbitrary[_root_.scala.Option[String]] deprecation <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.spec.v0.models.Deprecation]] values <- Arbitrary.arbitrary[Seq[io.apibuilder.spec.v0.models.EnumValue]] attributes <- Arbitrary.arbitrary[Seq[io.apibuilder.spec.v0.models.Attribute]] } yield io.apibuilder.spec.v0.models.Enum(name, plural, description, deprecation, values, attributes) implicit def arbitraryEnumValue: Arbitrary[io.apibuilder.spec.v0.models.EnumValue] = Arbitrary(genEnumValue) def genEnumValue: Gen[io.apibuilder.spec.v0.models.EnumValue] = for { name <- Arbitrary.arbitrary[String] description <- Arbitrary.arbitrary[_root_.scala.Option[String]] deprecation <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.spec.v0.models.Deprecation]] attributes <- Arbitrary.arbitrary[Seq[io.apibuilder.spec.v0.models.Attribute]] value <- Arbitrary.arbitrary[_root_.scala.Option[String]] } yield io.apibuilder.spec.v0.models.EnumValue(name, description, deprecation, attributes, value) implicit def arbitraryField: Arbitrary[io.apibuilder.spec.v0.models.Field] = Arbitrary(genField) def genField: Gen[io.apibuilder.spec.v0.models.Field] = for { name <- Arbitrary.arbitrary[String] `type` <- Arbitrary.arbitrary[String] description <- Arbitrary.arbitrary[_root_.scala.Option[String]] deprecation <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.spec.v0.models.Deprecation]] default <- Arbitrary.arbitrary[_root_.scala.Option[String]] required <- Arbitrary.arbitrary[Boolean] minimum <- Arbitrary.arbitrary[_root_.scala.Option[Long]] maximum <- Arbitrary.arbitrary[_root_.scala.Option[Long]] example <- Arbitrary.arbitrary[_root_.scala.Option[String]] attributes <- Arbitrary.arbitrary[Seq[io.apibuilder.spec.v0.models.Attribute]] annotations <- Arbitrary.arbitrary[Seq[String]] } yield io.apibuilder.spec.v0.models.Field( name, `type`, description, deprecation, default, required, minimum, maximum, example, attributes, annotations ) implicit def arbitraryHeader: Arbitrary[io.apibuilder.spec.v0.models.Header] = Arbitrary(genHeader) def genHeader: Gen[io.apibuilder.spec.v0.models.Header] = for { name <- Arbitrary.arbitrary[String] `type` <- Arbitrary.arbitrary[String] description <- Arbitrary.arbitrary[_root_.scala.Option[String]] deprecation <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.spec.v0.models.Deprecation]] required <- Arbitrary.arbitrary[Boolean] default <- Arbitrary.arbitrary[_root_.scala.Option[String]] attributes <- Arbitrary.arbitrary[Seq[io.apibuilder.spec.v0.models.Attribute]] } yield io.apibuilder.spec.v0.models.Header(name, `type`, description, deprecation, required, default, attributes) implicit def arbitraryImport: Arbitrary[io.apibuilder.spec.v0.models.Import] = Arbitrary(genImport) def genImport: Gen[io.apibuilder.spec.v0.models.Import] = for { uri <- Arbitrary.arbitrary[String] namespace <- Arbitrary.arbitrary[String] organization <- Arbitrary.arbitrary[io.apibuilder.spec.v0.models.Organization] application <- Arbitrary.arbitrary[io.apibuilder.spec.v0.models.Application] version <- Arbitrary.arbitrary[String] enums <- Arbitrary.arbitrary[Seq[String]] interfaces <- Arbitrary.arbitrary[Seq[String]] unions <- Arbitrary.arbitrary[Seq[String]] models <- Arbitrary.arbitrary[Seq[String]] annotations <- Arbitrary.arbitrary[Seq[io.apibuilder.spec.v0.models.Annotation]] } yield io.apibuilder.spec.v0.models.Import( uri, namespace, organization, application, version, enums, interfaces, unions, models, annotations ) implicit def arbitraryInfo: Arbitrary[io.apibuilder.spec.v0.models.Info] = Arbitrary(genInfo) def genInfo: Gen[io.apibuilder.spec.v0.models.Info] = for { license <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.spec.v0.models.License]] contact <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.spec.v0.models.Contact]] } yield io.apibuilder.spec.v0.models.Info(license, contact) implicit def arbitraryInterface: Arbitrary[io.apibuilder.spec.v0.models.Interface] = Arbitrary(genInterface) def genInterface: Gen[io.apibuilder.spec.v0.models.Interface] = for { name <- Arbitrary.arbitrary[String] plural <- Arbitrary.arbitrary[String] description <- Arbitrary.arbitrary[_root_.scala.Option[String]] deprecation <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.spec.v0.models.Deprecation]] fields <- Arbitrary.arbitrary[Seq[io.apibuilder.spec.v0.models.Field]] attributes <- Arbitrary.arbitrary[Seq[io.apibuilder.spec.v0.models.Attribute]] } yield io.apibuilder.spec.v0.models.Interface(name, plural, description, deprecation, fields, attributes) implicit def arbitraryLicense: Arbitrary[io.apibuilder.spec.v0.models.License] = Arbitrary(genLicense) def genLicense: Gen[io.apibuilder.spec.v0.models.License] = for { name <- Arbitrary.arbitrary[String] url <- Arbitrary.arbitrary[_root_.scala.Option[String]] } yield io.apibuilder.spec.v0.models.License(name, url) implicit def arbitraryModel: Arbitrary[io.apibuilder.spec.v0.models.Model] = Arbitrary(genModel) def genModel: Gen[io.apibuilder.spec.v0.models.Model] = for { name <- Arbitrary.arbitrary[String] plural <- Arbitrary.arbitrary[String] description <- Arbitrary.arbitrary[_root_.scala.Option[String]] deprecation <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.spec.v0.models.Deprecation]] fields <- Arbitrary.arbitrary[Seq[io.apibuilder.spec.v0.models.Field]] attributes <- Arbitrary.arbitrary[Seq[io.apibuilder.spec.v0.models.Attribute]] interfaces <- Arbitrary.arbitrary[Seq[String]] } yield io.apibuilder.spec.v0.models.Model(name, plural, description, deprecation, fields, attributes, interfaces) implicit def arbitraryOperation: Arbitrary[io.apibuilder.spec.v0.models.Operation] = Arbitrary(genOperation) def genOperation: Gen[io.apibuilder.spec.v0.models.Operation] = for { method <- Arbitrary.arbitrary[io.apibuilder.spec.v0.models.Method] path <- Arbitrary.arbitrary[String] description <- Arbitrary.arbitrary[_root_.scala.Option[String]] deprecation <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.spec.v0.models.Deprecation]] body <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.spec.v0.models.Body]] parameters <- Arbitrary.arbitrary[Seq[io.apibuilder.spec.v0.models.Parameter]] responses <- Arbitrary.arbitrary[Seq[io.apibuilder.spec.v0.models.Response]] attributes <- Arbitrary.arbitrary[Seq[io.apibuilder.spec.v0.models.Attribute]] } yield io.apibuilder.spec.v0.models.Operation( method, path, description, deprecation, body, parameters, responses, attributes ) implicit def arbitraryOrganization: Arbitrary[io.apibuilder.spec.v0.models.Organization] = Arbitrary(genOrganization) def genOrganization: Gen[io.apibuilder.spec.v0.models.Organization] = for { key <- Arbitrary.arbitrary[String] } yield io.apibuilder.spec.v0.models.Organization(key) implicit def arbitraryParameter: Arbitrary[io.apibuilder.spec.v0.models.Parameter] = Arbitrary(genParameter) def genParameter: Gen[io.apibuilder.spec.v0.models.Parameter] = for { name <- Arbitrary.arbitrary[String] `type` <- Arbitrary.arbitrary[String] location <- Arbitrary.arbitrary[io.apibuilder.spec.v0.models.ParameterLocation] description <- Arbitrary.arbitrary[_root_.scala.Option[String]] deprecation <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.spec.v0.models.Deprecation]] required <- Arbitrary.arbitrary[Boolean] default <- Arbitrary.arbitrary[_root_.scala.Option[String]] minimum <- Arbitrary.arbitrary[_root_.scala.Option[Long]] maximum <- Arbitrary.arbitrary[_root_.scala.Option[Long]] example <- Arbitrary.arbitrary[_root_.scala.Option[String]] attributes <- Arbitrary.arbitrary[_root_.scala.Option[Seq[io.apibuilder.spec.v0.models.Attribute]]] } yield io.apibuilder.spec.v0.models.Parameter( name, `type`, location, description, deprecation, required, default, minimum, maximum, example, attributes ) implicit def arbitraryResource: Arbitrary[io.apibuilder.spec.v0.models.Resource] = Arbitrary(genResource) def genResource: Gen[io.apibuilder.spec.v0.models.Resource] = for { `type` <- Arbitrary.arbitrary[String] plural <- Arbitrary.arbitrary[String] path <- Arbitrary.arbitrary[_root_.scala.Option[String]] description <- Arbitrary.arbitrary[_root_.scala.Option[String]] deprecation <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.spec.v0.models.Deprecation]] operations <- Arbitrary.arbitrary[Seq[io.apibuilder.spec.v0.models.Operation]] attributes <- Arbitrary.arbitrary[Seq[io.apibuilder.spec.v0.models.Attribute]] } yield io.apibuilder.spec.v0.models.Resource( `type`, plural, path, description, deprecation, operations, attributes ) implicit def arbitraryResponse: Arbitrary[io.apibuilder.spec.v0.models.Response] = Arbitrary(genResponse) def genResponse: Gen[io.apibuilder.spec.v0.models.Response] = for { code <- Arbitrary.arbitrary[io.apibuilder.spec.v0.models.ResponseCode] `type` <- Arbitrary.arbitrary[String] headers <- Arbitrary.arbitrary[_root_.scala.Option[Seq[io.apibuilder.spec.v0.models.Header]]] description <- Arbitrary.arbitrary[_root_.scala.Option[String]] deprecation <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.spec.v0.models.Deprecation]] attributes <- Arbitrary.arbitrary[_root_.scala.Option[Seq[io.apibuilder.spec.v0.models.Attribute]]] } yield io.apibuilder.spec.v0.models.Response(code, `type`, headers, description, deprecation, attributes) implicit def arbitraryService: Arbitrary[io.apibuilder.spec.v0.models.Service] = Arbitrary(genService) def genService: Gen[io.apibuilder.spec.v0.models.Service] = for { apidoc <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.spec.v0.models.Apidoc]] name <- Arbitrary.arbitrary[String] organization <- Arbitrary.arbitrary[io.apibuilder.spec.v0.models.Organization] application <- Arbitrary.arbitrary[io.apibuilder.spec.v0.models.Application] namespace <- Arbitrary.arbitrary[String] version <- Arbitrary.arbitrary[String] baseUrl <- Arbitrary.arbitrary[_root_.scala.Option[String]] description <- Arbitrary.arbitrary[_root_.scala.Option[String]] info <- Arbitrary.arbitrary[io.apibuilder.spec.v0.models.Info] headers <- Arbitrary.arbitrary[Seq[io.apibuilder.spec.v0.models.Header]] imports <- Arbitrary.arbitrary[Seq[io.apibuilder.spec.v0.models.Import]] enums <- Arbitrary.arbitrary[Seq[io.apibuilder.spec.v0.models.Enum]] interfaces <- Arbitrary.arbitrary[Seq[io.apibuilder.spec.v0.models.Interface]] unions <- Arbitrary.arbitrary[Seq[io.apibuilder.spec.v0.models.Union]] models <- Arbitrary.arbitrary[Seq[io.apibuilder.spec.v0.models.Model]] resources <- Arbitrary.arbitrary[Seq[io.apibuilder.spec.v0.models.Resource]] attributes <- Arbitrary.arbitrary[Seq[io.apibuilder.spec.v0.models.Attribute]] annotations <- Arbitrary.arbitrary[Seq[io.apibuilder.spec.v0.models.Annotation]] } yield io.apibuilder.spec.v0.models.Service( apidoc, name, organization, application, namespace, version, baseUrl, description, info, headers, imports, enums, interfaces, unions, models, resources, attributes, annotations ) implicit def arbitraryUnion: Arbitrary[io.apibuilder.spec.v0.models.Union] = Arbitrary(genUnion) def genUnion: Gen[io.apibuilder.spec.v0.models.Union] = for { name <- Arbitrary.arbitrary[String] plural <- Arbitrary.arbitrary[String] discriminator <- Arbitrary.arbitrary[_root_.scala.Option[String]] description <- Arbitrary.arbitrary[_root_.scala.Option[String]] deprecation <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.spec.v0.models.Deprecation]] types <- Arbitrary.arbitrary[Seq[io.apibuilder.spec.v0.models.UnionType]] attributes <- Arbitrary.arbitrary[Seq[io.apibuilder.spec.v0.models.Attribute]] interfaces <- Arbitrary.arbitrary[Seq[String]] } yield io.apibuilder.spec.v0.models.Union( name, plural, discriminator, description, deprecation, types, attributes, interfaces ) implicit def arbitraryUnionType: Arbitrary[io.apibuilder.spec.v0.models.UnionType] = Arbitrary(genUnionType) def genUnionType: Gen[io.apibuilder.spec.v0.models.UnionType] = for { `type` <- Arbitrary.arbitrary[String] description <- Arbitrary.arbitrary[_root_.scala.Option[String]] deprecation <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.spec.v0.models.Deprecation]] attributes <- Arbitrary.arbitrary[Seq[io.apibuilder.spec.v0.models.Attribute]] default <- Arbitrary.arbitrary[_root_.scala.Option[Boolean]] discriminatorValue <- Arbitrary.arbitrary[_root_.scala.Option[String]] } yield io.apibuilder.spec.v0.models.UnionType( `type`, description, deprecation, attributes, default, discriminatorValue ) implicit def arbitraryMethod: Arbitrary[io.apibuilder.spec.v0.models.Method] = Arbitrary(genMethod) def genMethod: Gen[io.apibuilder.spec.v0.models.Method] = Gen.oneOf( io.apibuilder.spec.v0.models.Method.Get, io.apibuilder.spec.v0.models.Method.Post, io.apibuilder.spec.v0.models.Method.Put, io.apibuilder.spec.v0.models.Method.Patch, io.apibuilder.spec.v0.models.Method.Delete, io.apibuilder.spec.v0.models.Method.Head, io.apibuilder.spec.v0.models.Method.Connect, io.apibuilder.spec.v0.models.Method.Options, io.apibuilder.spec.v0.models.Method.Trace ) implicit def arbitraryParameterLocation: Arbitrary[io.apibuilder.spec.v0.models.ParameterLocation] = Arbitrary(genParameterLocation) def genParameterLocation: Gen[io.apibuilder.spec.v0.models.ParameterLocation] = Gen.oneOf( io.apibuilder.spec.v0.models.ParameterLocation.Path, io.apibuilder.spec.v0.models.ParameterLocation.Query, io.apibuilder.spec.v0.models.ParameterLocation.Form, io.apibuilder.spec.v0.models.ParameterLocation.Header ) implicit def arbitraryResponseCodeOption: Arbitrary[io.apibuilder.spec.v0.models.ResponseCodeOption] = Arbitrary(genResponseCodeOption) def genResponseCodeOption: Gen[io.apibuilder.spec.v0.models.ResponseCodeOption] = io.apibuilder.spec.v0.models.ResponseCodeOption.Default implicit def arbitraryResponseCode: Arbitrary[io.apibuilder.spec.v0.models.ResponseCode] = Arbitrary(genResponseCode) def genResponseCode: Gen[io.apibuilder.spec.v0.models.ResponseCode] = Gen.oneOf(genInteger, genResponseCodeOption) }