zitadel/internal/eventstore/repository/mock/repository.mock.impl.go
Elio Bischof 62bd606593
feat: enable handling projections for inactive instances (#5523)
* fix: don't ignore failed events in handlers

* question

* fix retries

* don't instance ids query

* statements can be nil

* make unit tests pass

* add comments

* spool only active instances

* feat(config): handle inactive instances

* customizable HandleInactiveInstances

* test: handling with and w/o inactive instances

* docs: describe projection options

* enable global handling of inactive instances

* accept NowFunc, not Clock interface

* add comment about stringer usage

* remove enum stringer implementations

* fix enum format types

* Update internal/eventstore/repository/mock/repository.mock.impl.go

Co-authored-by: Silvan <silvan.reusser@gmail.com>

---------

Co-authored-by: Silvan <silvan.reusser@gmail.com>
2023-03-27 12:34:01 +00:00

73 lines
2.4 KiB
Go

package mock
import (
"context"
"testing"
"github.com/golang/mock/gomock"
"github.com/stretchr/testify/assert"
"github.com/zitadel/zitadel/internal/eventstore/repository"
)
func NewRepo(t *testing.T) *MockRepository {
return NewMockRepository(gomock.NewController(t))
}
func (m *MockRepository) ExpectFilterNoEventsNoError() *MockRepository {
m.EXPECT().Filter(gomock.Any(), gomock.Any()).Return(nil, nil)
return m
}
func (m *MockRepository) ExpectFilterEvents(events ...*repository.Event) *MockRepository {
m.EXPECT().Filter(gomock.Any(), gomock.Any()).Return(events, nil)
return m
}
func (m *MockRepository) ExpectFilterEventsError(err error) *MockRepository {
m.EXPECT().Filter(gomock.Any(), gomock.Any()).Return(nil, err)
return m
}
func (m *MockRepository) ExpectInstanceIDs(hasFilters []*repository.Filter, instanceIDs ...string) *MockRepository {
matcher := gomock.Any()
if len(hasFilters) > 0 {
matcher = &filterQueryMatcher{Filters: [][]*repository.Filter{hasFilters}}
}
m.EXPECT().InstanceIDs(gomock.Any(), matcher).Return(instanceIDs, nil)
return m
}
func (m *MockRepository) ExpectInstanceIDsError(err error) *MockRepository {
m.EXPECT().InstanceIDs(gomock.Any(), gomock.Any()).Return(nil, err)
return m
}
func (m *MockRepository) ExpectPush(expectedEvents []*repository.Event, expectedUniqueConstraints ...*repository.UniqueConstraint) *MockRepository {
m.EXPECT().Push(gomock.Any(), gomock.Any(), gomock.Any()).DoAndReturn(
func(ctx context.Context, events []*repository.Event, uniqueConstraints ...*repository.UniqueConstraint) error {
assert.Equal(m.ctrl.T, expectedEvents, events)
if expectedUniqueConstraints == nil {
expectedUniqueConstraints = []*repository.UniqueConstraint{}
}
assert.Equal(m.ctrl.T, expectedUniqueConstraints, uniqueConstraints)
return nil
},
)
return m
}
func (m *MockRepository) ExpectPushFailed(err error, expectedEvents []*repository.Event, expectedUniqueConstraints ...*repository.UniqueConstraint) *MockRepository {
m.EXPECT().Push(gomock.Any(), gomock.Any(), gomock.Any()).DoAndReturn(
func(ctx context.Context, events []*repository.Event, uniqueConstraints ...*repository.UniqueConstraint) error {
assert.Equal(m.ctrl.T, expectedEvents, events)
if expectedUniqueConstraints == nil {
expectedUniqueConstraints = []*repository.UniqueConstraint{}
}
assert.Equal(m.ctrl.T, expectedUniqueConstraints, uniqueConstraints)
return err
},
)
return m
}