testutil

package
v0.76.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 13, 2026 License: MIT Imports: 25 Imported by: 0

Documentation

Overview

Package testutil contains utilities for writing tests.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AuthTokenFromAppToken added in v0.63.0

func AuthTokenFromAppToken(x *app.Token) *eveauth.Token

func MustTruncateTables

func MustTruncateTables(dbRW *sql.DB)

MustTruncateTables is like TruncateTables but will panic on any error.

func TruncateTables

func TruncateTables(dbRW *sql.DB) error

TruncateTables will purge data from all data tables. This is meant for tests.

Types

type AuthClientStub added in v0.63.0

type AuthClientStub struct {
	Token *eveauth.Token
	Err   error
}

func (AuthClientStub) Authorize added in v0.63.0

func (s AuthClientStub) Authorize(ctx context.Context, scopes []string) (*eveauth.Token, error)

func (AuthClientStub) RefreshToken added in v0.63.0

func (s AuthClientStub) RefreshToken(ctx context.Context, token *eveauth.Token) error

type CacheFake added in v0.51.1

type CacheFake map[string][]byte

func NewCacheFake added in v0.51.1

func NewCacheFake() CacheFake

func (CacheFake) Clear added in v0.51.1

func (c CacheFake) Clear()

func (CacheFake) Get added in v0.51.1

func (c CacheFake) Get(k string) ([]byte, bool)

func (CacheFake) Set added in v0.51.1

func (c CacheFake) Set(k string, v []byte, d time.Duration)

type CacheFake2 added in v0.51.1

type CacheFake2 map[string]any

func NewCacheFake2 added in v0.51.1

func NewCacheFake2() CacheFake2

func (CacheFake2) Delete added in v0.55.0

func (c CacheFake2) Delete(k string)

func (CacheFake2) GetInt64 added in v0.51.1

func (c CacheFake2) GetInt64(k string) (int64, bool)

func (CacheFake2) GetString added in v0.55.0

func (c CacheFake2) GetString(k string) (string, bool)

func (CacheFake2) SetInt64 added in v0.51.1

func (c CacheFake2) SetInt64(k string, v int64, d time.Duration)

func (CacheFake2) SetString added in v0.55.0

func (c CacheFake2) SetString(k string, v string, d time.Duration)

type CharacterSectionStatusParams

type CharacterSectionStatusParams struct {
	CharacterID  int64
	CompletedAt  time.Time
	Data         any
	ErrorMessage string
	Section      app.CharacterSection
	StartedAt    time.Time
	UpdatedAt    time.Time
}

type CorporationSectionStatusParams

type CorporationSectionStatusParams struct {
	Comment       string
	CorporationID int64
	Section       app.CorporationSection
	ErrorMessage  string
	CompletedAt   time.Time
	StartedAt     time.Time
	Data          any
}

type DBOption added in v0.74.0

type DBOption func(*dbOptions)

DBOption configures NewDBInMemory or NewDBOnDisk.

func WithLogLevel added in v0.74.0

func WithLogLevel(level slog.Level) DBOption

WithLogLevel overrides the log level used while setting up a test DB, which is otherwise silenced to [defaultDBSetupLogLevel] to avoid drowning test output in migration log lines. Since this ultimately calls slog.SetLogLoggerLevel, it affects the process-wide default logger for the duration of the DB setup, not just migration-related log records.

type EUSEveNotificationServiceFake added in v0.63.0

type EUSEveNotificationServiceFake struct{}

func (*EUSEveNotificationServiceFake) GetOrCreateEntityESI added in v0.63.0

func (s *EUSEveNotificationServiceFake) GetOrCreateEntityESI(ctx context.Context, id int64) (*app.EveEntity, error)

func (*EUSEveNotificationServiceFake) GetOrCreateLocationESI added in v0.63.0

func (s *EUSEveNotificationServiceFake) GetOrCreateLocationESI(ctx context.Context, id int64) (*app.EveLocation, error)

func (*EUSEveNotificationServiceFake) GetOrCreateMoonESI added in v0.63.0

func (s *EUSEveNotificationServiceFake) GetOrCreateMoonESI(ctx context.Context, id int64) (*app.EveMoon, error)

