Skip to content

Introduce ecosystem file and env-loader for RHEL#276

Merged
cubap merged 6 commits into
testing-testingfrom
ecosystem-config-for-testing
May 21, 2026
Merged

Introduce ecosystem file and env-loader for RHEL#276
cubap merged 6 commits into
testing-testingfrom
ecosystem-config-for-testing

Conversation

@thehabes
Copy link
Copy Markdown
Member

@thehabes thehabes commented May 20, 2026

This should make #273 go ✅

@thehabes thehabes marked this pull request as ready for review May 20, 2026 18:33
@thehabes thehabes requested a review from cubap as a code owner May 20, 2026 18:33
@cubap cubap merged commit 07be981 into testing-testing May 21, 2026
1 check passed
@cubap cubap deleted the ecosystem-config-for-testing branch May 21, 2026 14:46
thehabes added a commit that referenced this pull request May 21, 2026
* Migrate tests to node:test and update CI

Replace Jest-based test setup with native node:test/assert and update CI. Tests were refactored to use node:test and node:assert (many __tests__ updated), new auth token unit tests added, and routes_mounted.test.js reworked to a data-driven style. The database mock was rewritten to remove Jest-specific APIs and provide a lightweight mock/registry with resetMocks; jest.config.js was removed. GitHub Actions workflows now separate install, test (npm run test:ci) and coverage (npm run coverage:ci) steps. package.json dev tooling and test scripts were adjusted accordingly, and test bootstrap/loader/coverage artifacts were added while placeholder .txt test files were removed.

* Apply suggestions from code review

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Delete coverage-inventory.json

* rebranch

* Update cd_dev.yaml

* Update cd_prod.yaml

* hotfix the search test

* Update structural validation + sync strategy in  __tests__/openapi_sync_artifacts.test.js

* dedup test runs on prod

* Bug fixes and tests for critical functionality

* critical functionality tests

* These no longer need the create step for testing

* These no longer need the create step for testing

* Fix exclusion flag

* cleanup

* update start script to avoid dotenv dependency

* Line up contract.  Add HEAD tests because contract requires them.

* load env

* last bit of cleanup and bolstering

* Coverage (#274)

* Add middleware for PATCH override support

Introduce createPatchOverrideMiddleware in rest.js to centralize validation of X-HTTP-Method-Override for POST-to-PATCH requests. Replace duplicated inline checks in routes/patchSet.js, routes/patchUnset.js, and routes/patchUpdate.js with the new middleware (each using a route-specific statusMessage). Also standardize error handling by ending 405 responses with res.status(405).end() and export the new middleware from rest.js.

* End 405 responses and add route wrapper tests

Replace patterns that set status and call next(res) with res.status(405).end() in route fallbacks (routes/query.js, routes/release.js, routes/search.js) to ensure the response is terminated immediately. Add route wrapper tests (routes/__tests__/route_wrappers.test.js) to validate method-override handling, unsupported-method fallbacks, client verify behavior, and API discovery. Include a test coverage inventory (test/coverage-inventory.json) to record current test/coverage state.

* End responses for unsupported-method handlers

Replace next(res) with res.status(405).end() in multiple route fallbacks to ensure responses are terminated immediately (bulkCreate, bulkUpdate, create, delete, history, id, overwrite, putUpdate, since). Update route wrapper tests to import additional routers, add helper asserting fallback behavior on specific paths, and add tests for static/index handlers. Update test coverage inventory to reflect the new/updated tests.

* Guard for bot checks.  Stop releases from hanging on a tree error.

* Changes from review.  Reduce wording locks in tests.

* last bit of cleanup from review

* Introduce ecosystem file and env-loader for RHEL (#276)

* Introduce ecosystem file and env-loader for RHEL

* Introduce ecosystem file and env-loader for RHEL

* changes from testing

* cmon RHEL

* back to 500M

* 100% coverage

* Changes during review

* test: lock down secret name and cp target in sync workflow tests

Adds two regex assertions to each sync-artifact test:
- secrets.OPENAPI must appear verbatim (catches a rename that would
  silently break the receiver checkout step at runtime)
- the literal 'cp source target' line must point at the expected paths
  (already covered for provider sync; now mirrored on shared sync)

Backports improvements developed during TinyNode's parallel sync test
where the same regression class actually bit us this week.

* chore: align RERUM sync workflows with TinyNode/TinyPen pattern

- bump peter-evans/create-pull-request v7 -> v8
- rename receiver checkout path rerum_openapi -> receiver
- add `add-paths`, explicit `base: main`, `ref: main` on receiver checkout
- add `test -f` verify-stub guard on both workflows (receiver stubs exist)
- branch naming automation/sync-rerum-* -> sync/rerum-*
- commit-message/title gain `chore:` prefix
- PR body now matches the bullet-list format used by TinyNode and TinyPen
- update tests to use `path:\s*receiver`, `@v\d+`, and new cp target regex

* Remove claude from authorship lines.  Move contracts/ under openapi/contracts like other repos for consistency

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Bryan Haberberger <bryan.j.haberberger@slu.edu>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants