/** * Generated by API Builder - https://www.apibuilder.io * Service version: 0.16.74 * User agent: apibuilder app.apibuilder.io/apicollective/apibuilder-api-json/0.16.74/scalacheck */ package io.apibuilder.api.json.v0.models.scalacheck import org.scalacheck.{Arbitrary, Gen} object ApibuilderApiJsonScalaCheck extends ApibuilderApiJsonScalaCheck { 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 ApibuilderApiJsonScalaCheck { 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.api.json.v0.models.Annotation] = Arbitrary(genAnnotation) def genAnnotation: Gen[io.apibuilder.api.json.v0.models.Annotation] = for { description <- Arbitrary.arbitrary[_root_.scala.Option[String]] deprecation <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.api.json.v0.models.Deprecation]] } yield io.apibuilder.api.json.v0.models.Annotation(description, deprecation) implicit def arbitraryApiJson: Arbitrary[io.apibuilder.api.json.v0.models.ApiJson] = Arbitrary(genApiJson) def genApiJson: Gen[io.apibuilder.api.json.v0.models.ApiJson] = for { name <- Arbitrary.arbitrary[String] info <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.api.json.v0.models.Info]] namespace <- Arbitrary.arbitrary[_root_.scala.Option[String]] baseUrl <- Arbitrary.arbitrary[_root_.scala.Option[String]] description <- Arbitrary.arbitrary[_root_.scala.Option[String]] imports <- Arbitrary.arbitrary[Seq[io.apibuilder.api.json.v0.models.Import]] headers <- Arbitrary.arbitrary[Seq[io.apibuilder.api.json.v0.models.Header]] enums <- Arbitrary.arbitrary[Map[String, io.apibuilder.api.json.v0.models.Enum]] interfaces <- Arbitrary.arbitrary[Map[String, io.apibuilder.api.json.v0.models.Interface]] templates <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.api.json.v0.models.Templates]] unions <- Arbitrary.arbitrary[Map[String, io.apibuilder.api.json.v0.models.Union]] models <- Arbitrary.arbitrary[Map[String, io.apibuilder.api.json.v0.models.Model]] resources <- Arbitrary.arbitrary[Map[String, io.apibuilder.api.json.v0.models.Resource]] annotations <- Arbitrary.arbitrary[Map[String, io.apibuilder.api.json.v0.models.Annotation]] attributes <- Arbitrary.arbitrary[Seq[io.apibuilder.api.json.v0.models.Attribute]] } yield io.apibuilder.api.json.v0.models.ApiJson( name, info, namespace, baseUrl, description, imports, headers, enums, interfaces, templates, unions, models, resources, annotations, attributes ) implicit def arbitraryAttribute: Arbitrary[io.apibuilder.api.json.v0.models.Attribute] = Arbitrary(genAttribute) def genAttribute: Gen[io.apibuilder.api.json.v0.models.Attribute] = for { name <- Arbitrary.arbitrary[String] value <- Arbitrary.arbitrary[_root_.play.api.libs.json.JsObject] } yield io.apibuilder.api.json.v0.models.Attribute(name, value) implicit def arbitraryBody: Arbitrary[io.apibuilder.api.json.v0.models.Body] = Arbitrary(genBody) def genBody: Gen[io.apibuilder.api.json.v0.models.Body] = for { `type` <- Arbitrary.arbitrary[String] description <- Arbitrary.arbitrary[_root_.scala.Option[String]] attributes <- Arbitrary.arbitrary[_root_.scala.Option[Seq[io.apibuilder.api.json.v0.models.Attribute]]] deprecation <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.api.json.v0.models.Deprecation]] } yield io.apibuilder.api.json.v0.models.Body(`type`, description, attributes, deprecation) implicit def arbitraryContact: Arbitrary[io.apibuilder.api.json.v0.models.Contact] = Arbitrary(genContact) def genContact: Gen[io.apibuilder.api.json.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.api.json.v0.models.Contact(name, url, email) implicit def arbitraryDeprecation: Arbitrary[io.apibuilder.api.json.v0.models.Deprecation] = Arbitrary(genDeprecation) def genDeprecation: Gen[io.apibuilder.api.json.v0.models.Deprecation] = for { description <- Arbitrary.arbitrary[_root_.scala.Option[String]] } yield io.apibuilder.api.json.v0.models.Deprecation(description) implicit def arbitraryEnum: Arbitrary[io.apibuilder.api.json.v0.models.Enum] = Arbitrary(genEnum) def genEnum: Gen[io.apibuilder.api.json.v0.models.Enum] = for { plural <- Arbitrary.arbitrary[_root_.scala.Option[String]] description <- Arbitrary.arbitrary[_root_.scala.Option[String]] values <- Arbitrary.arbitrary[Seq[io.apibuilder.api.json.v0.models.EnumValue]] attributes <- Arbitrary.arbitrary[_root_.scala.Option[Seq[io.apibuilder.api.json.v0.models.Attribute]]] deprecation <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.api.json.v0.models.Deprecation]] } yield io.apibuilder.api.json.v0.models.Enum(plural, description, values, attributes, deprecation) implicit def arbitraryEnumValue: Arbitrary[io.apibuilder.api.json.v0.models.EnumValue] = Arbitrary(genEnumValue) def genEnumValue: Gen[io.apibuilder.api.json.v0.models.EnumValue] = for { name <- Arbitrary.arbitrary[String] value <- Arbitrary.arbitrary[_root_.scala.Option[String]] description <- Arbitrary.arbitrary[_root_.scala.Option[String]] attributes <- Arbitrary.arbitrary[_root_.scala.Option[Seq[io.apibuilder.api.json.v0.models.Attribute]]] deprecation <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.api.json.v0.models.Deprecation]] } yield io.apibuilder.api.json.v0.models.EnumValue(name, value, description, attributes, deprecation) implicit def arbitraryField: Arbitrary[io.apibuilder.api.json.v0.models.Field] = Arbitrary(genField) def genField: Gen[io.apibuilder.api.json.v0.models.Field] = for { name <- Arbitrary.arbitrary[String] `type` <- Arbitrary.arbitrary[String] description <- Arbitrary.arbitrary[_root_.scala.Option[String]] required <- Arbitrary.arbitrary[Boolean] default <- Arbitrary.arbitrary[_root_.scala.Option[_root_.play.api.libs.json.JsValue]] example <- Arbitrary.arbitrary[_root_.scala.Option[String]] minimum <- Arbitrary.arbitrary[_root_.scala.Option[Long]] maximum <- Arbitrary.arbitrary[_root_.scala.Option[Long]] attributes <- Arbitrary.arbitrary[_root_.scala.Option[Seq[io.apibuilder.api.json.v0.models.Attribute]]] annotations <- Arbitrary.arbitrary[_root_.scala.Option[Seq[String]]] deprecation <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.api.json.v0.models.Deprecation]] } yield io.apibuilder.api.json.v0.models.Field( name, `type`, description, required, default, example, minimum, maximum, attributes, annotations, deprecation ) implicit def arbitraryHeader: Arbitrary[io.apibuilder.api.json.v0.models.Header] = Arbitrary(genHeader) def genHeader: Gen[io.apibuilder.api.json.v0.models.Header] = for { name <- Arbitrary.arbitrary[String] `type` <- Arbitrary.arbitrary[String] required <- Arbitrary.arbitrary[Boolean] description <- Arbitrary.arbitrary[_root_.scala.Option[String]] attributes <- Arbitrary.arbitrary[_root_.scala.Option[Seq[io.apibuilder.api.json.v0.models.Attribute]]] deprecation <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.api.json.v0.models.Deprecation]] } yield io.apibuilder.api.json.v0.models.Header(name, `type`, required, description, attributes, deprecation) implicit def arbitraryImport: Arbitrary[io.apibuilder.api.json.v0.models.Import] = Arbitrary(genImport) def genImport: Gen[io.apibuilder.api.json.v0.models.Import] = for { uri <- Arbitrary.arbitrary[String] } yield io.apibuilder.api.json.v0.models.Import(uri) implicit def arbitraryInfo: Arbitrary[io.apibuilder.api.json.v0.models.Info] = Arbitrary(genInfo) def genInfo: Gen[io.apibuilder.api.json.v0.models.Info] = for { contact <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.api.json.v0.models.Contact]] license <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.api.json.v0.models.License]] } yield io.apibuilder.api.json.v0.models.Info(contact, license) implicit def arbitraryInterface: Arbitrary[io.apibuilder.api.json.v0.models.Interface] = Arbitrary(genInterface) def genInterface: Gen[io.apibuilder.api.json.v0.models.Interface] = for { plural <- Arbitrary.arbitrary[_root_.scala.Option[String]] description <- Arbitrary.arbitrary[_root_.scala.Option[String]] fields <- Arbitrary.arbitrary[_root_.scala.Option[Seq[io.apibuilder.api.json.v0.models.Field]]] attributes <- Arbitrary.arbitrary[_root_.scala.Option[Seq[io.apibuilder.api.json.v0.models.Attribute]]] deprecation <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.api.json.v0.models.Deprecation]] } yield io.apibuilder.api.json.v0.models.Interface(plural, description, fields, attributes, deprecation) implicit def arbitraryLicense: Arbitrary[io.apibuilder.api.json.v0.models.License] = Arbitrary(genLicense) def genLicense: Gen[io.apibuilder.api.json.v0.models.License] = for { name <- Arbitrary.arbitrary[String] url <- Arbitrary.arbitrary[_root_.scala.Option[String]] } yield io.apibuilder.api.json.v0.models.License(name, url) implicit def arbitraryModel: Arbitrary[io.apibuilder.api.json.v0.models.Model] = Arbitrary(genModel) def genModel: Gen[io.apibuilder.api.json.v0.models.Model] = for { description <- Arbitrary.arbitrary[_root_.scala.Option[String]] plural <- Arbitrary.arbitrary[_root_.scala.Option[String]] fields <- Arbitrary.arbitrary[Seq[io.apibuilder.api.json.v0.models.Field]] attributes <- Arbitrary.arbitrary[_root_.scala.Option[Seq[io.apibuilder.api.json.v0.models.Attribute]]] interfaces <- Arbitrary.arbitrary[_root_.scala.Option[Seq[String]]] templates <- Arbitrary.arbitrary[_root_.scala.Option[Seq[io.apibuilder.api.json.v0.models.TemplateDeclaration]]] deprecation <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.api.json.v0.models.Deprecation]] } yield io.apibuilder.api.json.v0.models.Model( description, plural, fields, attributes, interfaces, templates, deprecation ) implicit def arbitraryOperation: Arbitrary[io.apibuilder.api.json.v0.models.Operation] = Arbitrary(genOperation) def genOperation: Gen[io.apibuilder.api.json.v0.models.Operation] = for { method <- Arbitrary.arbitrary[String] path <- Arbitrary.arbitrary[_root_.scala.Option[String]] description <- Arbitrary.arbitrary[_root_.scala.Option[String]] body <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.api.json.v0.models.Body]] parameters <- Arbitrary.arbitrary[_root_.scala.Option[Seq[io.apibuilder.api.json.v0.models.Parameter]]] responses <- Arbitrary.arbitrary[_root_.scala.Option[Map[String, io.apibuilder.api.json.v0.models.Response]]] attributes <- Arbitrary.arbitrary[_root_.scala.Option[Seq[io.apibuilder.api.json.v0.models.Attribute]]] deprecation <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.api.json.v0.models.Deprecation]] } yield io.apibuilder.api.json.v0.models.Operation( method, path, description, body, parameters, responses, attributes, deprecation ) implicit def arbitraryParameter: Arbitrary[io.apibuilder.api.json.v0.models.Parameter] = Arbitrary(genParameter) def genParameter: Gen[io.apibuilder.api.json.v0.models.Parameter] = for { name <- Arbitrary.arbitrary[String] `type` <- Arbitrary.arbitrary[String] location <- Arbitrary.arbitrary[io.apibuilder.api.json.v0.models.ParameterLocation] description <- Arbitrary.arbitrary[_root_.scala.Option[String]] required <- Arbitrary.arbitrary[Boolean] default <- Arbitrary.arbitrary[_root_.scala.Option[_root_.play.api.libs.json.JsValue]] 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.api.json.v0.models.Attribute]]] deprecation <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.api.json.v0.models.Deprecation]] } yield io.apibuilder.api.json.v0.models.Parameter( name, `type`, location, description, required, default, minimum, maximum, example, attributes, deprecation ) implicit def arbitraryResource: Arbitrary[io.apibuilder.api.json.v0.models.Resource] = Arbitrary(genResource) def genResource: Gen[io.apibuilder.api.json.v0.models.Resource] = for { path <- Arbitrary.arbitrary[_root_.scala.Option[String]] description <- Arbitrary.arbitrary[_root_.scala.Option[String]] operations <- Arbitrary.arbitrary[Seq[io.apibuilder.api.json.v0.models.Operation]] attributes <- Arbitrary.arbitrary[_root_.scala.Option[Seq[io.apibuilder.api.json.v0.models.Attribute]]] templates <- Arbitrary.arbitrary[_root_.scala.Option[Seq[io.apibuilder.api.json.v0.models.TemplateDeclaration]]] deprecation <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.api.json.v0.models.Deprecation]] } yield io.apibuilder.api.json.v0.models.Resource(path, description, operations, attributes, templates, deprecation) implicit def arbitraryResponse: Arbitrary[io.apibuilder.api.json.v0.models.Response] = Arbitrary(genResponse) def genResponse: Gen[io.apibuilder.api.json.v0.models.Response] = for { `type` <- Arbitrary.arbitrary[String] headers <- Arbitrary.arbitrary[_root_.scala.Option[Seq[io.apibuilder.api.json.v0.models.Header]]] description <- Arbitrary.arbitrary[_root_.scala.Option[String]] deprecation <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.api.json.v0.models.Deprecation]] attributes <- Arbitrary.arbitrary[_root_.scala.Option[Seq[io.apibuilder.api.json.v0.models.Attribute]]] } yield io.apibuilder.api.json.v0.models.Response(`type`, headers, description, deprecation, attributes) implicit def arbitraryTemplateDeclaration: Arbitrary[io.apibuilder.api.json.v0.models.TemplateDeclaration] = Arbitrary(genTemplateDeclaration) def genTemplateDeclaration: Gen[io.apibuilder.api.json.v0.models.TemplateDeclaration] = for { name <- Arbitrary.arbitrary[String] cast <- Arbitrary.arbitrary[_root_.scala.Option[Map[String, String]]] } yield io.apibuilder.api.json.v0.models.TemplateDeclaration(name, cast) implicit def arbitraryTemplates: Arbitrary[io.apibuilder.api.json.v0.models.Templates] = Arbitrary(genTemplates) def genTemplates: Gen[io.apibuilder.api.json.v0.models.Templates] = for { models <- Arbitrary.arbitrary[_root_.scala.Option[Map[String, io.apibuilder.api.json.v0.models.Model]]] resources <- Arbitrary.arbitrary[_root_.scala.Option[Map[String, io.apibuilder.api.json.v0.models.Resource]]] } yield io.apibuilder.api.json.v0.models.Templates(models, resources) implicit def arbitraryUnion: Arbitrary[io.apibuilder.api.json.v0.models.Union] = Arbitrary(genUnion) def genUnion: Gen[io.apibuilder.api.json.v0.models.Union] = for { plural <- Arbitrary.arbitrary[_root_.scala.Option[String]] discriminator <- Arbitrary.arbitrary[_root_.scala.Option[String]] description <- Arbitrary.arbitrary[_root_.scala.Option[String]] types <- Arbitrary.arbitrary[Seq[io.apibuilder.api.json.v0.models.UnionType]] attributes <- Arbitrary.arbitrary[_root_.scala.Option[Seq[io.apibuilder.api.json.v0.models.Attribute]]] interfaces <- Arbitrary.arbitrary[_root_.scala.Option[Seq[String]]] deprecation <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.api.json.v0.models.Deprecation]] } yield io.apibuilder.api.json.v0.models.Union( plural, discriminator, description, types, attributes, interfaces, deprecation ) implicit def arbitraryUnionType: Arbitrary[io.apibuilder.api.json.v0.models.UnionType] = Arbitrary(genUnionType) def genUnionType: Gen[io.apibuilder.api.json.v0.models.UnionType] = for { `type` <- Arbitrary.arbitrary[String] description <- Arbitrary.arbitrary[_root_.scala.Option[String]] default <- Arbitrary.arbitrary[Boolean] discriminatorValue <- Arbitrary.arbitrary[_root_.scala.Option[String]] attributes <- Arbitrary.arbitrary[_root_.scala.Option[Seq[io.apibuilder.api.json.v0.models.Attribute]]] deprecation <- Arbitrary.arbitrary[_root_.scala.Option[io.apibuilder.api.json.v0.models.Deprecation]] } yield io.apibuilder.api.json.v0.models .UnionType(`type`, description, default, discriminatorValue, attributes, deprecation) implicit def arbitraryParameterLocation: Arbitrary[io.apibuilder.api.json.v0.models.ParameterLocation] = Arbitrary(genParameterLocation) def genParameterLocation: Gen[io.apibuilder.api.json.v0.models.ParameterLocation] = Gen.oneOf( io.apibuilder.api.json.v0.models.ParameterLocation.Path, io.apibuilder.api.json.v0.models.ParameterLocation.Query, io.apibuilder.api.json.v0.models.ParameterLocation.Form, io.apibuilder.api.json.v0.models.ParameterLocation.Header ) }