Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

!!! TASK: Workspace aware commands #4708

Merged
merged 51 commits into from
Mar 14, 2024
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
3949e13
WIP: BUGFIX: Prevent new events in published content streams
bwaidelich Nov 2, 2023
3698abe
Refactor commands from content stream IDs to workspace names
Nov 3, 2023
d983937
Merge branch '9.0' into workspaceAwareCommands
Nov 3, 2023
dd29133
WIP: Adjust test cases
Nov 3, 2023
0be0a13
WIP: Adjust workspace publication handling
Nov 3, 2023
a32eeff
Merge branch '9.0' into workspaceAwareCommands
Nov 6, 2023
4d02a94
Adjust publishing to workspace based workflow
Nov 6, 2023
8e83e99
WIP: Adjust test cases and add surrogate WorkspaceWasRebased
Nov 6, 2023
7248cb1
Adjust Neos tests
Nov 7, 2023
18df5dc
Adjust Doctrine DBAL adapter tests
Nov 7, 2023
609913e
Adjust session handling to Flow
Nov 7, 2023
40f238c
Merge remote-tracking branch 'origin/9.0' into workspaceAwareCommands
mhsdesign Nov 26, 2023
d55994a
Merge remote-tracking branch 'origin/9.0' into workspaceAwareCommands
mhsdesign Dec 1, 2023
eb10d00
Merge branch '9.0' into workspaceAwareCommands
Dec 8, 2023
5f8ceb1
Merge branch '9.0' into workspaceAwareCommands
Dec 20, 2023
db6b449
Merge remote-tracking branch 'origin/9.0' into workspaceAwareCommands
mhsdesign Jan 16, 2024
0f46918
Merge remote-tracking branch 'origin/9.0' into workspaceAwareCommands
mhsdesign Jan 23, 2024
7a4877c
TASK: Fix using $workspaceName for `CreateNodeVariant`
mhsdesign Jan 30, 2024
bddd901
Merge remote-tracking branch 'origin/9.0' into workspaceAwareCommands
mhsdesign Jan 30, 2024
d1c7b0b
WIP: Adjust workspace command handling
Jan 31, 2024
2c223e2
Merge branch 'workspaceAwareCommands' of https://github.com/neos/neos…
Jan 31, 2024
75e5606
Merge remote-tracking branch 'origin/9.0' into workspaceAwareCommands
mhsdesign Feb 18, 2024
dd61ac0
Merge branch '9.0' into workspaceAwareCommands
Feb 22, 2024
0920362
Merge branch 'workspaceAwareCommands' of https://github.com/neos/neos…
Feb 22, 2024
7d7e698
Require paratest
Feb 22, 2024
90823c3
Require paratest and matching phpunit version
Feb 22, 2024
bb046ff
Also require paratest in distribution non-dev
Feb 22, 2024
a8c5332
Adjust tests to PHPUnit 10
Feb 22, 2024
24250f8
Downgrade to paratest 6
Feb 22, 2024
d0f4ecc
Merge branch '9.0' into workspaceAwareCommands
Mar 11, 2024
6fb689b
Introduce parallel testing for workspace changes during rebase
Mar 11, 2024
d094280
Merge branch '9.0' into workspaceAwareCommands
Mar 11, 2024
b70bae0
Increase reproduction of publication errors
Mar 11, 2024
9b40942
Merge branch 'bugfix/4680-prevent-events-in-closed-content-streams' i…
Mar 12, 2024
b987fa3
4708 - Enforce content streams to not be closed
Mar 12, 2024
bf3c36d
Implement partial workspace publication
Mar 12, 2024
7f6492c
Stabilize parallel tests
Mar 12, 2024
2da5ee8
Pacify linter
Mar 12, 2024
f360c1b
Adjust newer tests
Mar 12, 2024
40378d3
Merge branch '9.0' into workspaceAwareCommands
Mar 13, 2024
35822a9
Remove obsolete runtime cache disabling
Mar 13, 2024
bf84fa9
4708 - Add ExpectedVersion checks
Mar 13, 2024
a93bdde
Merge branch '9.0' into workspaceAwareCommands
Mar 13, 2024
b194763
4708 - add test cases for content stream closing
Mar 13, 2024
6c998f8
Update Neos.ContentRepository.BehavioralTests/Tests/Functional/Featur…
nezaniel Mar 13, 2024
44bfb29
4583 - WIP: Implement variant recreation tests
Mar 13, 2024
1bae464
WIP: Refactor partial workspace discarding
Mar 13, 2024
f81864c
4583 - Introduce Contentstream reopening to recover workspaces from r…
Mar 14, 2024
542c4ad
Merge branch '4583-variantRecreation' into workspaceAwareCommands
Mar 14, 2024
fb4e442
4583 - Allow ContentStreamProjection to apply ContenStreamWasReopened
Mar 14, 2024
82494f1
Merge branch '4583-variantRecreation' into workspaceAwareCommands
Mar 14, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -24,17 +24,17 @@ Feature: Create a root node aggregate
| workspaceDescription | "The live workspace" |
| newContentStreamId | "cs-identifier" |
And the graph projection is fully up to date
And I am in content stream "cs-identifier"
And I am in the active content stream of workspace "live"
And the command CreateRootNodeAggregateWithNode is executed with payload:
| Key | Value |
| nodeAggregateId | "lady-eleonode-rootford" |
| nodeTypeName | "Neos.ContentRepository:Root" |
And the graph projection is fully up to date