func (*EUSEveNotificationServiceFake) GetOrCreatePlanetESI added in v0.63.0

func (s *EUSEveNotificationServiceFake) GetOrCreatePlanetESI(ctx context.Context, id int64) (*app.EvePlanet, error)

func (*EUSEveNotificationServiceFake) GetOrCreateSolarSystemESI added in v0.63.0

func (s *EUSEveNotificationServiceFake) GetOrCreateSolarSystemESI(ctx context.Context, id int64) (*app.EveSolarSystem, error)

func (*EUSEveNotificationServiceFake) GetOrCreateTypeESI added in v0.63.0

func (s *EUSEveNotificationServiceFake) GetOrCreateTypeESI(ctx context.Context, id int64) (*app.EveType, error)

func (*EUSEveNotificationServiceFake) ToEntities added in v0.63.0

func (s *EUSEveNotificationServiceFake) ToEntities(ctx context.Context, ids set.Set[int64]) (map[int64]*app.EveEntity, error)

type ErrGroupDebug

type ErrGroupDebug struct {
	// contains filtered or unexported fields
}

ErrGroupDebug represents a replacement for errgroup.Group with the same API, but it runs the callbacks without Goroutines, which makes debugging much easier.

func (*ErrGroupDebug) Go

func (g *ErrGroupDebug) Go(f func() error)

func (*ErrGroupDebug) Wait

func (g *ErrGroupDebug) Wait() error

type EveImageServiceStub added in v0.63.0

type EveImageServiceStub struct {
	Alliance    fyne.Resource
	Character   fyne.Resource
	Corporation fyne.Resource
	Err         error
	Faction     fyne.Resource
	Type        fyne.Resource
}

func NewEveImageServiceStub added in v0.63.0

func NewEveImageServiceStub() *EveImageServiceStub
func (s *EveImageServiceStub) AllianceLogo(id int64, size int) (fyne.Resource, error)

func (*EveImageServiceStub) AllianceLogoAsync added in v0.63.0

func (s *EveImageServiceStub) AllianceLogoAsync(id int64, size int, setter func(r fyne.Resource))

func (*EveImageServiceStub) AssetIconAsync added in v0.63.0

func (s *EveImageServiceStub) AssetIconAsync(id int64, variant app.InventoryTypeVariant, size int, setter func(r fyne.Resource))

func (*EveImageServiceStub) CharacterPortrait added in v0.63.0

func (s *EveImageServiceStub) CharacterPortrait(id int64, size int) (fyne.Resource, error)

func (*EveImageServiceStub) CharacterPortraitAsync added in v0.63.0

func (s *EveImageServiceStub) CharacterPortraitAsync(id int64, size int, setter func(r fyne.Resource))
func (s *EveImageServiceStub) CorporationLogo(id int64, size int) (fyne.Resource, error)

func (*EveImageServiceStub) CorporationLogoAsync added in v0.63.0

func (s *EveImageServiceStub) CorporationLogoAsync(id int64, size int, setter func(r fyne.Resource))
func (s *EveImageServiceStub) EveEntityLogo(o *app.EveEntity, size int) (fyne.Resource, error)

func (*EveImageServiceStub) EveEntityLogoAsync added in v0.63.0

func (s *EveImageServiceStub) EveEntityLogoAsync(o *app.EveEntity, size int, setter func(r fyne.Resource))
func (s *EveImageServiceStub) FactionLogo(id int64, size int) (fyne.Resource, error)

func (*EveImageServiceStub) FactionLogoAsync added in v0.63.0

func (s *EveImageServiceStub) FactionLogoAsync(id int64, size int, setter func(r fyne.Resource))

func (*EveImageServiceStub) InventoryTypeBPC added in v0.63.0

func (s *EveImageServiceStub) InventoryTypeBPC(id int64, size int) (fyne.Resource, error)

func (*EveImageServiceStub) InventoryTypeBPCAsync added in v0.63.0

func (s *EveImageServiceStub) InventoryTypeBPCAsync(id int64, size int, setter func(r fyne.Resource))

func (*EveImageServiceStub) InventoryTypeBPO added in v0.63.0

