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

!!! FEATURE: Content Repository Privileges #5298

Merged
merged 82 commits into from
Nov 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
49aa8bb
FEATURE: Content Repository Privileges
bwaidelich Oct 15, 2024
4a93610
WIP: FEATURE: Content Repository Privileges
bwaidelich Oct 17, 2024
baa3fcc
Merge branch '9.0' into feature/3732-cr-privileges-v2
bwaidelich Oct 17, 2024
cf1273c
Fix ContentRepositoryAuthProviderFactory
bwaidelich Oct 17, 2024
b1fe6c6
Simplify `AuthProviderInterface::getWorkspacePrivilege()`
bwaidelich Oct 18, 2024
3dbf15c
Always grant read access to `live` workspace
bwaidelich Oct 18, 2024
ea2a9d5
Support CR specific subtree tag privileges
bwaidelich Oct 18, 2024
4facfd9
Merge branch '9.0' into feature/3732-cr-privileges-v2
bwaidelich Oct 18, 2024
6bf2e73
Rename `AuthProviderInterface::getUserId()`
bwaidelich Oct 18, 2024
bf57af6
Extract permission evaluation from `ContentRepositoryAuthProvider` to…
bwaidelich Oct 19, 2024
c9ee597
Merge branch '9.0' into feature/3732-cr-privileges-v2
bwaidelich Oct 22, 2024
b79e0ba
Move auth related classes to `Feature/Security`
bwaidelich Oct 22, 2024
a463e42
Merge branch '9.0' into feature/3732-cr-privileges-v2
bwaidelich Oct 22, 2024
d58fb98
`VisibilityConstraints` not only for Neos users
bwaidelich Oct 22, 2024
711d60f
Merge branch '9.0' into feature/3732-cr-privileges-v2
bwaidelich Oct 22, 2024
cab0bd6
Tweaks
bwaidelich Oct 22, 2024
7ef315c
Fix doc comments for `workspace:assignRole` command
bwaidelich Oct 23, 2024
35ff7db
Determine privileges based on the (authenticated) `Account`
bwaidelich Oct 23, 2024
65a0ab5
Adjust behat tests to account based ACL
bwaidelich Oct 23, 2024
57fcdec
Merge branch '9.0' into feature/3732-cr-privileges-v2
bwaidelich Oct 24, 2024
c0536d3
Tweak `AuthProvideInterface` method names
bwaidelich Oct 24, 2024
38bd6f3
Ignore disabled authorization checks when evaluating visibility const…
bwaidelich Oct 24, 2024
5143609
Merge branch '9.0' into feature/3732-cr-privileges-v2
bwaidelich Oct 24, 2024
6f9eeef
Merge branch '9.0' into feature/3732-cr-privileges-v2
bwaidelich Oct 25, 2024
fb4a3e8
FEATURE: EditNodePrivilege!
bwaidelich Oct 26, 2024
c05e53d
TASK: Dont expose `$visibilityConstraints` in `SiteNodeUtility`
mhsdesign Oct 27, 2024
0bf97e2
TASK: Use current user visibility constraints for data source controller
mhsdesign Oct 27, 2024
ca35555
Merge branch '9.0' into feature/3732-cr-privileges-v2
bwaidelich Oct 29, 2024
14c9f84
Introduce named `VisibilityConstraints` constructor
bwaidelich Oct 29, 2024
ac70e83
Adjust Behat tests to refer to Visibility constraints "default" inste…
bwaidelich Oct 29, 2024
abca5bb
Mark `NodePermissions` and `WorkspacePermissions` internal
bwaidelich Oct 29, 2024
1a46297
Deduplicate workspace role specificity determination
bwaidelich Oct 29, 2024
71444cb
Merge branch '9.0' into feature/3732-cr-privileges-v2
bwaidelich Oct 30, 2024
fedfac7
Tweak resolution of current node in `ContentRepositoryAuthProvider`
bwaidelich Oct 30, 2024
7311ca9
Revert `RebasableToOtherWorkspaceInterface` extension
bwaidelich Oct 30, 2024
5d17a70
Fix workspace permissions check
bwaidelich Oct 30, 2024
d940523
Merge branch '9.0' into feature/3732-cr-privileges-v2
bwaidelich Nov 5, 2024
3c6ab69
Remove `WorkspaceRoleSubject::__toString()`
bwaidelich Nov 5, 2024
0571abf
Split `ContentRepositoryAuthProvider::requireWorkspaceWritePermission…
bwaidelich Nov 5, 2024
b4e0c78
Tweak AuthProvider wiring
bwaidelich Nov 5, 2024
61848a2
Make `Privilege::reason` private
bwaidelich Nov 6, 2024
643ce49
Remove `SubtreeTagPrivilegeSubject::__toString()`
bwaidelich Nov 6, 2024
da297ec
Replace PHP assert by phpstan assert in `AbstractSubtreeTagBasedPrivi…
bwaidelich Nov 6, 2024
187b80e
Add inline docs
bwaidelich Nov 6, 2024
41e6b57
Extract `ContentRepositoryAuthProvider::nodeThatRequiresEditPrivilege…
bwaidelich Nov 6, 2024
7c64c2c
TASK: Tests for "Content Repository Privileges"
bwaidelich Nov 6, 2024
dec5667
moar tests
bwaidelich Nov 7, 2024
2efbf3a
moar better tests
bwaidelich Nov 8, 2024
b9e94e4
Merge branch '9.0' into feature/3732-cr-privileges-tests
bwaidelich Nov 8, 2024
9a39d72
Merge branch '9.0' into feature/3732-cr-privileges-v2
bwaidelich Nov 9, 2024
8b8eea7
Extract authenticated account from current Neos user
bwaidelich Nov 9, 2024
8569804
Fix `test_parallel` CR settings
bwaidelich Nov 10, 2024
79da801
Merge branch 'feature/3732-cr-privileges-v2' into feature/3732-cr-pri…
bwaidelich Nov 10, 2024
466c89e
Simplify `ContentRepositoryAuthorizationService` API
bwaidelich Nov 11, 2024
637a9c6
Fix role conversion in `ContentRepositoryAuthorizationService`
bwaidelich Nov 11, 2024
6397ff4
Mark `NodePermissions` and `WorkspacePermissions` `@api`
bwaidelich Nov 11, 2024
ed30858
Merge branch 'feature/3732-cr-privileges-v2' into feature/3732-cr-pri…
bwaidelich Nov 11, 2024
9529327
TASK: Split mighty `WorkspaceService` into `WorkspaceMetadataAndRoleR…
mhsdesign Nov 11, 2024
4f07965
FEATURE: Check permissions for operations inside `WorkspaceService`
mhsdesign Nov 11, 2024
99eb476
TASK: Make `pruneWorkspaceMetadata` and `pruneRoleAssignments` intern…
mhsdesign Nov 11, 2024
139f3eb
TASK: Adjust docs for privileg and permission v/o
mhsdesign Nov 11, 2024
bf6e4e2
TASK: inline methods in ContentRepositoryAuthorizationService instead…
mhsdesign Nov 11, 2024
80d4c31
TASK: Remove obsolete warnings in docs
mhsdesign Nov 11, 2024
843ceda
TASK: Fix cli output of `workspace:assignrole` to not throw error
mhsdesign Nov 11, 2024
abd32d3
TASK: Declare `AbstractSubtreeTagBasedPrivilege` internal as it doesn…
mhsdesign Nov 11, 2024
5531978
Merge branch '9.0' into feature/3732-cr-privileges-v2
bwaidelich Nov 12, 2024
ddaab6d
Merge branch '9.0' into feature/3732-cr-privileges-v2
bwaidelich Nov 12, 2024
d2549a5
Merge branch '9.0' into feature/3732-cr-privileges-v2
bwaidelich Nov 12, 2024
e8776a0
Merge branch 'feature/3732-cr-privileges-v2' into feature/3732-cr-pri…
bwaidelich Nov 12, 2024
090f54a
Merge branch '9.0' into feature/3732-cr-privileges-v2
bwaidelich Nov 12, 2024
46bfba5
Merge branch 'feature/3732-cr-privileges-v2' into feature/3732-cr-pri…
bwaidelich Nov 12, 2024
8501128
Merge branch '9.0' into feature/3732-cr-privileges-v2
bwaidelich Nov 13, 2024
ca6c8e1
Merge branch 'feature/3732-cr-privileges-v2' into feature/3732-cr-pri…
bwaidelich Nov 13, 2024
93c1b8b
Add more tests
bwaidelich Nov 13, 2024
810b0a3
Prefix ContentRepositorySecurityTrait fields to avoid naming clashes
bwaidelich Nov 13, 2024
f48b564
Merge pull request #5345 from neos/feature/3732-cr-privileges-tests
bwaidelich Nov 13, 2024
33c0877
TASK: Fix new Neos security tests and fake `PolicyService` correctly
mhsdesign Nov 15, 2024
3e73e68
TASK: Split `ContentRepositorySecurityTrait` and `FlowSecurityTrait`
mhsdesign Nov 15, 2024
db43d1f
TASK: Cleanup imports
mhsdesign Nov 15, 2024
f1415b8
TASK: Cleanup imports
mhsdesign Nov 15, 2024
efca124
TASK: Remove `withoutAuthorizationChecks` in tests
mhsdesign Nov 15, 2024
8768298
TASK: Add security tests for workspace service
mhsdesign Nov 15, 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

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?php