Scenario: Try to create a root node aggregate in a content stream that currently does not exist:
Scenario: Try to create a root node aggregate in a workspace that currently does not exist:
When the command CreateRootNodeAggregateWithNode is executed with payload and exceptions are caught:
| Key | Value |
| contentStreamId | "i-do-not-exist" |
| workspaceName | "i-do-not-exist" |
| nodeAggregateId | "nody-mc-nodeface" |
| nodeTypeName | "Neos.ContentRepository:Root" |
Then the last command should have thrown an exception of type "ContentStreamDoesNotExistYet"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Feature: Create a root node aggregate
| workspaceDescription | "The live workspace" |
| newContentStreamId | "cs-identifier" |
And the graph projection is fully up to date
And I am in content stream "cs-identifier"
And I am in the active content stream of workspace "live"

Scenario: Create the initial root node aggregate using valid payload without dimensions
When the command CreateRootNodeAggregateWithNode is executed with payload:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,7 @@ Feature: Create a root node aggregate with tethered children
| workspaceDescription | "The live workspace" |
| newContentStreamId | "cs-identifier" |
And the graph projection is fully up to date
And I am in content stream "cs-identifier"
And I am in dimension space point {}
And I am in the active content stream of workspace "live" and dimension space point {}
And I am user identified by "initiating-user-identifier"

Scenario: Create root node with tethered children
Expand Down Expand Up @@ -134,7 +133,7 @@ Feature: Create a root node aggregate with tethered children
| Key | Value |
| text | "my sub sub default" |

When I am in content stream "cs-identifier" and dimension space point []
And I am in the active content stream of workspace "live" and dimension space point {}
And I expect node aggregate identifier "lady-eleonode-rootford" to lead to node cs-identifier;lady-eleonode-rootford;{}
And I expect this node to have no parent node
And I expect this node to have the following child nodes:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ Feature: Create a root node aggregate with tethered children
| workspaceDescription | "The live workspace" |
| newContentStreamId | "cs-identifier" |
And the graph projection is fully up to date
And I am in content stream "cs-identifier"
And I am in the active content stream of workspace "live"
And I am user identified by "initiating-user-identifier"

Scenario: Create root node with tethered children
Expand Down Expand Up @@ -173,7 +173,7 @@ Feature: Create a root node aggregate with tethered children
| Key | Value |
| text | "my sub sub default" |

When I am in content stream "cs-identifier" and dimension space point {"language": "de"}
When I am in the active content stream of workspace "live" and dimension space point {"language": "de"}
And I expect node aggregate identifier "lady-eleonode-rootford" to lead to node cs-identifier;lady-eleonode-rootford;{}
And I expect this node to have no parent node
And I expect this node to have the following child nodes:
Expand Down Expand Up @@ -202,7 +202,7 @@ Feature: Create a root node aggregate with tethered children
And I expect this node to have no references
And I expect this node to not be referenced