func (s *EveImageServiceStub) InventoryTypeBPO(id int64, size int) (fyne.Resource, error)

func (*EveImageServiceStub) InventoryTypeBPOAsync added in v0.63.0

func (s *EveImageServiceStub) InventoryTypeBPOAsync(id int64, size int, setter func(r fyne.Resource))

func (*EveImageServiceStub) InventoryTypeIcon added in v0.63.0

func (s *EveImageServiceStub) InventoryTypeIcon(id int64, size int) (fyne.Resource, error)

func (*EveImageServiceStub) InventoryTypeIconAsync added in v0.63.0

func (s *EveImageServiceStub) InventoryTypeIconAsync(id int64, size int, setter func(r fyne.Resource))

func (*EveImageServiceStub) InventoryTypeRender added in v0.63.0

func (s *EveImageServiceStub) InventoryTypeRender(id int64, size int) (fyne.Resource, error)

func (*EveImageServiceStub) InventoryTypeRenderAsync added in v0.63.0

func (s *EveImageServiceStub) InventoryTypeRenderAsync(id int64, size int, setter func(r fyne.Resource))

func (*EveImageServiceStub) InventoryTypeSKIN added in v0.63.0

func (s *EveImageServiceStub) InventoryTypeSKIN(id int64, size int) (fyne.Resource, error)

func (*EveImageServiceStub) InventoryTypeSKINAsync added in v0.63.0

func (s *EveImageServiceStub) InventoryTypeSKINAsync(id int64, size int, setter func(r fyne.Resource))

type Factory

type Factory struct {
	// contains filtered or unexported fields
}

func NewDBInMemory

func NewDBInMemory(opts ...DBOption) (*sql.DB, *storage.Storage, Factory)

NewDBInMemory creates and returns a database in memory for tests. Important: This variant is not suitable for DB code that runs in goroutines.

func NewDBOnDisk

func NewDBOnDisk(t testing.TB, opts ...DBOption) (*sql.DB, *storage.Storage, Factory)

NewDBOnDisk creates and returns a new temporary database on disk for tests. The database is automatically removed once the tests have concluded.

func NewFactory

func NewFactory(st *storage.Storage, dbRO *sql.DB) Factory

func (Factory) AddCharacterToTag

func (f Factory) AddCharacterToTag(tag *app.CharacterTag, character *app.Character)

func (Factory) CreateCharacter

func (f Factory) CreateCharacter(args ...storage.CreateCharacterParams) *app.Character

CreateCharacter creates and returns a new character. Empty optional values are not filled.

func (Factory) CreateCharacterAsset

func (f Factory) CreateCharacterAsset(args ...storage.CreateCharacterAssetParams) *app.CharacterAsset

func (Factory) CreateCharacterAttributes

func (f Factory) CreateCharacterAttributes(args ...storage.UpdateOrCreateCharacterAttributesParams) *app.CharacterAttributes

func (Factory) CreateCharacterContact added in v0.63.0

func (f Factory) CreateCharacterContact(args ...storage.UpdateOrCreateCharacterContactParams) *app.CharacterContact

func (Factory) CreateCharacterContactLabel added in v0.63.0

func (f Factory) CreateCharacterContactLabel(args ...storage.UpdateOrCreateCharacterContactLabelParams) *app.CharacterContactLabel

func (Factory) CreateCharacterContract

func (f Factory) CreateCharacterContract(args ...storage.CreateCharacterContractParams) *app.CharacterContract

func (Factory) CreateCharacterContractBid

func (f Factory) CreateCharacterContractBid(args ...storage.CreateCharacterContractBidParams) *app.CharacterContractBid

func (Factory) CreateCharacterContractCourier

func (f Factory) CreateCharacterContractCourier(args ...storage.CreateCharacterContractParams) *app.CharacterContract

func (Factory) CreateCharacterContractItem

func (f Factory) CreateCharacterContractItem(args ...storage.CreateCharacterContractItemParams) *app.CharacterContractItem

func (Factory) CreateCharacterFull

func (f Factory) CreateCharacterFull(args ...storage.CreateCharacterParams) *app.Character

CreateCharacterFull creates and returns a new character. Empty optionals are filled with random values.

func (Factory) CreateCharacterImplant

