{"id":38049431,"url":"https://github.com/leanovate/swagger-check","last_synced_at":"2026-01-16T20:03:16.901Z","repository":{"id":57730693,"uuid":"44759225","full_name":"leanovate/swagger-check","owner":"leanovate","description":"Toolbox to create scalacheck tests for Swagger APIs","archived":false,"fork":false,"pushed_at":"2019-05-28T06:08:24.000Z","size":1444,"stargazers_count":17,"open_issues_count":0,"forks_count":13,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-03-26T15:05:34.050Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leanovate.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-10-22T16:43:21.000Z","updated_at":"2024-03-26T15:05:34.051Z","dependencies_parsed_at":"2022-09-26T22:01:33.867Z","dependency_job_id":null,"html_url":"https://github.com/leanovate/swagger-check","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/leanovate/swagger-check","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leanovate%2Fswagger-check","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leanovate%2Fswagger-check/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leanovate%2Fswagger-check/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leanovate%2Fswagger-check/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leanovate","download_url":"https://codeload.github.com/leanovate/swagger-check/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leanovate%2Fswagger-check/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28482242,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-16T20:03:16.815Z","updated_at":"2026-01-16T20:03:16.885Z","avatar_url":"https://github.com/leanovate.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# swagger-check\n\nBuild status: [![Build Status](https://travis-ci.org/leanovate/swagger-check.svg?branch=master)](https://travis-ci.org/leanovate/swagger-check) \n[![codecov](https://codecov.io/gh/leanovate/swagger-check/branch/master/graph/badge.svg)](https://codecov.io/gh/leanovate/swagger-check)\n[![Maven Central](https://maven-badges.herokuapp.com/maven-central/de.leanovate.swaggercheck/swagger-check-core_2.11/badge.svg)](https://maven-badges.herokuapp.com/maven-central/de.leanovate.swaggercheck/swagger-check-core_2.11)\n\nToolbox for property based testing of an API specified with swagger\n\n## The problem\n\nSwagger is a nice way to specify REST APIs, but it just can not keep up with all\nthe different libraries commonly (or not so commonly) used to implement this API.\n\nIf you generate your Swagger specifications automatically you probably do not need\nthis toolbox. But if you write your Swagger specifications by hand and implement\nthem later you might encounter the problem how to ensure that the specification\nmatches reality in the long term. `swagger-check` might help you in this case.\n\n## Details\n\n`swagger-check` is build around [Scala Check](https://www.scalacheck.org/) and contains two main additions:\n\n* A generator for arbitrary json based on a Swagger model\n    * You may consider this the client to server direction: I.e. will your REST service understand all the things a client implementor might send you based on the Swagger specification\n* A verifier to very that an arbitrary json matches a Swagger model \n    * You may consider this the server to client direction: I.e. will your service send all the data a client implementor might expect according to the Swagger specification\n\nAs an additional party gimmic there is also ein generator to generate matches to a regex that you might consider useful for other things.\n\n## Usage\n\nAdd the following to your `build.sbt`\n\n```\nlibraryDependencies += \"de.leanovate.swaggercheck\" %% \"swagger-check-core\" % \"0.99.13\" % \"test\"\n```\n\n## Examples\n\nYou can find an example Play2 project in the [examples](examples/) folder.\n\n## Some implementation notes\n\n### Project structure\n\nThe project is now separated in modules to (eventually) support a multiple frameworks without ending in a dependency hell.\n\n* json-schema-model\n  * A generic model for validation of a json schema.\n  * There are no dependencies to any framework, but you have to provide a `NodeAdapter` for each json implementation\n* json-schema-jackson\n  * Contains the adapters for jackson\n  * Also contains a jackson module to actually parse a `json-schema-model` from a json file\n* json-schema-play\n  * Contains the adapter for the play framework\n* json-schema-gen\n  * Extends the `json-schema-model` with ScalaCheck generators\n  * Requires `jackson-core` for json parsing and generation\n* swagger-check-core\n  * Uses the above to create a tool box for creating ScalaCheck tests based on a swagger definition\n\n\n## Compatibility with play\n\n* For Play Version 2.5 please use the 0.99.x versions (legacy branch)\n* For Play Version 2.6 use the 1.0.x versions\n\n## License\n\n[MIT Licence](http://opensource.org/licenses/MIT)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleanovate%2Fswagger-check","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleanovate%2Fswagger-check","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleanovate%2Fswagger-check/lists"}