fix: check whether org exists before creating user (#11647)

# Which Problems Are Solved

It was possible to create a user with an imaginary org.

# How the Problems Are Solved

Check whether org exists before creating the user.

# Additional Changes


# Additional Context

- Closes #11532
This commit is contained in:
Wim Van Laer
2026-03-16 13:12:21 +01:00
committed by GitHub
parent 9a4530bf77
commit 965e3fa621
5 changed files with 352 additions and 42 deletions
@@ -3452,6 +3452,34 @@ func TestServer_CreateUser(t *testing.T) {
}
},
},
{
name: "org does not exist human, using IAM owner, error",
testCase: func(runId string) testCase {
username := fmt.Sprintf("donald.duck+%s", runId)
email := username + "@example.com"
return testCase{
args: args{
IamCTX,
&user.CreateUserRequest{
OrganizationId: "does not exist",
Username: &username,
UserType: &user.CreateUserRequest_Human_{
Human: &user.CreateUserRequest_Human{
Profile: &user.SetHumanProfile{
GivenName: "Donald",
FamilyName: "Duck",
},
Email: &user.SetHumanEmail{
Email: email,
},
},
},
},
},
wantErr: true,
}
},
},
{
name: "org does not exist machine, error",
testCase: func(runId string) testCase {
@@ -3473,6 +3501,27 @@ func TestServer_CreateUser(t *testing.T) {
}
},
},
{
name: "org does not exist machine, using IAM owner, error",
testCase: func(runId string) testCase {
username := fmt.Sprintf("donald.duck+%s", runId)
return testCase{
args: args{
IamCTX,
&user.CreateUserRequest{
OrganizationId: "does not exist",
Username: &username,
UserType: &user.CreateUserRequest_Machine_{
Machine: &user.CreateUserRequest_Machine{
Name: integration.Username(),
},
},
},
},
wantErr: true,
}
},
},
}
for i, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
+4
View File
@@ -114,6 +114,10 @@ func (c *Commands) AddMachine(ctx context.Context, machine *Machine, state *doma
return nil, err
}
}
err = c.checkOrgExists(ctx, machine.ResourceOwner)
if err != nil {
return nil, err
}
cmds, err := preparation.PrepareCommands(ctx, c.eventstore.Filter, AddMachineCommand(agg, machine))
if err != nil {
return nil, err
+119 -33
View File
@@ -2,6 +2,7 @@ package command
import (
"context"
"errors"
"testing"
"github.com/stretchr/testify/assert"
@@ -18,7 +19,7 @@ import (
func TestCommandSide_AddMachine(t *testing.T) {
type fields struct {
eventstore *eventstore.Eventstore
eventstore func(t *testing.T) *eventstore.Eventstore
idGenerator id.Generator
}
type args struct {
@@ -32,6 +33,9 @@ func TestCommandSide_AddMachine(t *testing.T) {
want *domain.ObjectDetails
err func(error) bool
}
orgAgg := org.NewAggregate("org1")
tests := []struct {
name string
fields fields
@@ -41,8 +45,12 @@ func TestCommandSide_AddMachine(t *testing.T) {
{
name: "user invalid, invalid argument error name",
fields: fields{
eventstore: eventstoreExpect(
t,
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
),
idGenerator: id_mock.NewIDGeneratorExpectIDs(t, "user1"),
},
@@ -62,8 +70,12 @@ func TestCommandSide_AddMachine(t *testing.T) {
{
name: "user invalid, invalid argument error username",
fields: fields{
eventstore: eventstoreExpect(
t,
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
),
idGenerator: id_mock.NewIDGeneratorExpectIDs(t, "user1"),
},
@@ -83,8 +95,12 @@ func TestCommandSide_AddMachine(t *testing.T) {
{
name: "org policy not found, precondition error",
fields: fields{
eventstore: eventstoreExpect(
t,
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(),
expectFilter(),
expectFilter(),
@@ -108,8 +124,12 @@ func TestCommandSide_AddMachine(t *testing.T) {
{
name: "add machine with invalid metadata key, error",
fields: fields{
eventstore: eventstoreExpect(
t,
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
),
idGenerator: id_mock.NewIDGeneratorExpectIDs(t, "user1"),
},
@@ -137,8 +157,12 @@ func TestCommandSide_AddMachine(t *testing.T) {
{
name: "add machine with invalid metadata value, error",
fields: fields{
eventstore: eventstoreExpect(
t,
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
),
idGenerator: id_mock.NewIDGeneratorExpectIDs(t, "user1"),
},
@@ -166,8 +190,12 @@ func TestCommandSide_AddMachine(t *testing.T) {
{
name: "add machine, ok",
fields: fields{
eventstore: eventstoreExpect(
t,
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(),
expectFilter(
eventFromEventPusher(
@@ -224,8 +252,12 @@ func TestCommandSide_AddMachine(t *testing.T) {
{
name: "add machine, orgScopedUsername, ok",
fields: fields{
eventstore: eventstoreExpect(
t,
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(),
expectFilter(
eventFromEventPusher(
@@ -271,8 +303,12 @@ func TestCommandSide_AddMachine(t *testing.T) {
{
name: "add machine - custom id, ok",
fields: fields{
eventstore: eventstoreExpect(
t,
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(),
expectFilter(
eventFromEventPusher(
@@ -319,8 +355,12 @@ func TestCommandSide_AddMachine(t *testing.T) {
name: "with username fallback to given username",
fields: fields{
idGenerator: id_mock.NewIDGeneratorExpectIDs(t, "aggregateID"),
eventstore: eventstoreExpect(
t,
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(),
expectFilter(
eventFromEventPusher(
@@ -370,8 +410,12 @@ func TestCommandSide_AddMachine(t *testing.T) {
name: "with username fallback to generated id",
fields: fields{
idGenerator: id_mock.NewIDGeneratorExpectIDs(t, "aggregateID"),
eventstore: eventstoreExpect(
t,
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(),
expectFilter(
eventFromEventPusher(
@@ -419,8 +463,12 @@ func TestCommandSide_AddMachine(t *testing.T) {
{
name: "with username fallback to given id",
fields: fields{
eventstore: eventstoreExpect(
t,
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(),
expectFilter(
eventFromEventPusher(
@@ -469,8 +517,12 @@ func TestCommandSide_AddMachine(t *testing.T) {
{
name: "with succeeding permission check, ok",
fields: fields{
eventstore: eventstoreExpect(
t,
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(),
expectFilter(
eventFromEventPusher(
@@ -519,9 +571,7 @@ func TestCommandSide_AddMachine(t *testing.T) {
{
name: "with failing permission check, error",
fields: fields{
eventstore: eventstoreExpect(
t,
),
eventstore: expectEventstore(),
idGenerator: id_mock.NewIDGeneratorExpectIDs(t, "user1"),
},
args: args{
@@ -545,8 +595,12 @@ func TestCommandSide_AddMachine(t *testing.T) {
{
name: "add machine, ok + deactive state",
fields: fields{
eventstore: eventstoreExpect(
t,
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(),
expectFilter(
eventFromEventPusher(
@@ -599,8 +653,12 @@ func TestCommandSide_AddMachine(t *testing.T) {
{
name: "add machine, ok + locked state",
fields: fields{
eventstore: eventstoreExpect(
t,
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(),
expectFilter(
eventFromEventPusher(
@@ -650,11 +708,39 @@ func TestCommandSide_AddMachine(t *testing.T) {
},
},
},
{
name: "org not found, precondition error",
fields: fields{
idGenerator: id_mock.NewIDGeneratorExpectIDs(t, "user1"),
eventstore: expectEventstore(
expectFilter(),
),
},
args: args{
ctx: context.Background(),
machine: &Machine{
ObjectRoot: models.ObjectRoot{
ResourceOwner: "non-existing-org",
},
Description: "description",
Name: "name",
Username: "username",
},
check: func(resourceOwner, aggregateID string) error {
return nil
},
},
res: res{
err: func(err error) bool {
return errors.Is(err, zerrors.ThrowPreconditionFailed(nil, "COMMAND-QXPGs", "Errors.Org.NotFound"))
},
},
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
r := &Commands{
eventstore: tt.fields.eventstore,
eventstore: tt.fields.eventstore(t),
idGenerator: tt.fields.idGenerator,
checkPermission: newMockPermissionCheckAllowed(),
}
+13 -9
View File
@@ -118,14 +118,14 @@ func (h *ChangeHuman) Changed() bool {
return false
}
func (c *Commands) AddUserHuman(ctx context.Context, resourceOwner string, human *AddHuman, allowInitMail bool, alg crypto.EncryptionAlgorithm) (err error) {
if resourceOwner == "" {
func (c *Commands) AddUserHuman(ctx context.Context, organizationID string, human *AddHuman, allowInitMail bool, alg crypto.EncryptionAlgorithm) (err error) {
if organizationID == "" {
return zerrors.ThrowInvalidArgument(nil, "COMMA-095xh8fll1", "Errors.Internal")
}
if human.Details == nil {
human.Details = &domain.ObjectDetails{}
}
human.Details.ResourceOwner = resourceOwner
human.Details.ResourceOwner = organizationID
if err := human.Validate(c.userPasswordHasher); err != nil {
return err
}
@@ -136,12 +136,16 @@ func (c *Commands) AddUserHuman(ctx context.Context, resourceOwner string, human
return err
}
}
// check for permission to create user on resourceOwner
// check for permission to create user on organizationID
if !human.Register {
if err := c.checkPermissionUpdateUser(ctx, resourceOwner, human.ID, true); err != nil {
if err := c.checkPermissionUpdateUser(ctx, organizationID, human.ID, true); err != nil {
return err
}
}
err = c.checkOrgExists(ctx, organizationID)
if err != nil {
return err
}
// only check if user is already existing
existingHuman, err := c.userExistsWriteModel(
ctx,
@@ -154,18 +158,18 @@ func (c *Commands) AddUserHuman(ctx context.Context, resourceOwner string, human
return zerrors.ThrowPreconditionFailed(nil, "COMMAND-7yiox1isql", "Errors.User.AlreadyExisting")
}
// add resourceowner for the events with the aggregate
existingHuman.ResourceOwner = resourceOwner
existingHuman.ResourceOwner = organizationID
domainPolicy, err := c.domainPolicyWriteModel(ctx, resourceOwner)
domainPolicy, err := c.domainPolicyWriteModel(ctx, organizationID)
if err != nil {
return err
}
if err = c.userValidateDomain(ctx, resourceOwner, human.Username, domainPolicy.UserLoginMustBeDomain); err != nil {
if err = c.userValidateDomain(ctx, organizationID, human.Username, domainPolicy.UserLoginMustBeDomain); err != nil {
return err
}
organizationScopedUsername, err := c.checkOrganizationScopedUsernames(ctx, resourceOwner)
organizationScopedUsername, err := c.checkOrganizationScopedUsernames(ctx, organizationID)
if err != nil {
return err
}
+167
View File
@@ -127,6 +127,11 @@ func TestCommandSide_AddUserHuman(t *testing.T) {
name: "with id, already exists, precondition error",
fields: fields{
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(
eventFromEventPusher(
newAddHumanEvent("$plain$x$password", true, true, "", language.English),
@@ -162,6 +167,11 @@ func TestCommandSide_AddUserHuman(t *testing.T) {
fields: fields{
idGenerator: id_mock.NewIDGeneratorExpectIDs(t, "user1"),
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(),
expectFilter(),
expectFilter(),
@@ -194,6 +204,11 @@ func TestCommandSide_AddUserHuman(t *testing.T) {
fields: fields{
idGenerator: id_mock.NewIDGeneratorExpectIDs(t, "user1"),
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(),
expectFilter(
eventFromEventPusher(
@@ -234,10 +249,47 @@ func TestCommandSide_AddUserHuman(t *testing.T) {
},
},
},
{
name: "org not found, precondition error",
fields: fields{
idGenerator: id_mock.NewIDGeneratorExpectIDs(t, "user1"),
eventstore: expectEventstore(
expectFilter(),
),
checkPermission: newMockPermissionCheckAllowed(),
loginPaths: expectLoginPathsNoCall,
},
args: args{
ctx: context.Background(),
orgID: "non-existing-org",
human: &AddHuman{
Username: "username",
FirstName: "firstname",
LastName: "lastname",
Password: "pass",
Email: Email{
Address: "[email protected]",
Verified: true,
},
PreferredLanguage: language.English,
},
allowInitMail: true,
},
res: res{
err: func(err error) bool {
return errors.Is(err, zerrors.ThrowPreconditionFailed(nil, "COMMAND-QXPGs", "Errors.Org.NotFound"))
},
},
},
{
name: "register human (with initial code), ok",
fields: fields{
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(),
expectFilter(
eventFromEventPusher(
@@ -343,6 +395,11 @@ func TestCommandSide_AddUserHuman(t *testing.T) {
name: "add human (email not verified, no password), ok (init code)",
fields: fields{
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(),
expectFilter(
eventFromEventPusher(
@@ -415,6 +472,11 @@ func TestCommandSide_AddUserHuman(t *testing.T) {
name: "add human (email not verified, with password), ok (init code)",
fields: fields{
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(),
expectFilter(
eventFromEventPusher(
@@ -488,6 +550,11 @@ func TestCommandSide_AddUserHuman(t *testing.T) {
name: "add human (email not verified, no password, no allowInitMail), ok (email verification with passwordInit)",
fields: fields{
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(),
expectFilter(
eventFromEventPusher(
@@ -549,6 +616,11 @@ func TestCommandSide_AddUserHuman(t *testing.T) {
name: "add human (with password and email code custom template), ok",
fields: fields{
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(),
expectFilter(
eventFromEventPusher(
@@ -625,6 +697,11 @@ func TestCommandSide_AddUserHuman(t *testing.T) {
name: "add human (with password and return email code), ok",
fields: fields{
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(),
expectFilter(
eventFromEventPusher(
@@ -702,6 +779,11 @@ func TestCommandSide_AddUserHuman(t *testing.T) {
name: "add human email verified and password, ok",
fields: fields{
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(),
expectFilter(
eventFromEventPusher(
@@ -768,6 +850,11 @@ func TestCommandSide_AddUserHuman(t *testing.T) {
name: "add human email verified, trim spaces, ok",
fields: fields{
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(),
expectFilter(
eventFromEventPusher(
@@ -834,6 +921,11 @@ func TestCommandSide_AddUserHuman(t *testing.T) {
name: "add human, email verified, userLoginMustBeDomain false, ok",
fields: fields{
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(),
expectFilter(
eventFromEventPusher(
@@ -900,6 +992,11 @@ func TestCommandSide_AddUserHuman(t *testing.T) {
name: "add human claimed domain, userLoginMustBeDomain false, error",
fields: fields{
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(),
expectFilter(
eventFromEventPusher(
@@ -954,6 +1051,11 @@ func TestCommandSide_AddUserHuman(t *testing.T) {
name: "add human domain, userLoginMustBeDomain false, ok",
fields: fields{
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(),
expectFilter(
eventFromEventPusher(
@@ -1044,6 +1146,11 @@ func TestCommandSide_AddUserHuman(t *testing.T) {
name: "add human (with phone), ok",
fields: fields{
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(),
expectFilter(
eventFromEventPusher(
@@ -1156,6 +1263,11 @@ func TestCommandSide_AddUserHuman(t *testing.T) {
name: "add human (with phone), ok (external)",
fields: fields{
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(),
expectFilter(
eventFromEventPusher(
@@ -1263,6 +1375,11 @@ func TestCommandSide_AddUserHuman(t *testing.T) {
name: "add human (with verified phone), ok",
fields: fields{
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(),
expectFilter(
eventFromEventPusher(
@@ -1331,6 +1448,11 @@ func TestCommandSide_AddUserHuman(t *testing.T) {
name: "add human (with phone return code), ok",
fields: fields{
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(),
expectFilter(
eventFromEventPusher(
@@ -1444,6 +1566,11 @@ func TestCommandSide_AddUserHuman(t *testing.T) {
name: "add human with metadata, ok",
fields: fields{
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(),
expectFilter(
eventFromEventPusher(
@@ -1516,6 +1643,11 @@ func TestCommandSide_AddUserHuman(t *testing.T) {
name: "register human with idp, unverified email, allow init mail, ok (verify mail)",
fields: fields{
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(),
expectFilter(
eventFromEventPusher(
@@ -1607,6 +1739,11 @@ func TestCommandSide_AddUserHuman(t *testing.T) {
name: "register human with idp, verified email, ok",
fields: fields{
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(),
expectFilter(
eventFromEventPusher(
@@ -1689,6 +1826,11 @@ func TestCommandSide_AddUserHuman(t *testing.T) {
name: "register human with TOTPSecret, ok",
fields: fields{
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(),
expectFilter(
eventFromEventPusher(
@@ -1774,6 +1916,11 @@ func TestCommandSide_AddUserHuman(t *testing.T) {
name: "register human with TOTPSecret, ok",
fields: fields{
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(),
expectFilter(
eventFromEventPusher(
@@ -1859,6 +2006,11 @@ func TestCommandSide_AddUserHuman(t *testing.T) {
name: "register human (validate domain), already verified",
fields: fields{
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(),
expectFilter(
eventFromEventPusher(
@@ -1913,6 +2065,11 @@ func TestCommandSide_AddUserHuman(t *testing.T) {
name: "register human (validate domain), orgScopedUsername, ok",
fields: fields{
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(),
expectFilter(
eventFromEventPusher(
@@ -1997,6 +2154,11 @@ func TestCommandSide_AddUserHuman(t *testing.T) {
name: "register human (validate domain, domain removed), ok",
fields: fields{
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(),
expectFilter(
eventFromEventPusher(
@@ -2088,6 +2250,11 @@ func TestCommandSide_AddUserHuman(t *testing.T) {
name: "register human (validate domain, org removed), ok",
fields: fields{
eventstore: expectEventstore(
expectFilter(
eventFromEventPusher(
org.NewOrgAddedEvent(context.Background(), &orgAgg.Aggregate, "org1"),
),
),
expectFilter(),
expectFilter(
eventFromEventPusher(