func (f Factory) CreateCharacterImplant(args ...storage.CreateCharacterImplantParams) *app.CharacterImplant

func (Factory) CreateCharacterJumpClone

func (f Factory) CreateCharacterJumpClone(args ...storage.CreateCharacterJumpCloneParams) *app.CharacterJumpClone

func (Factory) CreateCharacterLoyaltyPointEntry added in v0.60.0

func (Factory) CreateCharacterMail

func (f Factory) CreateCharacterMail(args ...storage.CreateCharacterMailParams) *app.CharacterMail

func (Factory) CreateCharacterMailLabel

func (f Factory) CreateCharacterMailLabel(args ...app.CharacterMailLabel) *app.CharacterMailLabel

func (Factory) CreateCharacterMailList

func (f Factory) CreateCharacterMailList(characterID int64, args ...app.EveEntity) *app.EveEntity

func (Factory) CreateCharacterMailWithBody added in v0.51.0

func (f Factory) CreateCharacterMailWithBody(args ...storage.CreateCharacterMailParams) *app.CharacterMail

func (Factory) CreateCharacterNotification

func (f Factory) CreateCharacterNotification(args ...storage.CreateCharacterNotificationParams) *app.CharacterNotification

func (Factory) CreateCharacterPlanet

func (f Factory) CreateCharacterPlanet(args ...storage.CreateCharacterPlanetParams) *app.CharacterPlanet

func (Factory) CreateCharacterSectionStatus

func (f Factory) CreateCharacterSectionStatus(args ...CharacterSectionStatusParams) *app.CharacterSectionStatus

func (Factory) CreateCharacterSkill

func (f Factory) CreateCharacterSkill(args ...storage.UpdateOrCreateCharacterSkillParams) *app.CharacterSkill

func (Factory) CreateCharacterSkillqueueItem

func (f Factory) CreateCharacterSkillqueueItem(args ...storage.SkillqueueItemParams) *app.CharacterSkillqueueItem

func (Factory) CreateCharacterTag

func (f Factory) CreateCharacterTag(names ...string) *app.CharacterTag

func (Factory) CreateCharacterToken

func (f Factory) CreateCharacterToken(args ...storage.UpdateOrCreateCharacterTokenParams) *app.CharacterToken

func (Factory) CreateCorporation

func (f Factory) CreateCorporation(corporationID ...int64) *app.Corporation

func (Factory) CreateCorporationAsset added in v0.57.0

func (f Factory) CreateCorporationAsset(args ...storage.CreateCorporationAssetParams) *app.CorporationAsset

func (Factory) CreateCorporationContract

func (f Factory) CreateCorporationContract(args ...storage.CreateCorporationContractParams) *app.CorporationContract

func (Factory) CreateCorporationContractBid

func (f Factory) CreateCorporationContractBid(args ...storage.CreateCorporationContractBidParams) *app.CorporationContractBid

func (Factory) CreateCorporationContractCourier

func (f Factory) CreateCorporationContractCourier(args ...storage.CreateCorporationContractParams) *app.CorporationContract

func (Factory) CreateCorporationContractItem

func (f Factory) CreateCorporationContractItem(args ...storage.CreateCorporationContractItemParams) *app.CorporationContractItem

func (Factory) CreateCorporationMember

func (f Factory) CreateCorporationMember(args ...storage.CorporationMemberParams) *app.CorporationMember

func (Factory) CreateCorporationSectionStatus

func (f Factory) CreateCorporationSectionStatus(args ...CorporationSectionStatusParams) *app.CorporationSectionStatus

func (Factory) CreateCorporationToken added in v0.59.0

func (f Factory) CreateCorporationToken(corporationID int64, roles set.Set[app.Role], scopes set.Set[string]) *app.CharacterToken

func (Factory) CreateCorporationTokenForSection added in v0.59.0

func (f Factory) CreateCorporationTokenForSection(corporationID int64, section app.CorporationSection) *app.CharacterToken

func (Factory) CreateEveBloodline added in v0.67.0

func (f Factory) CreateEveBloodline(args ...storage.CreateEveBloodlineParams) *app.EveBloodline

func (Factory) CreateEveCategory

