richiebachala commented on issue #2044: URL: https://github.com/apache/iceberg-go/issues/2044#issuecomment-6435839076
I'd like to help with the testkit (step 1). With #2060 (optional SigV4) and #2061 (pterm removal) merged, it looks like the remaining unstarted piece here. @slachiewicz, are you already working on it? If you are, I'm happy to review and take the conformance wiring. If not, I can pick it up. Where I'm coming from: I've been building out `catalog/catalogtest` (#2165, #2173, #2237, #2248) and the external-REST conformance run with Polaris in CI (#2190). Today `TestRestCatalogConformance` is behind `//go:build integration` and needs a container. An in-process server would let the same `catalogtest.RunCatalogTests` run in plain `go test`. Proposed shape: - **Package:** `catalog/rest/resttest`, which exposes `NewHandler(opts...) http.Handler` plus a `NewServer(t)` helper built on `httptest`. It's importable by downstream projects. - **First PR:** `GET /v1/config`, namespaces (CRUD plus properties), and tables (create, load, exists, drop, rename, register). Also commits that validate requirements, where a stale requirement returns 409 so the client surfaces `ErrCommitFailed`, as the commit conformance tests from #2248 expect. State is held in memory, behind a mutex. - **Out of scope for the first PR:** views, scan planning, credential vending, multi-table transactions, and auth. Each can be its own follow-up. - **Dependencies:** it reuses the existing `table` metadata builder and the requirement/update types, so it adds no new dependency edges. - **Acceptance bar:** a conformance test that runs the full `catalogtest` suite against the handler. @zeroshade @laskoviymishka @nssalian, does that placement and scope fit the v1.0 package layout you're planning (#2062)? I'll keep the first PR small. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