When I am in content stream "cs-identifier" and dimension space point {"language": "gsw"}
When I am in the active content stream of workspace "live" and dimension space point {"language": "gsw"}
And I expect node aggregate identifier "lady-eleonode-rootford" to lead to node cs-identifier;lady-eleonode-rootford;{}
And I expect this node to have no parent node
And I expect this node to have the following child nodes:
Expand Down Expand Up @@ -232,7 +232,7 @@ Feature: Create a root node aggregate with tethered children
And I expect this node to not be referenced


When I am in content stream "cs-identifier" and dimension space point {"language": "en"}
When I am in the active content stream of workspace "live" and dimension space point {"language": "en"}
And I expect node aggregate identifier "lady-eleonode-rootford" to lead to node cs-identifier;lady-eleonode-rootford;{}
And I expect this node to have no parent node
And I expect this node to have the following child nodes:
Expand Down Expand Up @@ -262,7 +262,7 @@ Feature: Create a root node aggregate with tethered children
And I expect this node to not be referenced


When I am in content stream "cs-identifier" and dimension space point {"language": "en_US"}
When I am in the active content stream of workspace "live" and dimension space point {"language": "en_US"}
And I expect node aggregate identifier "lady-eleonode-rootford" to lead to node cs-identifier;lady-eleonode-rootford;{}
And I expect this node to have no parent node
And I expect this node to have the following child nodes:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Feature: Create a root node aggregate
| workspaceDescription | "The live workspace" |
| newContentStreamId | "cs-identifier" |
And the graph projection is fully up to date
And I am in content stream "cs-identifier"
And I am in the active content stream of workspace "live"

Scenario: Create the initial root node aggregate using valid payload with dimensions
When the command CreateRootNodeAggregateWithNode is executed with payload:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,26 +38,25 @@ Feature: Create node aggregate with node
| workspaceDescription | "The live workspace" |
| newContentStreamId | "cs-identifier" |
And the graph projection is fully up to date
And I am in content stream "cs-identifier"
And I am in dimension space point {}
And I am in the active content stream of workspace "live" and dimension space point {}
And the command CreateRootNodeAggregateWithNode is executed with payload:
| Key | Value |
| nodeAggregateId | "lady-eleonode-rootford" |
| nodeTypeName | "Neos.ContentRepository:Root" |
And the graph projection is fully up to date

Scenario: Try to create a node aggregate in a content stream that currently does not exist:
Scenario: Try to create a node aggregate in a workspace that currently does not exist:
When the command CreateNodeAggregateWithNode is executed with payload and exceptions are caught:
| Key | Value |
| contentStreamId | "non-existent-cs-identifier" |
| workspaceName | "non-existent" |
| nodeAggregateId | "sir-david-nodenborough" |
| nodeTypeName | "Neos.ContentRepository.Testing:Node" |
| parentNodeAggregateId | "lady-eleonode-rootford" |
| nodeName | "document" |

Then the last command should have thrown an exception of type "ContentStreamDoesNotExistYet"

Scenario: Try to create a node aggregate in a content stream where it is already present:
Scenario: Try to create a node aggregate in a workspace where it is already present:
When the command CreateNodeAggregateWithNode is executed with payload and exceptions are caught:
| Key | Value |
| nodeAggregateId | "lady-eleonode-rootford" |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ Feature: Create node aggregate with node
| workspaceDescription | "The live workspace" |
| newContentStreamId | "cs-identifier" |
And the graph projection is fully up to date
And I am in content stream "cs-identifier"
And I am in the active content stream of workspace "live"
And I am in dimension space point {}
And the command CreateRootNodeAggregateWithNode is executed with payload:
| Key | Value |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Feature: Create node aggregate with node
| workspaceDescription | "The live workspace" |
| newContentStreamId | "cs-identifier" |
And the graph projection is fully up to date
And I am in content stream "cs-identifier"
And I am in the active content stream of workspace "live"
And I am in dimension space point {}
And I am user identified by "initiating-user-identifier"
And the command CreateRootNodeAggregateWithNode is executed with payload:
Expand Down Expand Up @@ -149,7 +149,7 @@ Feature: Create node aggregate with node
| Key | Value |
| defaultText | "my default" |