func (f Factory) CreateEveCategory(args ...storage.CreateEveCategoryParams) *app.EveCategory

func (Factory) CreateEveCharacter

func (f Factory) CreateEveCharacter(args ...storage.CreateEveCharacterParams) *app.EveCharacter

func (Factory) CreateEveConstellation

func (f Factory) CreateEveConstellation(args ...storage.CreateEveConstellationParams) *app.EveConstellation

func (Factory) CreateEveCorporation

func (f Factory) CreateEveCorporation(args ...storage.UpdateOrCreateEveCorporationParams) *app.EveCorporation

func (Factory) CreateEveDogmaAttribute

func (f Factory) CreateEveDogmaAttribute(args ...storage.CreateEveDogmaAttributeParams) *app.EveDogmaAttribute

func (Factory) CreateEveEntity

func (f Factory) CreateEveEntity(args ...app.EveEntity) *app.EveEntity

func (Factory) CreateEveEntityAlliance

func (f Factory) CreateEveEntityAlliance(args ...app.EveEntity) *app.EveEntity

func (Factory) CreateEveEntityCharacter

func (f Factory) CreateEveEntityCharacter(args ...app.EveEntity) *app.EveEntity

func (Factory) CreateEveEntityCorporation

func (f Factory) CreateEveEntityCorporation(args ...app.EveEntity) *app.EveEntity

func (Factory) CreateEveEntityFaction added in v0.65.2

func (f Factory) CreateEveEntityFaction(args ...app.EveEntity) *app.EveEntity

func (Factory) CreateEveEntityWithCategory

func (f Factory) CreateEveEntityWithCategory(c app.EveEntityCategory, args ...app.EveEntity) *app.EveEntity

func (Factory) CreateEveFaction added in v0.68.0

func (f Factory) CreateEveFaction(args ...storage.CreateEveFactionParams) *app.EveFaction

func (Factory) CreateEveGroup

func (f Factory) CreateEveGroup(args ...storage.CreateEveGroupParams) *app.EveGroup

func (Factory) CreateEveLocationEmptyStructure

func (f Factory) CreateEveLocationEmptyStructure(args ...storage.UpdateOrCreateLocationParams) *app.EveLocation

func (Factory) CreateEveLocationStation

func (f Factory) CreateEveLocationStation(args ...storage.UpdateOrCreateLocationParams) *app.EveLocation

func (Factory) CreateEveLocationStructure

func (f Factory) CreateEveLocationStructure(args ...storage.UpdateOrCreateLocationParams) *app.EveLocation

func (Factory) CreateEveMarketPrice

func (f Factory) CreateEveMarketPrice(args ...storage.UpdateOrCreateEveMarketPriceParams) *app.EveMarketPrice

func (Factory) CreateEveMoon

func (f Factory) CreateEveMoon(args ...storage.CreateEveMoonParams) *app.EveMoon

func (Factory) CreateEvePlanet

func (f Factory) CreateEvePlanet(args ...storage.CreateEvePlanetParams) *app.EvePlanet

func (Factory) CreateEveRace

func (f Factory) CreateEveRace(args ...storage.UpdateOrCreateEveRaceParams) *app.EveRace

func (Factory) CreateEveRegion

func (f Factory) CreateEveRegion(args ...storage.CreateEveRegionParams) *app.EveRegion

func (Factory) CreateEveSchematic

func (f Factory) CreateEveSchematic(args ...storage.CreateEveSchematicParams) *app.EveSchematic

func (Factory) CreateEveShipSkill

func (f Factory) CreateEveShipSkill(args ...storage.CreateShipSkillParams) *app.EveShipSkill

func (Factory) CreateEveSolarSystem

func (f Factory) CreateEveSolarSystem(args ...storage.CreateEveSolarSystemParams) *app.EveSolarSystem

func (Factory) CreateEveType

func (f Factory) CreateEveType(args ...storage.CreateEveTypeParams) *app.EveType

func (Factory) CreateEveTypeDogmaAttribute

func (f Factory) CreateEveTypeDogmaAttribute(args ...storage.CreateEveTypeDogmaAttributeParams) *app.EveTypeDogmaAttribute

func (Factory) CreateGeneralSectionStatus

