{"id":37021783,"url":"https://github.com/data-rocks-team/schemaregistry-junit","last_synced_at":"2026-01-14T02:35:26.052Z","repository":{"id":37097608,"uuid":"302313022","full_name":"data-rocks-team/schemaregistry-junit","owner":"data-rocks-team","description":"A library that provides an in-memory instance of Confluent Schema Registry to run your tests against","archived":false,"fork":false,"pushed_at":"2023-05-01T13:57:36.000Z","size":242,"stargazers_count":4,"open_issues_count":8,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2023-07-28T10:08:52.878Z","etag":null,"topics":["in-memory","java","junit","kafka","schema-registry"],"latest_commit_sha":null,"homepage":"https://medium.com/data-rocks","language":"Java","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/data-rocks-team.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":"2020-10-08T11:04:46.000Z","updated_at":"2023-04-06T12:46:22.000Z","dependencies_parsed_at":"2022-06-24T12:58:20.450Z","dependency_job_id":null,"html_url":"https://github.com/data-rocks-team/schemaregistry-junit","commit_stats":null,"previous_names":[],"tags_count":2,"template":null,"template_full_name":null,"purl":"pkg:github/data-rocks-team/schemaregistry-junit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/data-rocks-team%2Fschemaregistry-junit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/data-rocks-team%2Fschemaregistry-junit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/data-rocks-team%2Fschemaregistry-junit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/data-rocks-team%2Fschemaregistry-junit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/data-rocks-team","download_url":"https://codeload.github.com/data-rocks-team/schemaregistry-junit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/data-rocks-team%2Fschemaregistry-junit/sbom","scorecard":{"id":324156,"data":{"date":"2025-08-11","repo":{"name":"github.com/data-rocks-team/schemaregistry-junit","commit":"3e937760c6b6b45e245e40c5f97fa8be210d14a8"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.4,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/9 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":6,"reason":"binaries present in source code","details":["Warn: binary detected: examples/junit-4/gradle/wrapper/gradle-wrapper.jar:1","Warn: binary detected: examples/junit-5/gradle/wrapper/gradle-wrapper.jar:1","Warn: binary detected: gradle/wrapper/gradle-wrapper.jar:1","Warn: binary detected: regression-test/gradle/wrapper/gradle-wrapper.jar:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/gradle-build.yml:1","Warn: no topLevel permission defined: .github/workflows/gradle-example.yml:1","Warn: no topLevel permission defined: .github/workflows/gradle-regression-4x.yml:1","Warn: no topLevel permission defined: .github/workflows/gradle-regression-5x.yml:1","Warn: no topLevel permission defined: .github/workflows/gradle-regression-6x.yml:1","Warn: no topLevel permission defined: .github/workflows/gradle-regression-7x.yml:1","Warn: no topLevel permission defined: .github/workflows/gradle-release.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/gradle-build.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/data-rocks-team/schemaregistry-junit/gradle-build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/gradle-build.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/data-rocks-team/schemaregistry-junit/gradle-build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/gradle-build.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/data-rocks-team/schemaregistry-junit/gradle-build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/gradle-build.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/data-rocks-team/schemaregistry-junit/gradle-build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/gradle-example.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/data-rocks-team/schemaregistry-junit/gradle-example.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/gradle-example.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/data-rocks-team/schemaregistry-junit/gradle-example.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/gradle-example.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/data-rocks-team/schemaregistry-junit/gradle-example.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/gradle-example.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/data-rocks-team/schemaregistry-junit/gradle-example.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/gradle-regression-4x.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/data-rocks-team/schemaregistry-junit/gradle-regression-4x.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/gradle-regression-4x.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/data-rocks-team/schemaregistry-junit/gradle-regression-4x.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/gradle-regression-4x.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/data-rocks-team/schemaregistry-junit/gradle-regression-4x.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/gradle-regression-4x.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/data-rocks-team/schemaregistry-junit/gradle-regression-4x.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/gradle-regression-5x.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/data-rocks-team/schemaregistry-junit/gradle-regression-5x.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/gradle-regression-5x.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/data-rocks-team/schemaregistry-junit/gradle-regression-5x.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/gradle-regression-5x.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/data-rocks-team/schemaregistry-junit/gradle-regression-5x.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/gradle-regression-6x.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/data-rocks-team/schemaregistry-junit/gradle-regression-6x.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/gradle-regression-6x.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/data-rocks-team/schemaregistry-junit/gradle-regression-6x.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/gradle-regression-6x.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/data-rocks-team/schemaregistry-junit/gradle-regression-6x.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/gradle-regression-7x.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/data-rocks-team/schemaregistry-junit/gradle-regression-7x.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/gradle-regression-7x.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/data-rocks-team/schemaregistry-junit/gradle-regression-7x.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/gradle-regression-7x.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/data-rocks-team/schemaregistry-junit/gradle-regression-7x.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/gradle-release.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/data-rocks-team/schemaregistry-junit/gradle-release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/gradle-release.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/data-rocks-team/schemaregistry-junit/gradle-release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/gradle-release.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/data-rocks-team/schemaregistry-junit/gradle-release.yml/main?enable=pin","Info:   0 out of  23 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-18T02:05:00.891Z","repository_id":37097608,"created_at":"2025-08-18T02:05:00.891Z","updated_at":"2025-08-18T02:05:00.891Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28408711,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T01:52:23.358Z","status":"online","status_checked_at":"2026-01-14T02:00:06.678Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["in-memory","java","junit","kafka","schema-registry"],"created_at":"2026-01-14T02:35:25.216Z","updated_at":"2026-01-14T02:35:26.038Z","avatar_url":"https://github.com/data-rocks-team.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# schemaregistry-junit\n\n![GitHub](https://img.shields.io/github/license/data-rocks-team/schemaregistry-junit)\n[![Actions Status](https://github.com/data-rocks-team/schemaregistry-junit/workflows/build/badge.svg)](https://github.com/data-rocks-team/schemaregistry-junit/actions)\n[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fdata-rocks-team%2Fschemaregistry-junit.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fdata-rocks-team%2Fschemaregistry-junit?ref=badge_shield)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=data-rocks-team_schemaregistry-junit\u0026metric=alert_status)](https://sonarcloud.io/dashboard?id=data-rocks-team_schemaregistry-junit)\n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=data-rocks-team_schemaregistry-junit\u0026metric=coverage)](https://sonarcloud.io/dashboard?id=data-rocks-team_schemaregistry-junit)\n\n| Library | Version | Documentation | Vulnerability |\n| ----------- | ----------- | ----------- | ----------- |\n| [schemaregistry-junit5](https://mvnrepository.com/artifact/io.github.data-rocks-team/schemaregistry-junit5) | [![Maven Central](https://img.shields.io/maven-central/v/io.github.data-rocks-team/schemaregistry-junit5.svg)](http://search.maven.org/#search%7Cga%7C1%7Cg%3Aio.github.data-rocks-team%20a%3Aschemaregistry-junit5) | [![Javadocs](http://www.javadoc.io/badge/io.github.data-rocks-team/schemaregistry-junit5.svg)](http://www.javadoc.io/doc/io.github.data-rocks-team/schemaregistry-junit5) | [![Known Vulnerabilities](https://snyk.io/test/github/data-rocks-team/schemaregistry-junit/badge.svg?targetFile=schemaregistry-junit5/build.gradle)](https://snyk.io/test/github/data-rocks-team/schemaregistry-junit?targetFile=schemaregistry-junit5/build.gradle)\n| [schemaregistry-junit4](https://mvnrepository.com/artifact/io.github.data-rocks-team/schemaregistry-junit4) | [![Maven Central](https://img.shields.io/maven-central/v/io.github.data-rocks-team/schemaregistry-junit4.svg)](http://search.maven.org/#search%7Cga%7C1%7Cg%3Aio.github.data-rocks-team%20a%3Aschemaregistry-junit4) | [![Javadocs](http://www.javadoc.io/badge/io.github.data-rocks-team/schemaregistry-junit4.svg)](http://www.javadoc.io/doc/io.github.data-rocks-team/schemaregistry-junit4) | [![Known Vulnerabilities](https://snyk.io/test/github/data-rocks-team/schemaregistry-junit/badge.svg?targetFile=schemaregistry-junit4/build.gradle)](https://snyk.io/test/github/data-rocks-team/schemaregistry-junit?targetFile=schemaregistry-junit4/build.gradle)\n| [schemaregistry-junit-core](https://mvnrepository.com/artifact/io.github.data-rocks-team/schemaregistry-junit-core) | [![Maven Central](https://img.shields.io/maven-central/v/io.github.data-rocks-team/schemaregistry-junit-core.svg)](http://search.maven.org/#search%7Cga%7C1%7Cg%3Aio.github.data-rocks-team%20a%3Aschemaregistry-junit-core) | [![Javadocs](http://www.javadoc.io/badge/io.github.data-rocks-team/schemaregistry-junit-core.svg)](http://www.javadoc.io/doc/io.github.data-rocks-team/schemaregistry-junit-core) | [![Known Vulnerabilities](https://snyk.io/test/github/data-rocks-team/schemaregistry-junit/badge.svg?targetFile=schemaregistry-junit-core/build.gradle)](https://snyk.io/test/github/data-rocks-team/schemaregistry-junit?targetFile=schemaregistry-junit-core/build.gradle) |\n\nAre you tired of waiting for [Docker](https://www.docker.com/) containers to fire up while testing \nyour Kafka solution? Or are you tired of waiting for an ephemeral environment to start? Are you \nlooking for a solution to reduce the time you are loosing waiting for \n[Apache Kafka Cluster](https://kafka.apache.org/) and\n[Confluent Schema Registry](https://docs.confluent.io/current/schema-registry/) to start while \ntesting?\n*schemaregistry-junit* is the answer! By pairing *schemaregistry-junit* together with \n[kafka-junit](https://github.com/salesforce/kafka-junit), you can speed up your tests and shorten \nthe feedback loop by reducing the time wasted waiting for Docker containers or ephemeral \nenvironments to start.\n*schemaregistry-junit* lets you run a fully working \n[Confluent Schema Registry](https://docs.confluent.io/current/schema-registry/) in-memory. The \nserver lifecycle is fully automated via [JUnit](https://junit.org/junit5/) extensions.\nA fluent DSL is provided to configure the Confluent Schema Registry.\n\nThis project was inspired by [kafka-junit](https://github.com/salesforce/kafka-junit).\n\n## Features\n- Support for JUnit 4 and JUnit 5\n- Support all [Confluent SchemaRegistry](https://mvnrepository.com/artifact/io.confluent/kafka-schema-registry?repo=confluent-packages) \nversion from 4.0.0 to the latest\n\n## Installation\nThe easiest way to include `schemaregistry-junit` in your project(s) is via Maven dependency. Binary, Sources \nand Javadocs are all available in \n[Maven Central](https://search.maven.org/search?q=g:io.github.data-rocks-team).\n\nFor JUnit 5\n\u003cdetails\u003e\n  \u003csummary\u003eMaven\u003c/summary\u003e\n  \n  #### Example POM\n```xml\n\u003c!-- Declare schemaregistry-junit5 dependency --\u003e\n\u003cdependency\u003e\n  \u003cgroupId\u003eio.github.data-rocks-team\u003c/groupId\u003e\n  \u003cartifactId\u003eschemaregistry-junit5\u003c/artifactId\u003e\n  \u003cversion\u003e0.1.1\u003c/version\u003e\n\u003c/dependency\u003e\n\n\u003c!-- Include Confluent Schema-Registry --\u003e\n\u003cdependency\u003e\n  \u003cgroupId\u003eio.confluent\u003c/groupId\u003e\n  \u003cartifactId\u003ekafka-schema-registry\u003c/artifactId\u003e\n  \u003cversion\u003eX.X.X\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eGradle\u003c/summary\u003e\n  \n  #### Example build.gradle\n```groovy\ntestImplementation 'io.github.data-rocks-team:schemaregistry-junit5:0.1.1'\ntestImplementation 'io.confluent:kafka-schema-registry:X.X.X'\n```\n\u003c/details\u003e\n\nFor JUnit 4\n\u003cdetails\u003e\n  \u003csummary\u003eMaven\u003c/summary\u003e\n  \n  #### Example POM\n```xml\n\u003c!-- Declare schemaregistry-junit5 dependency --\u003e\n\u003cdependency\u003e\n  \u003cgroupId\u003eio.github.data-rocks-team\u003c/groupId\u003e\n  \u003cartifactId\u003eschemaregistry-junit4\u003c/artifactId\u003e\n  \u003cversion\u003e0.1.1\u003c/version\u003e\n\u003c/dependency\u003e\n\n\u003c!-- Include Confluent Schema-Registry --\u003e\n\u003cdependency\u003e\n  \u003cgroupId\u003eio.confluent\u003c/groupId\u003e\n  \u003cartifactId\u003ekafka-schema-registry\u003c/artifactId\u003e\n  \u003cversion\u003eX.X.X\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eGradle\u003c/summary\u003e\n  \n  #### Example build.gradle\n```groovy\ntestImplementation 'io.github.data-rocks-team:schemaregistry-junit4:0.1.1'\ntestImplementation 'io.confluent:kafka-schema-registry:X.X.X'\n```\n\u003c/details\u003e\n\n## How it works\nGiven a class using `SharedSchemaRegistryTestResource`, before all tests start, \n[JUnit](https://junit.org/junit5/) calls the start function. This function replicates the behaviour \nof [SchemaRegistryMain.java](https://github.com/confluentinc/schema-registry/blob/master/core/src/main/java/io/confluent/kafka/schemaregistry/rest/SchemaRegistryMain.java), \nwhich first validates the settings and then starts the server. When all tests have been executed, \nindependently of the test results, JUnit calls the shutdown function, which will shut the server \ndown.\nLogs generated by the server are redirected to the terminal.\n\n## Regression testing\n| Confluent Version | Regression test |\n| ----------- | ----------- |\n| 4.x.x | [![Actions Status](https://github.com/data-rocks-team/schemaregistry-junit/workflows/build/badge.svg)](https://github.com/data-rocks-team/schemaregistry-junit/actions/workflows/gradle-regression-4x.yml) |\n| 5.x.x | [![Actions Status](https://github.com/data-rocks-team/schemaregistry-junit/workflows/build/badge.svg)](https://github.com/data-rocks-team/schemaregistry-junit/actions/workflows/gradle-regression-5x.yml) |\n| 6.x.x | [![Actions Status](https://github.com/data-rocks-team/schemaregistry-junit/workflows/build/badge.svg)](https://github.com/data-rocks-team/schemaregistry-junit/actions/workflows/gradle-regression-6x.yml) |\n| 7.x.x | [![Actions Status](https://github.com/data-rocks-team/schemaregistry-junit/workflows/build/badge.svg)](https://github.com/data-rocks-team/schemaregistry-junit/actions/workflows/gradle-regression-7x.yml) |\n\nEvery build is automatically tested against the latest patch version of every minor version since\n4.0.0. For more details, check [regression-test](/regression-test).\n\nBefore compiling any example, run `./gradlew setDependenciesForRegressionTesting` in the main \nproject. This gradle task will ensure that the regression tests will use the same dependency \nversions used in the main project. To ensure that `setDependenciesForExample` works as expected, \ndependencies version should be defined in the `ext {}` section in the \n[main build.gradle](build.gradle) and the example project should define versions as \n`nameOfTheDependencyVersion = PLACEHOLDER` (see \n[regression-test/build.gradle](regression-test/build.gradle)).\n\nUpon bumping a major or minor version of `io.confluent:kafka-schema-registry`, a new regression test \nshould be added under [regression-test](regression-test).\n\n## Examples\n- [JUnit 5 example](/examples/junit-5)\n- [JUnit 4 example](/examples/junit-4)\n\nBefore compiling any example, run `./gradlew setDependenciesForExample` in the main project. This \ngradle task will ensure that the example project will use the same dependency versions used in the\nmain project. To ensure that `setDependenciesForExample` works as expected, dependencies \nversion should be defined in the `ext {}` section in the [main build.gradle](build.gradle) and the\nexample project should define versions as `nameOfTheDependencyVersion = PLACEHOLDER` (an example \ncan be found [here](examples/junit-5/build.gradle)). \n\n## Contributing\nFound a bug? You've got an awesome feature you want to add? We welcome contributions!\n\n## Feedback\nAny questions or suggestions? Get in touch!\n\n[![Tweet](https://img.shields.io/badge/Twitter-1DA1F2?style=for-the-badge\u0026logo=twitter\u0026logoColor=white)](https://twitter.com/FraNobilia)\n[![LinkedIn](https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge\u0026logo=linkedin\u0026logoColor=white)](https://www.linkedin.com/in/fnobilia/)\n\n## Blog post\n- [Docker free kafka integration tests](https://medium.com/data-rocks/docker-free-kafka-integration-tests-4cd045d6947a)\n\n## License\nMIT [view license](/LICENSE)\n\n[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fdata-rocks-team%2Fschemaregistry-junit.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fdata-rocks-team%2Fschemaregistry-junit?ref=badge_large)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdata-rocks-team%2Fschemaregistry-junit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdata-rocks-team%2Fschemaregistry-junit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdata-rocks-team%2Fschemaregistry-junit/lists"}