Title: Publish Test Utilities SDK · Issue #384 · oras-project/oras-java · GitHub
Open Graph Title: Publish Test Utilities SDK · Issue #384 · oras-project/oras-java
X Title: Publish Test Utilities SDK · Issue #384 · oras-project/oras-java
Description: What would you like to be added? In addition to the oras-java-sdk, this repository should also publish a test utilities library. Ex: oras-java-test. Testcontainer classes like ZotContainer would be particularly useful for developer JUnit...
Open Graph Description: What would you like to be added? In addition to the oras-java-sdk, this repository should also publish a test utilities library. Ex: oras-java-test. Testcontainer classes like ZotContainer would be...
X Description: What would you like to be added? In addition to the oras-java-sdk, this repository should also publish a test utilities library. Ex: oras-java-test. Testcontainer classes like ZotContainer would be...
Opengraph URL: https://github.com/oras-project/oras-java/issues/384
X: @github
Domain: patch-diff.githubusercontent.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Publish Test Utilities SDK","articleBody":"### What would you like to be added?\n\nIn addition to the `oras-java-sdk`, this repository should also publish a test utilities library. Ex: `oras-java-test`.\n\nTestcontainer classes like `ZotContainer` would be particularly useful for developer JUnit testing, since ORAS can only interact with a running container registry for pull and push actions.\n\n### Why is this needed for ORAS?\n\nThe `oras-java-sdk` relies on static methods to instantiate key objects like `LocalPath` and `Registry`. Such code is challenging to mock/stub out with JUnit, and therefore makes it challenging for adopters to execute unit tests. Furthermore, ORAS needs to interact with a running HTTP endpoint for basic operations like push and pull. There is no easy way to tell ORAS to \"push'; to a local directory.\n\nProviding a test library with helpers and utility classes will help end users verify their Java code. The testcontainer classes that wrap container registries like Zot and the distribution reference implementation would be especially helpful. Isolating these classes in a test library also keeps the dependency tree of the main SDK thin.\n\n### Are you willing to submit PRs to contribute to this feature?\n\n- [x] Yes, I am willing to implement it.","author":{"url":"https://github.com/adambkaplan","@type":"Person","name":"adambkaplan"},"datePublished":"2025-09-03T20:34:55.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":3},"url":"https://github.com/384/oras-java/issues/384"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:49005692-da1a-1b0e-3fec-2ced6be70202 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | 9ECE:2C8C4C:60EC4D7:7DAB556:697E11CA |
| html-safe-nonce | ad63fbab3b645bc83bd5fbfcd91bc705c7c769d36a045c4ea886fe1e5ea4759b |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5RUNFOjJDOEM0Qzo2MEVDNEQ3OjdEQUI1NTY6Njk3RTExQ0EiLCJ2aXNpdG9yX2lkIjoiMzkwMDIzNzcwMTM2NTc2NDU1NCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 4594ae95f551bf7293644d85b346b33d4a047c357feb755d83e45500ae631fad |
| hovercard-subject-tag | issue:3381205761 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/oras-project/oras-java/384/issue_layout |
| twitter:image | https://opengraph.githubassets.com/d554feddc3e61efb162ef46903c32685f32d0e46a1f5185fe6775926510bcb3e/oras-project/oras-java/issues/384 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/d554feddc3e61efb162ef46903c32685f32d0e46a1f5185fe6775926510bcb3e/oras-project/oras-java/issues/384 |
| og:image:alt | What would you like to be added? In addition to the oras-java-sdk, this repository should also publish a test utilities library. Ex: oras-java-test. Testcontainer classes like ZotContainer would be... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | adambkaplan |
| hostname | github.com |
| expected-hostname | github.com |
| None | 60279d4097367e16897439d16d6bbe4180663db828c666eeed2656988ffe59f6 |
| turbo-cache-control | no-preview |
| go-import | github.com/oras-project/oras-java git https://github.com/oras-project/oras-java.git |
| octolytics-dimension-user_id | 81890686 |
| octolytics-dimension-user_login | oras-project |
| octolytics-dimension-repository_id | 857379476 |
| octolytics-dimension-repository_nwo | oras-project/oras-java |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 857379476 |
| octolytics-dimension-repository_network_root_nwo | oras-project/oras-java |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 7c85641c598ad130c74f7bcc27f58575cac69551 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width