declare(strict_types=1);

namespace Neos\ContentRepository\BehavioralTests\TestSuite\Behavior;

use Neos\ContentRepository\Core\Projection\ContentGraph\ContentGraphReadModelInterface;
use Neos\ContentRepository\Core\SharedModel\ContentRepository\ContentRepositoryId;
use Neos\ContentRepository\TestSuite\Behavior\Features\Bootstrap\Helpers\TestingAuthProvider;
use Neos\ContentRepositoryRegistry\Factory\AuthProvider\AuthProviderFactoryInterface;

final class TestingAuthProviderFactory implements AuthProviderFactoryInterface
{
public function build(ContentRepositoryId $contentRepositoryId, ContentGraphReadModelInterface $contentGraphReadModel): TestingAuthProvider
{
return new TestingAuthProvider();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ Neos:
factoryObjectName: Neos\ContentRepository\BehavioralTests\TestSuite\Behavior\GherkinPyStringNodeBasedNodeTypeManagerFactory
contentDimensionSource:
factoryObjectName: Neos\ContentRepository\BehavioralTests\TestSuite\Behavior\GherkinTableNodeBasedContentDimensionSourceFactory
userIdProvider:
factoryObjectName: Neos\ContentRepositoryRegistry\Factory\UserIdProvider\StaticUserIdProviderFactory
authProvider:
factoryObjectName: Neos\ContentRepositoryRegistry\Factory\AuthProvider\StaticAuthProviderFactory
clock:
factoryObjectName: Neos\ContentRepositoryRegistry\Factory\Clock\SystemClockFactory
propertyConverters: {}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ Neos:
ContentRepositoryRegistry:
presets:
default:
userIdProvider:
factoryObjectName: 'Neos\ContentRepository\BehavioralTests\TestSuite\Behavior\FakeUserIdProviderFactory'
authProvider:
factoryObjectName: 'Neos\ContentRepository\BehavioralTests\TestSuite\Behavior\TestingAuthProviderFactory'
clock:
factoryObjectName: 'Neos\ContentRepository\BehavioralTests\TestSuite\Behavior\FakeClockFactory'
nodeTypeManager:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ Feature: Disable a node aggregate
And I expect node aggregate identifier "nody-mc-nodeface" and node path "document/child-document" to lead to node cs-identifier;nody-mc-nodeface;{}
And I expect this node to be a child of node cs-identifier;sir-david-nodenborough;{}

When VisibilityConstraints are set to "frontend"
When VisibilityConstraints are set to "default"
Then I expect node aggregate identifier "lady-eleonode-rootford" to lead to node cs-identifier;lady-eleonode-rootford;{}
And I expect this node to have the following child nodes:
| Name | NodeDiscriminator |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ Feature: Disable a node aggregate
And I expect node aggregate identifier "nody-mc-nodeface" and node path "document/child-document" to lead to node cs-identifier;nody-mc-nodeface;{"language":"mul"}
And I expect this node to be a child of node cs-identifier;sir-david-nodenborough;{"language":"mul"}

When VisibilityConstraints are set to "frontend"
When VisibilityConstraints are set to "default"
Then I expect node aggregate identifier "lady-eleonode-rootford" to lead to node cs-identifier;lady-eleonode-rootford;{}
And I expect this node to have the following child nodes:
| Name | NodeDiscriminator |
Expand Down Expand Up @@ -148,7 +148,7 @@ Feature: Disable a node aggregate

# Tests for the generalization
When I am in dimension space point {"language":"mul"}
And VisibilityConstraints are set to "frontend"
And VisibilityConstraints are set to "default"
Then I expect node aggregate identifier "lady-eleonode-rootford" to lead to node cs-identifier;lady-eleonode-rootford;{}
And I expect this node to have the following child nodes:
| Name | NodeDiscriminator |
Expand Down Expand Up @@ -195,7 +195,7 @@ Feature: Disable a node aggregate

# Tests for the virtual specialization
When I am in dimension space point {"language":"gsw"}
And VisibilityConstraints are set to "frontend"
And VisibilityConstraints are set to "default"
Then I expect node aggregate identifier "lady-eleonode-rootford" to lead to node cs-identifier;lady-eleonode-rootford;{}
And I expect this node to have the following child nodes:
| Name | NodeDiscriminator |
Expand Down Expand Up @@ -224,7 +224,7 @@ Feature: Disable a node aggregate

# Tests for the real specialization
When I am in dimension space point {"language":"ltz"}
And VisibilityConstraints are set to "frontend"
And VisibilityConstraints are set to "default"
Then I expect node aggregate identifier "lady-eleonode-rootford" to lead to node cs-identifier;lady-eleonode-rootford;{}
And I expect this node to have the following child nodes:
| Name | NodeDiscriminator |
Expand Down Expand Up @@ -253,7 +253,7 @@ Feature: Disable a node aggregate

# Tests for the peer variant
When I am in dimension space point {"language":"en"}
And VisibilityConstraints are set to "frontend"
And VisibilityConstraints are set to "default"
Then I expect node aggregate identifier "lady-eleonode-rootford" to lead to node cs-identifier;lady-eleonode-rootford;{}
And I expect this node to have the following child nodes:
| Name | NodeDiscriminator |
Expand Down Expand Up @@ -371,7 +371,7 @@ Feature: Disable a node aggregate
And I expect node aggregate identifier "nody-mc-nodeface" and node path "document/child-document" to lead to node cs-identifier;nody-mc-nodeface;{"language":"mul"}
And I expect this node to be a child of node cs-identifier;sir-david-nodenborough;{"language":"mul"}

When VisibilityConstraints are set to "frontend"
When VisibilityConstraints are set to "default"
Then I expect node aggregate identifier "lady-eleonode-rootford" to lead to node cs-identifier;lady-eleonode-rootford;{}
And I expect this node to have the following child nodes:
| Name | NodeDiscriminator |
Expand Down Expand Up @@ -399,7 +399,7 @@ Feature: Disable a node aggregate

# Tests for the generalization
When I am in dimension space point {"language":"mul"}
And VisibilityConstraints are set to "frontend"
And VisibilityConstraints are set to "default"
Then I expect node aggregate identifier "lady-eleonode-rootford" to lead to node cs-identifier;lady-eleonode-rootford;{}
And I expect this node to have the following child nodes:
| Name | NodeDiscriminator |
Expand Down Expand Up @@ -428,7 +428,7 @@ Feature: Disable a node aggregate

# Tests for the virtual specialization
When I am in dimension space point {"language":"gsw"}
And VisibilityConstraints are set to "frontend"
And VisibilityConstraints are set to "default"
Then I expect node aggregate identifier "lady-eleonode-rootford" to lead to node cs-identifier;lady-eleonode-rootford;{}
And I expect this node to have the following child nodes:
| Name | NodeDiscriminator |
Expand Down Expand Up @@ -457,7 +457,7 @@ Feature: Disable a node aggregate

# Tests for the real specialization
When I am in dimension space point {"language":"ltz"}
And VisibilityConstraints are set to "frontend"
And VisibilityConstraints are set to "default"
Then I expect node aggregate identifier "lady-eleonode-rootford" to lead to node cs-identifier;lady-eleonode-rootford;{}
And I expect this node to have the following child nodes:
| Name | NodeDiscriminator |
Expand Down Expand Up @@ -486,7 +486,7 @@ Feature: Disable a node aggregate

# Tests for the peer variant
When I am in dimension space point {"language":"en"}
And VisibilityConstraints are set to "frontend"
And VisibilityConstraints are set to "default"
Then I expect node aggregate identifier "lady-eleonode-rootford" to lead to node cs-identifier;lady-eleonode-rootford;{}
And I expect this node to have the following child nodes:
| Name | NodeDiscriminator |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ Feature: Enable a node aggregate
And I expect this node aggregate to disable dimension space points []

When I am in workspace "live" and dimension space point {}
And VisibilityConstraints are set to "frontend"
And VisibilityConstraints are set to "default"
Then I expect node aggregate identifier "lady-eleonode-rootford" to lead to node cs-identifier;lady-eleonode-rootford;{}
And I expect this node to have the following child nodes:
| Name | NodeDiscriminator |
Expand Down Expand Up @@ -143,7 +143,7 @@ Feature: Enable a node aggregate
And I expect this node aggregate to disable dimension space points [{}]

When I am in workspace "live" and dimension space point {}
And VisibilityConstraints are set to "frontend"
And VisibilityConstraints are set to "default"
Then I expect node aggregate identifier "lady-eleonode-rootford" to lead to node cs-identifier;lady-eleonode-rootford;{}
And I expect this node to have the following child nodes:
| Name | NodeDiscriminator |
Expand Down Expand Up @@ -218,7 +218,7 @@ Feature: Enable a node aggregate
And I expect this node aggregate to disable dimension space points []

When I am in workspace "live" and dimension space point {}
And VisibilityConstraints are set to "frontend"
And VisibilityConstraints are set to "default"
Then I expect node aggregate identifier "lady-eleonode-rootford" to lead to node cs-identifier;lady-eleonode-rootford;{}
And I expect this node to have the following child nodes:
| Name | NodeDiscriminator |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ Feature: Enable a node aggregate
And I expect node aggregate identifier "the-great-nodini" and node path "document/court-magician" to lead to node cs-identifier;the-great-nodini;{"language":"mul"}
And I expect this node to be a child of node cs-identifier;sir-david-nodenborough;{"language":"mul"}

When VisibilityConstraints are set to "frontend"
When VisibilityConstraints are set to "default"
Then I expect node aggregate identifier "lady-eleonode-rootford" to lead to node cs-identifier;lady-eleonode-rootford;{}
And I expect this node to have the following child nodes:
| Name | NodeDiscriminator |
Expand Down Expand Up @@ -193,7 +193,7 @@ Feature: Enable a node aggregate

# Tests for the generalization
When I am in dimension space point {"language":"mul"}
And VisibilityConstraints are set to "frontend"
And VisibilityConstraints are set to "default"
Then I expect node aggregate identifier "lady-eleonode-rootford" to lead to node cs-identifier;lady-eleonode-rootford;{}
And I expect this node to have the following child nodes:
| Name | NodeDiscriminator |
Expand Down Expand Up @@ -223,7 +223,7 @@ Feature: Enable a node aggregate

# Tests for the virtual specialization
When I am in dimension space point {"language":"gsw"}
And VisibilityConstraints are set to "frontend"
And VisibilityConstraints are set to "default"
Then I expect node aggregate identifier "lady-eleonode-rootford" to lead to node cs-identifier;lady-eleonode-rootford;{}
And I expect this node to have the following child nodes:
| Name | NodeDiscriminator |
Expand Down Expand Up @@ -274,7 +274,7 @@ Feature: Enable a node aggregate

# Tests for the real specialization
When I am in dimension space point {"language":"ltz"}
And VisibilityConstraints are set to "frontend"
And VisibilityConstraints are set to "default"
Then I expect node aggregate identifier "lady-eleonode-rootford" to lead to node cs-identifier;lady-eleonode-rootford;{}
And I expect this node to have the following child nodes:
| Name | NodeDiscriminator |
Expand Down Expand Up @@ -325,7 +325,7 @@ Feature: Enable a node aggregate

# Tests for the peer variant
When I am in dimension space point {"language":"en"}
And VisibilityConstraints are set to "frontend"
And VisibilityConstraints are set to "default"
Then I expect node aggregate identifier "lady-eleonode-rootford" to lead to node cs-identifier;lady-eleonode-rootford;{}
And I expect this node to have the following child nodes:
| Name | NodeDiscriminator |
Expand Down Expand Up @@ -438,7 +438,7 @@ Feature: Enable a node aggregate
And I expect node aggregate identifier "the-great-nodini" and node path "document/court-magician" to lead to node cs-identifier;the-great-nodini;{"language":"mul"}
And I expect this node to be a child of node cs-identifier;sir-david-nodenborough;{"language":"mul"}

When VisibilityConstraints are set to "frontend"
When VisibilityConstraints are set to "default"
Then I expect node aggregate identifier "lady-eleonode-rootford" to lead to node cs-identifier;lady-eleonode-rootford;{}
And I expect this node to have the following child nodes:
| Name | NodeDiscriminator |
Expand Down Expand Up @@ -488,7 +488,7 @@ Feature: Enable a node aggregate

# Tests for the generalization
When I am in dimension space point {"language":"mul"}
And VisibilityConstraints are set to "frontend"
And VisibilityConstraints are set to "default"
Then I expect node aggregate identifier "lady-eleonode-rootford" to lead to node cs-identifier;lady-eleonode-rootford;{}
And I expect this node to have the following child nodes:
| Name | NodeDiscriminator |
Expand Down Expand Up @@ -538,7 +538,7 @@ Feature: Enable a node aggregate

# Tests for the virtual specialization
When I am in dimension space point {"language":"gsw"}
And VisibilityConstraints are set to "frontend"
And VisibilityConstraints are set to "default"
Then I expect node aggregate identifier "lady-eleonode-rootford" to lead to node cs-identifier;lady-eleonode-rootford;{}
And I expect this node to have the following child nodes:
| Name | NodeDiscriminator |
Expand Down Expand Up @@ -589,7 +589,7 @@ Feature: Enable a node aggregate

# Tests for the real specialization
When I am in dimension space point {"language":"ltz"}
And VisibilityConstraints are set to "frontend"
And VisibilityConstraints are set to "default"
Then I expect node aggregate identifier "lady-eleonode-rootford" to lead to node cs-identifier;lady-eleonode-rootford;{}
And I expect this node to have the following child nodes:
| Name | NodeDiscriminator |
Expand Down Expand Up @@ -640,7 +640,7 @@ Feature: Enable a node aggregate

# Tests for the peer variant
When I am in dimension space point {"language":"en"}
And VisibilityConstraints are set to "frontend"
And VisibilityConstraints are set to "default"
Then I expect node aggregate identifier "lady-eleonode-rootford" to lead to node cs-identifier;lady-eleonode-rootford;{}
And I expect this node to have the following child nodes:
| Name | NodeDiscriminator |
Expand Down Expand Up @@ -716,25 +716,25 @@ Feature: Enable a node aggregate
And I expect node aggregate identifier "the-great-nodini" and node path "document/court-magician" to lead to node cs-identifier;the-great-nodini;{"language":"mul"}
And I expect this node to be a child of node cs-identifier;sir-david-nodenborough;{"language":"mul"}

When VisibilityConstraints are set to "frontend"
When VisibilityConstraints are set to "default"
Then I expect node aggregate identifier "the-great-nodini" and node path "document/court-magician" to lead to no node

# Tests for the generalization
When I am in dimension space point {"language":"mul"}
And VisibilityConstraints are set to "frontend"
And VisibilityConstraints are set to "default"
Then I expect node aggregate identifier "the-great-nodini" and node path "document/court-magician" to lead to no node

# Tests for the virtual specialization
When I am in dimension space point {"language":"gsw"}
And VisibilityConstraints are set to "frontend"
And VisibilityConstraints are set to "default"
Then I expect node aggregate identifier "the-great-nodini" and node path "document/court-magician" to lead to no node

# Tests for the real specialization
When I am in dimension space point {"language":"ltz"}
And VisibilityConstraints are set to "frontend"
And VisibilityConstraints are set to "default"
Then I expect node aggregate identifier "the-great-nodini" and node path "document/court-magician" to lead to no node

# Tests for the peer variant
When I am in dimension space point {"language":"en"}
And VisibilityConstraints are set to "frontend"
And VisibilityConstraints are set to "default"
Then I expect node aggregate identifier "the-great-nodini" and node path "document/court-magician" to lead to no node
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ Feature: Creation of nodes underneath disabled nodes
| nodeAggregateId | "the-great-nodini" |
| sourceOrigin | {"language":"mul"} |
| targetOrigin | {"language":"ltz"} |
And VisibilityConstraints are set to "frontend"
And VisibilityConstraints are set to "default"

Scenario: Create a new node with parent disabled with strategy allSpecializations
Given the command DisableNodeAggregate is executed with payload:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Feature: Variation of hidden nodes
| Key | Value |
| nodeAggregateId | "lady-eleonode-rootford" |
| nodeTypeName | "Neos.ContentRepository:Root" |
And VisibilityConstraints are set to "frontend"
And VisibilityConstraints are set to "default"

Scenario: Specialize a node where the specialization target is enabled
Given I am in dimension space point {"language":"de"}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ Feature: On forking a content stream, hidden nodes should be correctly copied as
| 1 | the-great-nodini |
| 2 | nodingers-cat |

And VisibilityConstraints are set to "frontend"
And VisibilityConstraints are set to "default"
Then I expect node aggregate identifier "lady-eleonode-rootford" to lead to node user-cs-identifier;lady-eleonode-rootford;{}
And I expect this node to have no child nodes
And the subtree for node aggregate "lady-eleonode-rootford" with node types "" and 2 levels deep should be:
Expand Down
Loading
Loading