func (f Factory) CreateGeneralSectionStatus(args ...GeneralSectionStatusParams) *app.EveUniverseSectionStatus

func (Factory) CreatePlanetPin

func (f Factory) CreatePlanetPin(args ...storage.CreatePlanetPinParams) *app.PlanetPin

func (Factory) CreatePlanetPinExtractor

func (f Factory) CreatePlanetPinExtractor(args ...storage.CreatePlanetPinParams) *app.PlanetPin

func (Factory) CreatePlanetRoute added in v0.76.0

func (f Factory) CreatePlanetRoute(args ...storage.CreatePlanetRouteParams) *app.PlanetRoute

func (Factory) CreateStructureService

func (f Factory) CreateStructureService(args ...storage.CreateStructureServiceParams) *app.StructureService

func (*Factory) CreateToken

func (f *Factory) CreateToken(args ...app.Token) *app.Token

func (Factory) GetOrCreateEveEntity

func (f Factory) GetOrCreateEveEntity(args ...app.EveEntity) *app.EveEntity

func (Factory) RandomTime

func (f Factory) RandomTime() time.Time

func (Factory) RandomTimeRounded added in v0.68.0

func (f Factory) RandomTimeRounded() time.Time

func (Factory) SetCharacterRoles

func (f Factory) SetCharacterRoles(characterID int64, roles set.Set[app.Role])

type GeneralSectionStatusParams

type GeneralSectionStatusParams struct {
	Section      app.EveUniverseSection
	ErrorMessage string
	CompletedAt  time.Time
	StartedAt    time.Time
	Data         any
}

type SettingsStub added in v0.63.0

type SettingsStub struct {
	MaxWalletTransactionsDefault    int
	MaxMailsDefault                 int
	MarketOrderRetentionDaysDefault int
}

func (*SettingsStub) ApprovedContactCost added in v0.68.0

func (s *SettingsStub) ApprovedContactCost() int

func (*SettingsStub) MarketOrderRetentionDays added in v0.63.0

func (s *SettingsStub) MarketOrderRetentionDays() int

func (*SettingsStub) MaxMails added in v0.63.0

func (s *SettingsStub) MaxMails() int

func (*SettingsStub) MaxWalletTransactions added in v0.63.0

func (s *SettingsStub) MaxWalletTransactions() int

func (*SettingsStub) NotificationTypesEnabled added in v0.63.0

func (s *SettingsStub) NotificationTypesEnabled() set.Set[string]

func (*SettingsStub) NotifyCommunicationsEarliest added in v0.63.0

func (s *SettingsStub) NotifyCommunicationsEarliest() time.Time

func (*SettingsStub) NotifyCommunicationsEnabled added in v0.63.0

func (s *SettingsStub) NotifyCommunicationsEnabled() bool

func (*SettingsStub) NotifyContractsEarliest added in v0.63.0

func (s *SettingsStub) NotifyContractsEarliest() time.Time

func (*SettingsStub) NotifyContractsEnabled added in v0.63.0

func (s *SettingsStub) NotifyContractsEnabled() bool

func (*SettingsStub) NotifyMailsEarliest added in v0.63.0

func (s *SettingsStub) NotifyMailsEarliest() time.Time

func (*SettingsStub) NotifyMailsEnabled added in v0.63.0

func (s *SettingsStub) NotifyMailsEnabled() bool

func (*SettingsStub) NotifyPIEarliest added in v0.63.0

func (s *SettingsStub) NotifyPIEarliest() time.Time

func (*SettingsStub) NotifyPIEnabled added in v0.63.0

func (s *SettingsStub) NotifyPIEnabled() bool

func (*SettingsStub) NotifyTrainingEnabled added in v0.63.0

func (s *SettingsStub) NotifyTrainingEnabled() bool

type TokenSourceStub added in v0.63.0

type TokenSourceStub struct {
	CharacterToken *app.CharacterToken
	Error          error
}

func (TokenSourceStub) Token added in v0.63.0

func (ts TokenSourceStub) Token() (*oauth2.Token, error)

Directories

Path Synopsis
Package testdouble provides test doubles of services.
Package testdouble provides test doubles of services.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL