71 lines
1.8 KiB
Go
71 lines
1.8 KiB
Go
package domain
|
|
|
|
import (
|
|
"context"
|
|
|
|
"git.vdhsn.com/barretthousen/barretthousen/src/auth/internal/data"
|
|
"go.uber.org/dig"
|
|
)
|
|
|
|
var ioc dig.Container
|
|
|
|
func SetupTest() {
|
|
ioc = *dig.New()
|
|
|
|
if err := ioc.Provide(func() (Storage, *MockStorage) {
|
|
ms := &MockStorage{}
|
|
return ms, ms
|
|
}); err != nil {
|
|
panic(err)
|
|
}
|
|
}
|
|
|
|
// Must panics is err is not nil
|
|
func Must(err error) {
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
}
|
|
|
|
type MockStorage struct {
|
|
RegisterAccountFunc func(context.Context, data.RegisterAccountInput) (int, error)
|
|
GetAccountFunc func(context.Context, data.GetAccountInput) (data.AccountResult, error)
|
|
CreateSessionFunc func(context.Context, data.CreateSessionInput) (data.Session, error)
|
|
}
|
|
|
|
// CreateSession implements Storage.
|
|
func (m *MockStorage) CreateSession(ctx context.Context, in data.CreateSessionInput) (data.Session, error) {
|
|
if m.CreateSessionFunc == nil {
|
|
panic("CreateSessionFunc is unset")
|
|
}
|
|
return m.CreateSessionFunc(ctx, in)
|
|
}
|
|
|
|
// GetAccount implements Storage.
|
|
func (m *MockStorage) GetAccount(ctx context.Context, in data.GetAccountInput) (data.AccountResult, error) {
|
|
if m.GetAccountFunc == nil {
|
|
panic("GetAccountFunc is unset")
|
|
}
|
|
|
|
return m.GetAccountFunc(ctx, in)
|
|
}
|
|
|
|
// GetAccountBySession implements Storage.
|
|
func (m *MockStorage) GetAccountBySession(ctx context.Context, in int) (data.AccountResult, error) {
|
|
panic("GetAccountBySession not implemented")
|
|
}
|
|
|
|
// RegisterAccount implements Storage.
|
|
func (m *MockStorage) RegisterAccount(ctx context.Context, in data.RegisterAccountInput) (int, error) {
|
|
if m.RegisterAccountFunc == nil {
|
|
panic("RegisterAccountFunc is unset")
|
|
}
|
|
|
|
return m.RegisterAccountFunc(ctx, in)
|
|
}
|
|
|
|
// VerifyAccount implements Storage.
|
|
func (*MockStorage) VerifyAccount(context.Context, data.VerifyAccountInput) error {
|
|
panic("unimplemented")
|
|
}
|