When I am in content stream "cs-identifier" and dimension space point {}
When I am in the active content stream of workspace "live" and dimension space point {}
Then I expect the subgraph projection to consist of exactly 4 nodes
And I expect node aggregate identifier "lady-eleonode-rootford" to lead to node cs-identifier;lady-eleonode-rootford;{}
And I expect this node to have no parent node
Expand Down Expand Up @@ -201,7 +201,7 @@ Feature: Create node aggregate with node
| workspaceDescription | "The live workspace" |
| newContentStreamId | "cs-identifier" |
And the graph projection is fully up to date
And I am in content stream "cs-identifier"
And I am in the active content stream of workspace "live"
And I am in dimension space point {}
And I am user identified by "initiating-user-identifier"
And the command CreateRootNodeAggregateWithNode is executed with payload:
Expand Down Expand Up @@ -242,7 +242,7 @@ Feature: Create node aggregate with node
| succeedingNodeAggregateId | "sir-david-nodenborough" |

When the graph projection is fully up to date
And I am in content stream "cs-identifier" and dimension space point {}
And I am in the active content stream of workspace "live" and dimension space point {}
And I expect node aggregate identifier "sir-nodeward-nodington-iii" and node path "esquire" to lead to node cs-identifier;sir-nodeward-nodington-iii;{}
And I expect this node to be a child of node cs-identifier;lady-eleonode-rootford;{}
And I expect this node to have no child nodes
Expand Down Expand Up @@ -286,7 +286,7 @@ Feature: Create node aggregate with node
| workspaceDescription | "The live workspace" |
| newContentStreamId | "cs-identifier" |
And the graph projection is fully up to date
And I am in content stream "cs-identifier"
And I am in the active content stream of workspace "live"
And I am in dimension space point {}
And I am user identified by "initiating-user-identifier"
And the command CreateRootNodeAggregateWithNode is executed with payload:
Expand Down Expand Up @@ -408,7 +408,7 @@ Feature: Create node aggregate with node
| Key | Value |
| text | "my sub sub default" |

When I am in content stream "cs-identifier" and dimension space point []
When I am in the active content stream of workspace "live" and dimension space point []
And I expect node aggregate identifier "lady-eleonode-rootford" to lead to node cs-identifier;lady-eleonode-rootford;{}
And I expect this node to have no parent node
And I expect this node to have the following child nodes:
Expand Down Expand Up @@ -470,7 +470,7 @@ Feature: Create node aggregate with node
| workspaceDescription | "The live workspace" |
| newContentStreamId | "cs-identifier" |
And the graph projection is fully up to date
And I am in content stream "cs-identifier"
And I am in the active content stream of workspace "live"
And I am in dimension space point {}
And I am user identified by "initiating-user-identifier"
And the command CreateRootNodeAggregateWithNode is executed with payload:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Feature: Create node aggregate with node
| workspaceDescription | "The live workspace" |
| newContentStreamId | "cs-identifier" |
And the graph projection is fully up to date
And I am in content stream "cs-identifier"
And I am in the active content stream of workspace "live"
And the command CreateRootNodeAggregateWithNode is executed with payload:
| Key | Value |
| nodeAggregateId | "lady-eleonode-rootford" |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ Feature: Create a node aggregate with complex default values
| workspaceDescription | "The live workspace" |
| newContentStreamId | "cs-identifier" |
And the graph projection is fully up to date
And I am in content stream "cs-identifier"
And I am in the active content stream of workspace "live"
And I am in dimension space point {}
And the command CreateRootNodeAggregateWithNode is executed with payload:
| Key | Value |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Feature: Create node variant
| workspaceDescription | "The live workspace" |
| newContentStreamId | "cs-identifier" |
And the graph projection is fully up to date
And I am in content stream "cs-identifier" and dimension space point {"market":"DE", "language":"gsw"}
And I am in the active content stream of workspace "live" and dimension space point {"market":"DE", "language":"gsw"}
And the command CreateRootNodeAggregateWithNode is executed with payload:
| Key | Value |
| nodeAggregateId | "lady-eleonode-rootford" |
Expand All @@ -44,7 +44,7 @@ Feature: Create node variant
Scenario: Try to create a variant in a content stream that does not exist yet
When the command CreateNodeVariant is executed with payload and exceptions are caught:
| Key | Value |
| contentStreamId | "i-do-not-exist-yet" |
| workspaceName | "i-do-not-exist-yet" |
| nodeAggregateId | "sir-david-nodenborough" |
| sourceOrigin | {"market":"CH", "language":"gsw"} |
| targetOrigin | {"market":"DE", "language":"de"} |
Expand Down
Loading
Loading