Skip to content

Consolidate test layers to share PLONE_RESTAPI_DX_FIXTURE base#1984

Merged
davisagli merged 1 commit intomainfrom
consolidate-test-layers
Feb 18, 2026
Merged

Consolidate test layers to share PLONE_RESTAPI_DX_FIXTURE base#1984
davisagli merged 1 commit intomainfrom
consolidate-test-layers

Conversation

@jensens
Copy link
Member

@jensens jensens commented Feb 14, 2026

Summary

  • Make PloneRestApiDXPAMLayer and PloneRestApiDXIterateLayer extend PLONE_RESTAPI_DX_FIXTURE instead of duplicating its setup, eliminating redundant ZCML + profile loading cycles (~5-15s wall time saved per full test run)
  • Switch test_boolean_value and test_indexers from FUNCTIONAL to INTEGRATION testing (no HTTP calls or commits needed)
  • Fix pre-existing test isolation bug in test_dxfield_publication where transaction.commit() in IntegrationTesting leaked portal_timezone into the shared DemoStorage

Fixes #1983


📚 Documentation preview 📚: https://plonerestapi--1984.org.readthedocs.build/

@mister-roboto
Copy link

@jensens thanks for creating this Pull Request and helping to improve Plone!

TL;DR: Finish pushing changes, pass all other checks, then paste a comment:

@jenkins-plone-org please run jobs

To ensure that these changes do not break other parts of Plone, the Plone test suite matrix needs to pass, but it takes 30-60 min. Other CI checks are usually much faster and the Plone Jenkins resources are limited, so when done pushing changes and all other checks pass either start all Jenkins PR jobs yourself, or simply add the comment above in this PR to start all the jobs automatically.

Happy hacking!

@jensens jensens marked this pull request as draft February 14, 2026 00:33
@jensens jensens force-pushed the consolidate-test-layers branch from 4ee62c3 to 25f0431 Compare February 14, 2026 00:37
Make PloneRestApiDXPAMLayer and PloneRestApiDXIterateLayer extend
PLONE_RESTAPI_DX_FIXTURE instead of duplicating its setup or using
a separate lineage. This eliminates redundant ZCML + profile loading
cycles, saving ~5-15s of layer setup per test run.

Also switch test_boolean_value and test_indexers from FUNCTIONAL to
INTEGRATION testing (they never make HTTP calls or commit transactions).

Fix pre-existing test isolation bug in test_dxfield_publication where
transaction.commit() in IntegrationTesting leaked portal_timezone
into the shared DemoStorage.

Fixes #1983
@jensens jensens force-pushed the consolidate-test-layers branch from 25f0431 to 1b68229 Compare February 14, 2026 00:49
@jensens
Copy link
Member Author

jensens commented Feb 14, 2026

@jenkins-plone-org please run jobs

Copy link
Member

@davisagli davisagli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

"plone.versioning",
}
fti = portal.portal_types["Document"]
fti.behaviors = tuple(set(fti.behaviors).difference(versioning_behavior))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The old one looks simpler.

@davisagli davisagli merged commit 05ee59d into main Feb 18, 2026
17 checks passed
@davisagli davisagli deleted the consolidate-test-layers branch February 18, 2026 06:29
wesleybl pushed a commit that referenced this pull request Feb 19, 2026
Make PloneRestApiDXPAMLayer and PloneRestApiDXIterateLayer extend
PLONE_RESTAPI_DX_FIXTURE instead of duplicating its setup or using
a separate lineage. This eliminates redundant ZCML + profile loading
cycles, saving ~5-15s of layer setup per test run.

Also switch test_boolean_value and test_indexers from FUNCTIONAL to
INTEGRATION testing (they never make HTTP calls or commit transactions).

Fix pre-existing test isolation bug in test_dxfield_publication where
transaction.commit() in IntegrationTesting leaked portal_timezone
into the shared DemoStorage.

Fixes #1983
davisagli pushed a commit that referenced this pull request Feb 19, 2026
Consolidate test layers to share PLONE_RESTAPI_DX_FIXTURE base (#1984)

Make PloneRestApiDXPAMLayer and PloneRestApiDXIterateLayer extend
PLONE_RESTAPI_DX_FIXTURE instead of duplicating its setup or using
a separate lineage. This eliminates redundant ZCML + profile loading
cycles, saving ~5-15s of layer setup per test run.

Also switch test_boolean_value and test_indexers from FUNCTIONAL to
INTEGRATION testing (they never make HTTP calls or commit transactions).

Fix pre-existing test isolation bug in test_dxfield_publication where
transaction.commit() in IntegrationTesting leaked portal_timezone
into the shared DemoStorage.

Fixes #1983

Co-authored-by: Jens W. Klein <jk@kleinundpartner.at>
hasansyed107 added a commit to hasansyed107/plone.restapi that referenced this pull request Feb 20, 2026
…#1984)

Make PloneRestApiDXPAMLayer and PloneRestApiDXIterateLayer extend
PLONE_RESTAPI_DX_FIXTURE instead of duplicating its setup or using
a separate lineage. This eliminates redundant ZCML + profile loading
cycles, saving ~5-15s of layer setup per test run.

Also switch test_boolean_value and test_indexers from FUNCTIONAL to
INTEGRATION testing (they never make HTTP calls or commit transactions).

Fix pre-existing test isolation bug in test_dxfield_publication where
transaction.commit() in IntegrationTesting leaked portal_timezone
into the shared DemoStorage.

Fixes plone#1983
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Consolidate test layers to reduce test suite setup time

3 participants