fix: new es testing (#1411)

* fix: org tests

* fix: org tests

* fix: user grant test

* fix: user grant test

* fix: project and project role test

* fix: project grant test

* fix: project grant test

* fix: project member, grant member, app changed tests

* fix: application tests

* fix: application tests

* fix: add oidc app test

* fix: add oidc app test

* fix: add api keys test

* fix: iam policies

* fix: iam and org member tests

* fix: clock skew validation

* revert crypto changes

* fix: tests

* fix project grant member commands

Co-authored-by: Livio Amstutz <livio.a@gmail.com>
This commit is contained in:
Fabi
2021-03-15 12:51:15 +01:00
committed by GitHub
parent e9eb5b7848
commit 2bd255106a
72 changed files with 14134 additions and 230 deletions

View File

@@ -12,3 +12,14 @@ const (
type Aggregate struct {
eventstore.Aggregate
}
func NewAggregate(id, resourceOwner string) *Aggregate {
return &Aggregate{
Aggregate: eventstore.Aggregate{
Typ: AggregateType,
Version: AggregateVersion,
ID: id,
ResourceOwner: resourceOwner,
},
}
}

View File

@@ -36,9 +36,8 @@ func NewRemoveApplicationUniqueConstraint(name, projectID string) *eventstore.Ev
type ApplicationAddedEvent struct {
eventstore.BaseEvent `json:"-"`
AppID string `json:"appId,omitempty"`
Name string `json:"name,omitempty"`
projectID string
AppID string `json:"appId,omitempty"`
Name string `json:"name,omitempty"`
}
func (e *ApplicationAddedEvent) Data() interface{} {
@@ -46,15 +45,14 @@ func (e *ApplicationAddedEvent) Data() interface{} {
}
func (e *ApplicationAddedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
return []*eventstore.EventUniqueConstraint{NewAddApplicationUniqueConstraint(e.Name, e.projectID)}
return []*eventstore.EventUniqueConstraint{NewAddApplicationUniqueConstraint(e.Name, e.Aggregate().ID)}
}
func NewApplicationAddedEvent(
ctx context.Context,
aggregate *eventstore.Aggregate,
appID,
name,
projectID string,
name string,
) *ApplicationAddedEvent {
return &ApplicationAddedEvent{
BaseEvent: *eventstore.NewBaseEventForPush(
@@ -62,9 +60,8 @@ func NewApplicationAddedEvent(
aggregate,
ApplicationAddedType,
),
AppID: appID,
Name: name,
projectID: projectID,
AppID: appID,
Name: name,
}
}
@@ -84,10 +81,9 @@ func ApplicationAddedEventMapper(event *repository.Event) (eventstore.EventReade
type ApplicationChangedEvent struct {
eventstore.BaseEvent `json:"-"`
AppID string `json:"appId,omitempty"`
Name string `json:"name,omitempty"`
oldName string
projectID string
AppID string `json:"appId,omitempty"`
Name string `json:"name,omitempty"`
oldName string
}
func (e *ApplicationChangedEvent) Data() interface{} {
@@ -96,8 +92,8 @@ func (e *ApplicationChangedEvent) Data() interface{} {
func (e *ApplicationChangedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
return []*eventstore.EventUniqueConstraint{
NewRemoveApplicationUniqueConstraint(e.oldName, e.projectID),
NewAddApplicationUniqueConstraint(e.Name, e.projectID),
NewRemoveApplicationUniqueConstraint(e.oldName, e.Aggregate().ID),
NewAddApplicationUniqueConstraint(e.Name, e.Aggregate().ID),
}
}
@@ -106,8 +102,7 @@ func NewApplicationChangedEvent(
aggregate *eventstore.Aggregate,
appID,
oldName,
newName,
projectID string,
newName string,
) *ApplicationChangedEvent {
return &ApplicationChangedEvent{
BaseEvent: *eventstore.NewBaseEventForPush(
@@ -115,10 +110,9 @@ func NewApplicationChangedEvent(
aggregate,
ApplicationChangedType,
),
AppID: appID,
Name: newName,
oldName: oldName,
projectID: projectID,
AppID: appID,
Name: newName,
oldName: oldName,
}
}
@@ -222,9 +216,8 @@ func ApplicationReactivatedEventMapper(event *repository.Event) (eventstore.Even
type ApplicationRemovedEvent struct {
eventstore.BaseEvent `json:"-"`
AppID string `json:"appId,omitempty"`
name string
projectID string
AppID string `json:"appId,omitempty"`
name string
}
func (e *ApplicationRemovedEvent) Data() interface{} {
@@ -232,15 +225,14 @@ func (e *ApplicationRemovedEvent) Data() interface{} {
}
func (e *ApplicationRemovedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
return []*eventstore.EventUniqueConstraint{NewRemoveApplicationUniqueConstraint(e.name, e.projectID)}
return []*eventstore.EventUniqueConstraint{NewRemoveApplicationUniqueConstraint(e.name, e.Aggregate().ID)}
}
func NewApplicationRemovedEvent(
ctx context.Context,
aggregate *eventstore.Aggregate,
appID,
name,
projectID string,
name string,
) *ApplicationRemovedEvent {
return &ApplicationRemovedEvent{
BaseEvent: *eventstore.NewBaseEventForPush(
@@ -248,9 +240,8 @@ func NewApplicationRemovedEvent(
aggregate,
ApplicationRemovedType,
),
AppID: appID,
name: name,
projectID: projectID,
AppID: appID,
name: name,
}
}

View File

@@ -40,7 +40,6 @@ type GrantAddedEvent struct {
GrantID string `json:"grantId,omitempty"`
GrantedOrgID string `json:"grantedOrgId,omitempty"`
RoleKeys []string `json:"roleKeys,omitempty"`
projectID string
}
func (e *GrantAddedEvent) Data() interface{} {
@@ -48,15 +47,14 @@ func (e *GrantAddedEvent) Data() interface{} {
}
func (e *GrantAddedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
return []*eventstore.EventUniqueConstraint{NewAddProjectGrantUniqueConstraint(e.GrantedOrgID, e.projectID)}
return []*eventstore.EventUniqueConstraint{NewAddProjectGrantUniqueConstraint(e.GrantedOrgID, e.Aggregate().ID)}
}
func NewGrantAddedEvent(
ctx context.Context,
aggregate *eventstore.Aggregate,
grantID,
grantedOrgID,
projectID string,
grantedOrgID string,
roleKeys []string,
) *GrantAddedEvent {
return &GrantAddedEvent{
@@ -68,7 +66,6 @@ func NewGrantAddedEvent(
GrantID: grantID,
GrantedOrgID: grantedOrgID,
RoleKeys: roleKeys,
projectID: projectID,
}
}
@@ -264,7 +261,6 @@ type GrantRemovedEvent struct {
GrantID string `json:"grantId,omitempty"`
grantedOrgID string
projectID string
}
func (e *GrantRemovedEvent) Data() interface{} {
@@ -272,15 +268,14 @@ func (e *GrantRemovedEvent) Data() interface{} {
}
func (e *GrantRemovedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
return []*eventstore.EventUniqueConstraint{NewRemoveProjectGrantUniqueConstraint(e.grantedOrgID, e.projectID)}
return []*eventstore.EventUniqueConstraint{NewRemoveProjectGrantUniqueConstraint(e.grantedOrgID, e.Aggregate().ID)}
}
func NewGrantRemovedEvent(
ctx context.Context,
aggregate *eventstore.Aggregate,
grantID,
grantedOrgID,
projectID string,
grantedOrgID string,
) *GrantRemovedEvent {
return &GrantRemovedEvent{
BaseEvent: *eventstore.NewBaseEventForPush(
@@ -289,7 +284,6 @@ func NewGrantRemovedEvent(
GrantRemovedType,
),
GrantID: grantID,
projectID: projectID,
grantedOrgID: grantedOrgID,
}
}

View File

@@ -35,10 +35,9 @@ func NewRemoveProjectGrantMemberUniqueConstraint(projectID, userID, grantID stri
type GrantMemberAddedEvent struct {
eventstore.BaseEvent `json:"-"`
Roles []string `json:"roles"`
UserID string `json:"userId"`
GrantID string `json:"grantId"`
projectID string
Roles []string `json:"roles"`
UserID string `json:"userId"`
GrantID string `json:"grantId"`
}
func (e *GrantMemberAddedEvent) Data() interface{} {
@@ -46,13 +45,12 @@ func (e *GrantMemberAddedEvent) Data() interface{} {
}
func (e *GrantMemberAddedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
return []*eventstore.EventUniqueConstraint{NewAddProjectGrantMemberUniqueConstraint(e.projectID, e.UserID, e.GrantID)}
return []*eventstore.EventUniqueConstraint{NewAddProjectGrantMemberUniqueConstraint(e.Aggregate().ID, e.UserID, e.GrantID)}
}
func NewProjectGrantMemberAddedEvent(
ctx context.Context,
aggregate *eventstore.Aggregate,
projectID,
userID,
grantID string,
roles ...string,
@@ -63,10 +61,9 @@ func NewProjectGrantMemberAddedEvent(
aggregate,
GrantMemberAddedType,
),
projectID: projectID,
UserID: userID,
GrantID: grantID,
Roles: roles,
UserID: userID,
GrantID: grantID,
Roles: roles,
}
}
@@ -134,9 +131,8 @@ func GrantMemberChangedEventMapper(event *repository.Event) (eventstore.EventRea
type GrantMemberRemovedEvent struct {
eventstore.BaseEvent `json:"-"`
UserID string `json:"userId"`
GrantID string `json:"grantId"`
projectID string
UserID string `json:"userId"`
GrantID string `json:"grantId"`
}
func (e *GrantMemberRemovedEvent) Data() interface{} {
@@ -144,13 +140,12 @@ func (e *GrantMemberRemovedEvent) Data() interface{} {
}
func (e *GrantMemberRemovedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
return []*eventstore.EventUniqueConstraint{NewRemoveProjectGrantMemberUniqueConstraint(e.projectID, e.UserID, e.GrantID)}
return []*eventstore.EventUniqueConstraint{NewRemoveProjectGrantMemberUniqueConstraint(e.Aggregate().ID, e.UserID, e.GrantID)}
}
func NewProjectGrantMemberRemovedEvent(
ctx context.Context,
aggregate *eventstore.Aggregate,
projectID,
userID,
grantID string,
) *GrantMemberRemovedEvent {
@@ -160,9 +155,8 @@ func NewProjectGrantMemberRemovedEvent(
aggregate,
GrantMemberRemovedType,
),
UserID: userID,
GrantID: grantID,
projectID: projectID,
UserID: userID,
GrantID: grantID,
}
}

View File

@@ -37,7 +37,6 @@ type RoleAddedEvent struct {
Key string `json:"key,omitempty"`
DisplayName string `json:"displayName,omitempty"`
Group string `json:"group,omitempty"`
projectID string
}
func (e *RoleAddedEvent) Data() interface{} {
@@ -45,7 +44,7 @@ func (e *RoleAddedEvent) Data() interface{} {
}
func (e *RoleAddedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
return []*eventstore.EventUniqueConstraint{NewAddProjectRoleUniqueConstraint(e.Key, e.projectID)}
return []*eventstore.EventUniqueConstraint{NewAddProjectRoleUniqueConstraint(e.Key, e.Aggregate().ID)}
}
func NewRoleAddedEvent(
@@ -53,8 +52,7 @@ func NewRoleAddedEvent(
aggregate *eventstore.Aggregate,
key,
displayName,
group,
projectID string,
group string,
) *RoleAddedEvent {
return &RoleAddedEvent{
BaseEvent: *eventstore.NewBaseEventForPush(
@@ -65,7 +63,6 @@ func NewRoleAddedEvent(
Key: key,
DisplayName: displayName,
Group: group,
projectID: projectID,
}
}
@@ -101,6 +98,7 @@ func (e *RoleChangedEvent) UniqueConstraints() []*eventstore.EventUniqueConstrai
func NewRoleChangedEvent(
ctx context.Context,
aggregate *eventstore.Aggregate,
key string,
changes []RoleChanges,
) (*RoleChangedEvent, error) {
if len(changes) == 0 {
@@ -112,6 +110,7 @@ func NewRoleChangedEvent(
aggregate,
RoleChangedType,
),
Key: key,
}
for _, change := range changes {
change(changeEvent)
@@ -154,8 +153,7 @@ func RoleChangedEventMapper(event *repository.Event) (eventstore.EventReader, er
type RoleRemovedEvent struct {
eventstore.BaseEvent `json:"-"`
Key string `json:"key,omitempty"`
projectID string `json:"-"`
Key string `json:"key,omitempty"`
}
func (e *RoleRemovedEvent) Data() interface{} {
@@ -163,22 +161,20 @@ func (e *RoleRemovedEvent) Data() interface{} {
}
func (e *RoleRemovedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
return []*eventstore.EventUniqueConstraint{NewRemoveProjectRoleUniqueConstraint(e.Key, e.projectID)}
return []*eventstore.EventUniqueConstraint{NewRemoveProjectRoleUniqueConstraint(e.Key, e.Aggregate().ID)}
}
func NewRoleRemovedEvent(
ctx context.Context,
aggregate *eventstore.Aggregate,
key,
projectID string) *RoleRemovedEvent {
key string) *RoleRemovedEvent {
return &RoleRemovedEvent{
BaseEvent: *eventstore.NewBaseEventForPush(
ctx,
aggregate,
RoleRemovedType,
),
Key: key,
projectID: projectID,
Key: key,
}
}