Built integration test schema through SchemaBuilderEvent - #36
Closed
Steveb-p wants to merge 2 commits into
Closed
Conversation
ibexa/test-core#43 rebuilds DatabaseSchemaHook on SchemaBuilderInterface::buildSchema() instead of importing raw schema.yaml files, so the test kernel now has to register DoctrineSchemaBundle (which provides SchemaBuilderInterface) and IbexaRepositoryInstallerBundle (which holds core's own BuildSchemaSubscriber).
Points CI at the branch that rebuilds DatabaseSchemaHook, so this PR's tests can run before that PR merges. Must be removed before merging.
Contributor
Author
|
Superseded by ibexa/test-core#43, which now registers |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Warning
This branch includes a temporary commit (
dependencies.json) that points CI atibexa/test-core#43 so tests can run before that PR merges. Must be removed before merging
this PR.
Related PRs:
The other 26 package PRs (all must land together with #43)
Description:
ibexa/test-core#43 rebuilds
DatabaseSchemaHookonSchemaBuilderInterface::buildSchema(). Itpreviously imported raw
schema.yamlfiles listed throughSchemaFilesProviderInterfaceviaLegacySchemaImporter, which never dispatchesSchemaBuilderEvent— so a package contributingits schema through the event rather than a file was never covered by integration tests, even
though the event is what
ibexa:install's legacy path uses in production.That makes #43 a breaking change for every
Bootstrapperconsumer, not only the ones withtheir own provider: the deleted
SchemaFilesKernelMethodProviderwas the fallback that read$kernel->getSchemaFiles(). Without the change below the suite fails on missing core tables.So the test kernel registers two more bundles:
DoctrineSchemaBundle— providesSchemaBuilderInterface.IbexaRepositoryInstallerBundle— core's ownBuildSchemaSubscriberlives there, not inIbexaCoreBundle. Without it the event yields every other package's tables but none of core's.This package has no
SchemaFilesProvider; it relied on thegetSchemaFiles()fallback that #43 removes.Nothing outside
tests/changes.For QA:
composer test-integration— 10 tests / 10 errors — byte-identical to the baseline run on4.6; all pre-existing and unrelated.