func (mock *StorageMock) CreateToken(t *storage.Token) error {
	if mock.CreateTokenFunc == nil {
		panic("StorageMock.CreateTokenFunc: method is nil but Storage.CreateToken was just called")
	}
	callInfo := struct {
		T *storage.Token
	}{
		T: t,
	}
	mock.lockCreateToken.Lock()
	mock.calls.CreateToken = append(mock.calls.CreateToken, callInfo)
	mock.lockCreateToken.Unlock()
	return mock.CreateTokenFunc(t)
}
CreateToken calls CreateTokenFunc.
package internal
import (
	"github.com/leberKleber/simple-jwt-provider/internal/storage"
	"sync"
)
var _ Storage = &StorageMock{}
type StorageMock struct {
	CreateTokenFunc func(t *storage.Token) error
	CreateUserFunc func(user storage.User) error
	DeleteTokenFunc func(id uint) error
	DeleteUserFunc func(email string) error
	TokensByEMailAndTokenFunc func(email string, token string) ([]storage.Token, error)
	UpdateUserFunc func(user storage.User) error
	UserFunc func(email string) (storage.User, error)
	calls struct {
		CreateToken []struct {
			T *storage.Token
		}
		CreateUser []struct {
			User storage.User
		}
		DeleteToken []struct {
			ID uint
		}
		DeleteUser []struct {
			Email string
		}
		TokensByEMailAndToken []struct {
			Email string
			Token string
		}
		UpdateUser []struct {
			User storage.User
		}
		User []struct {
			Email string
		}
	}
	lockCreateToken           sync.RWMutex
	lockCreateUser            sync.RWMutex
	lockDeleteToken           sync.RWMutex
	lockDeleteUser            sync.RWMutex
	lockTokensByEMailAndToken sync.RWMutex
	lockUpdateUser            sync.RWMutex
	lockUser                  sync.RWMutex
}