Documentation
¶
Index ¶
- func AssertAdminColumn(t TestHelper, response *Response, column string)
- func AssertAdminModelRegistered(t TestHelper, registry *admin.Registry, label string)
- func AssertAdminPage(t TestHelper, response *Response, text string)
- func AssertEmailSent(t TestHelper, outbox *MailOutbox, subject string)
- func AssertEqualJSON(t TestHelper, actual any, expected any)
- func AssertHasFieldError(t TestHelper, errors any, field string, message string)
- func AssertHasNonFieldError(t TestHelper, errors any, message string)
- func AssertPermissionDenied(t TestHelper, user auth.User, permission string)
- func AssertPermissionGranted(t TestHelper, user auth.User, permission string)
- func AssertQueryCount(t TestHelper, counter QueryCount, expected int)
- func AssertSignalSent(t TestHelper, responses []signals.Response)
- func AssertTaskEnqueued(t TestHelper, harness *QueueHarness, name string)
- func LoadFixtures(ctx context.Context, database *TestDatabase, fixtures []Fixture) error
- func ModelTableName(model string) string
- func RecordFormErrors(w http.ResponseWriter, errors map[string][]string)
- func RecordTemplate(w http.ResponseWriter, name string)
- func TemporarySettings(base conf.Settings, options ...SettingsOption) conf.Settings
- func TransactionalFixtures(ctx context.Context, database *TestDatabase, fixtures []Fixture, ...) error
- type AdminClient
- type CleanupHelper
- type Client
- func (c *Client) Delete(path string) *Response
- func (c *Client) Do(method string, path string, body io.Reader, headers map[string]string) *Response
- func (c *Client) FollowRedirects(enabled bool) *Client
- func (c *Client) ForceLogin(user auth.User) *Client
- func (c *Client) Get(path string) *Response
- func (c *Client) JSON(method string, path string, payload any) *Response
- func (c *Client) Options(path string) *Response
- func (c *Client) Patch(path string, body string) *Response
- func (c *Client) PatchJSON(path string, payload any) *Response
- func (c *Client) Post(path string, body string) *Response
- func (c *Client) PostForm(path string, values url.Values) *Response
- func (c *Client) PostJSON(path string, payload any) *Response
- func (c *Client) PostMultipart(path string, fields map[string]string, files map[string]MultipartFile) *Response
- func (c *Client) Put(path string, body string) *Response
- func (c *Client) PutJSON(path string, payload any) *Response
- func (c *Client) SetCookie(cookie *http.Cookie) *Client
- func (c *Client) WithSession(session *sessions.Session) *Client
- type Factory
- type Fixture
- type FixtureRow
- type MailOutbox
- type MultipartFile
- type QueryCount
- type QueryCounter
- type QueueHarness
- func (h *QueueHarness) Apply(ctx context.Context, signature queue.Signature) (queue.Result, error)
- func (h *QueueHarness) AssertTaskEnqueued(t TestHelper, name string)
- func (h *QueueHarness) Enqueue(ctx context.Context, signature queue.Signature) (queue.Envelope, error)
- func (h *QueueHarness) Enqueued() []queue.Envelope
- type Response
- func (r *Response) AssertBodyContains(t TestHelper, value string)
- func (r *Response) AssertFormError(t TestHelper, field string, message string)
- func (r *Response) AssertHeader(t TestHelper, name string, value string)
- func (r *Response) AssertJSONPath(t TestHelper, path string, want any)
- func (r *Response) AssertNonFieldError(t TestHelper, message string)
- func (r *Response) AssertRedirect(t TestHelper, target string)
- func (r *Response) AssertStatus(t TestHelper, status int)
- func (r *Response) AssertTemplateUsed(t TestHelper, name string)
- type SQLSchemaEditor
- type Sequence
- type SettingsOption
- type SettingsOverride
- type TestDatabase
- func (d *TestDatabase) ApplyMigrations(ctx context.Context, migrationList []migrations.Migration) error
- func (d *TestDatabase) Close() error
- func (d *TestDatabase) LoadFixtures(ctx context.Context, rows []FixtureRow) error
- func (d *TestDatabase) Reset(ctx context.Context) error
- func (d *TestDatabase) RollbackTransaction(ctx context.Context, fn func(context.Context, Transaction) error) (err error)
- func (d *TestDatabase) SQLDB() *sql.DB
- func (d *TestDatabase) TableExists(ctx context.Context, table string) (bool, error)
- func (d *TestDatabase) Transaction(ctx context.Context, fn func(context.Context, Transaction) error) (err error)
- type TestHelper
- type Transaction
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AssertAdminColumn ¶
func AssertAdminColumn(t TestHelper, response *Response, column string)
func AssertAdminModelRegistered ¶
func AssertAdminModelRegistered(t TestHelper, registry *admin.Registry, label string)
func AssertAdminPage ¶
func AssertAdminPage(t TestHelper, response *Response, text string)
func AssertEmailSent ¶
func AssertEmailSent(t TestHelper, outbox *MailOutbox, subject string)
func AssertEqualJSON ¶
func AssertEqualJSON(t TestHelper, actual any, expected any)
func AssertHasFieldError ¶
func AssertHasFieldError(t TestHelper, errors any, field string, message string)
func AssertHasNonFieldError ¶
func AssertHasNonFieldError(t TestHelper, errors any, message string)
func AssertPermissionDenied ¶
func AssertPermissionDenied(t TestHelper, user auth.User, permission string)
func AssertPermissionGranted ¶
func AssertPermissionGranted(t TestHelper, user auth.User, permission string)
func AssertQueryCount ¶
func AssertQueryCount(t TestHelper, counter QueryCount, expected int)
func AssertSignalSent ¶
func AssertSignalSent(t TestHelper, responses []signals.Response)
func AssertTaskEnqueued ¶
func AssertTaskEnqueued(t TestHelper, harness *QueueHarness, name string)
func LoadFixtures ¶
func LoadFixtures(ctx context.Context, database *TestDatabase, fixtures []Fixture) error
func ModelTableName ¶
func RecordFormErrors ¶
func RecordFormErrors(w http.ResponseWriter, errors map[string][]string)
func RecordTemplate ¶
func RecordTemplate(w http.ResponseWriter, name string)
func TemporarySettings ¶
func TemporarySettings(base conf.Settings, options ...SettingsOption) conf.Settings
func TransactionalFixtures ¶
func TransactionalFixtures(ctx context.Context, database *TestDatabase, fixtures []Fixture, fn func(context.Context, Transaction) error) error
Types ¶
type AdminClient ¶
type AdminClient struct {
*Client
}
func NewAdminClient ¶
func NewAdminClient(handler http.Handler) *AdminClient
func (*AdminClient) Login ¶
func (c *AdminClient) Login(user auth.User) *AdminClient
type CleanupHelper ¶
type CleanupHelper interface {
Helper()
Cleanup(func())
}
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func (*Client) FollowRedirects ¶
func (*Client) PostMultipart ¶
type Factory ¶
type Factory struct {
// contains filtered or unexported fields
}
func (*Factory) WithNaturalKey ¶
type Fixture ¶
func DumpFixtures ¶
type FixtureRow ¶
func FixtureRows ¶
func FixtureRows(fixtures []Fixture) []FixtureRow
type MailOutbox ¶
type MailOutbox struct {
// contains filtered or unexported fields
}
func NewMailOutbox ¶
func NewMailOutbox() *MailOutbox
func (*MailOutbox) AssertEmailSent ¶
func (o *MailOutbox) AssertEmailSent(t TestHelper, subject string)
func (*MailOutbox) Backend ¶
func (o *MailOutbox) Backend() *email.MemoryBackend
func (*MailOutbox) Clear ¶
func (o *MailOutbox) Clear()
func (*MailOutbox) Messages ¶
func (o *MailOutbox) Messages() []email.Message
type MultipartFile ¶
type QueryCount ¶
type QueryCount interface {
Count() int
}
type QueryCounter ¶
type QueryCounter struct {
// contains filtered or unexported fields
}
func NewQueryCounter ¶
func NewQueryCounter() *QueryCounter
func (*QueryCounter) Count ¶
func (c *QueryCounter) Count() int
func (*QueryCounter) Record ¶
func (c *QueryCounter) Record()
type QueueHarness ¶
type QueueHarness struct {
App *queue.App
Broker *brokers.MemoryBroker
Backend *backends.MemoryBackend
// contains filtered or unexported fields
}
func NewQueueHarness ¶
func NewQueueHarness(app *queue.App) *QueueHarness
func (*QueueHarness) AssertTaskEnqueued ¶
func (h *QueueHarness) AssertTaskEnqueued(t TestHelper, name string)
func (*QueueHarness) Enqueued ¶
func (h *QueueHarness) Enqueued() []queue.Envelope
type Response ¶
type Response struct {
StatusCode int
Header http.Header
Body string
Request *http.Request
Cookies []*http.Cookie
RedirectChain []string
}
func (*Response) AssertBodyContains ¶
func (r *Response) AssertBodyContains(t TestHelper, value string)
func (*Response) AssertFormError ¶
func (r *Response) AssertFormError(t TestHelper, field string, message string)
func (*Response) AssertHeader ¶
func (r *Response) AssertHeader(t TestHelper, name string, value string)
func (*Response) AssertJSONPath ¶
func (r *Response) AssertJSONPath(t TestHelper, path string, want any)
func (*Response) AssertNonFieldError ¶
func (r *Response) AssertNonFieldError(t TestHelper, message string)
func (*Response) AssertRedirect ¶
func (r *Response) AssertRedirect(t TestHelper, target string)
func (*Response) AssertStatus ¶
func (r *Response) AssertStatus(t TestHelper, status int)
func (*Response) AssertTemplateUsed ¶
func (r *Response) AssertTemplateUsed(t TestHelper, name string)
type SQLSchemaEditor ¶
type SettingsOption ¶
func WithDatabaseURL ¶
func WithDatabaseURL(databaseURL string) SettingsOption
func WithInstalledApps ¶
func WithInstalledApps(apps ...string) SettingsOption
func WithMiddleware ¶
func WithMiddleware(middleware ...string) SettingsOption
func WithTemplateDirs ¶
func WithTemplateDirs(dirs ...string) SettingsOption
func WithTemporaryDatabase ¶
func WithTemporaryDatabase(database *TestDatabase) SettingsOption
type SettingsOverride ¶
type SettingsOverride struct {
// contains filtered or unexported fields
}
func OverrideSettings ¶
func OverrideSettings(target *conf.Settings, options ...SettingsOption) *SettingsOverride
func OverrideSettingsForTest ¶
func OverrideSettingsForTest(t CleanupHelper, target *conf.Settings, options ...SettingsOption) *SettingsOverride
func (*SettingsOverride) Restore ¶
func (o *SettingsOverride) Restore()
type TestDatabase ¶
type TestDatabase struct {
Database *orm.Database
Path string
// contains filtered or unexported fields
}
func NewPostgresTestDatabase ¶
func NewPostgresTestDatabase(ctx context.Context, dsn string) (*TestDatabase, error)
func NewSQLiteTestDatabase ¶
func NewSQLiteTestDatabase(ctx context.Context) (*TestDatabase, error)
func (*TestDatabase) ApplyMigrations ¶
func (d *TestDatabase) ApplyMigrations(ctx context.Context, migrationList []migrations.Migration) error
func (*TestDatabase) Close ¶
func (d *TestDatabase) Close() error
func (*TestDatabase) LoadFixtures ¶
func (d *TestDatabase) LoadFixtures(ctx context.Context, rows []FixtureRow) error
func (*TestDatabase) RollbackTransaction ¶
func (d *TestDatabase) RollbackTransaction(ctx context.Context, fn func(context.Context, Transaction) error) (err error)
func (*TestDatabase) SQLDB ¶
func (d *TestDatabase) SQLDB() *sql.DB
func (*TestDatabase) TableExists ¶
func (*TestDatabase) Transaction ¶
func (d *TestDatabase) Transaction(ctx context.Context, fn func(context.Context, Transaction) error) (err error)
type TestHelper ¶
Click to show internal directories.
Click to hide internal directories.