test

package
v0.11.0 Latest Latest
Warning

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

Go to latest
Published: Apr 29, 2024 License: AGPL-3.0 Imports: 28 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultConfig = config.Config{
	Webauthn: config.WebauthnSettings{
		RelyingParty: config.RelyingParty{
			Id:          "localhost",
			DisplayName: "Test Relying Party",
			Icon:        "",
			Origins:     []string{"http://localhost:8080", "http://localhost:8888"},
		},
		Timeout:          60000,
		UserVerification: "preferred",
	},
	Secrets: config.Secrets{
		Keys: []string{"abcdefghijklmnop"},
	},
	Smtp: config.SMTP{
		Host: "localhost",
		Port: "2500",
	},
	EmailDelivery: config.EmailDelivery{
		Enabled: true,
	},
	Passcode: config.Passcode{
		Email: config.Email{
			FromAddress: "test@hanko.io",
			FromName:    "Hanko Test",
		},
		TTL: 300,
	},
	Session: config.Session{
		Lifespan: "1h",
		Cookie: config.Cookie{
			SameSite: "none",
		},
	},
	Service: config.Service{
		Name: "Test",
	},
	Account: config.Account{
		AllowSignup:   true,
		AllowDeletion: false,
	},
}
View Source
var UnknownDialectError = errors.New("unknown dialect")

Functions

func NewAuditLogPersister

func NewAuditLogPersister(init []models.AuditLog) persistence.AuditLogPersister

func NewAuditLogger

func NewAuditLogger() auditlog.Logger

func NewEmailPersister

func NewEmailPersister(init []models.Email) persistence.EmailPersister

func NewIdentityPersister added in v0.5.0

func NewIdentityPersister(init []models.Identity) persistence.IdentityPersister

func NewJwkPersister

func NewJwkPersister(init []models.Jwk) persistence.JwkPersister

func NewPasscodePersister

func NewPasscodePersister(init []models.Passcode) persistence.PasscodePersister

func NewPersister deprecated

func NewPersister(
	user []models.User,
	passcodes []models.Passcode,
	jwks []models.Jwk,
	credentials []models.WebauthnCredential,
	sessionData []models.WebauthnSessionData,
	passwords []models.PasswordCredential,
	auditLogs []models.AuditLog,
	emails []models.Email,
	primaryEmails []models.PrimaryEmail,
	identities []models.Identity,
	tokens []models.Token,
	samlStates []models.SamlState,
	samlCertificates []*models.SamlCertificate,
	webhooks models.Webhooks,
	webhookEvents models.WebhookEvents,
) persistence.Persister

Deprecated: NewPersister is deprecated. Use test.Suite instead

func NewSamlCertificatePersister added in v0.9.0

func NewSamlCertificatePersister(init []*models.SamlCertificate) persistence.SamlCertificatePersister

func NewSamlStatePersister added in v0.9.0

func NewSamlStatePersister(init []models.SamlState) persistence.SamlStatePersister

func NewTokenPersister added in v0.6.0

func NewTokenPersister(init []models.Token) persistence.TokenPersister

func NewUserPersister

func NewUserPersister(init []models.User) persistence.UserPersister

func NewWebhookPersister added in v0.10.0

func NewWebhookPersister(initHooks models.Webhooks, initEvents models.WebhookEvents) persistence.WebhookPersister

func PurgeDB added in v0.5.0

func PurgeDB(db *TestDB) error

PurgeDB stops the docker container.

func PurgeMailslurper added in v0.9.1

func PurgeMailslurper(instance *TestMailslurper) error

Types

type DeleteEmailsRequest added in v0.9.1

type DeleteEmailsRequest struct {
	PruneCode string `json:"pruneCode" required:"true"`
}

type GetEmailResponse added in v0.9.1

type GetEmailResponse struct {
	MailItems    []GetEmailResponseMailItem `json:"mailItems"`
	TotalRecords int                        `json:"totalRecords"`
}

type GetEmailResponseMailItem added in v0.9.1

type GetEmailResponseMailItem struct {
	Id          string   `json:"id"`
	DateSent    string   `json:"dateSent"`
	FromAddress string   `json:"fromAddress"`
	ToAddresses []string `json:"toAddresses"`
	Subject     string   `json:"subject"`
	Body        string   `json:"body"`
	ContentType string   `json:"contentType"`
}

type JwkManager added in v0.5.0

type JwkManager struct{}

func (JwkManager) GenerateKey added in v0.5.0

func (m JwkManager) GenerateKey() (jwk.Key, error)

func (JwkManager) GetPublicKeys added in v0.5.0

func (m JwkManager) GetPublicKeys() (jwk.Set, error)

func (JwkManager) GetSigningKey added in v0.5.0

func (m JwkManager) GetSigningKey() (jwk.Key, error)

type Suite added in v0.6.0

type Suite struct {
	suite.Suite
	Storage         persistence.Storage
	DB              *TestDB
	EmailServer     *TestMailslurper
	Name            string // used for database docker container name, so that tests can run in parallel
	WithEmailServer bool
}

func (*Suite) LoadFixtures added in v0.6.0

func (s *Suite) LoadFixtures(path string) error

LoadFixtures loads predefined data from the path in the database.

func (*Suite) SetupSuite added in v0.6.0

func (s *Suite) SetupSuite()

func (*Suite) SetupTest added in v0.6.0

func (s *Suite) SetupTest()

func (*Suite) TearDownSuite added in v0.6.0

func (s *Suite) TearDownSuite()

func (*Suite) TearDownTest added in v0.6.0

func (s *Suite) TearDownTest()

type TestDB added in v0.5.0

type TestDB struct {
	DatabaseUrl string
	DbCon       *sql.DB
	Dialect     string
	// contains filtered or unexported fields
}

func StartDB added in v0.5.0

func StartDB(name string, dialect string) (*TestDB, error)

StartDB starts a database in a docker container with the specified dialect and name. The name is used to name the container, so that multiple container can be started in parallel.

type TestMailslurper added in v0.9.1

type TestMailslurper struct {
	Id string

	SmtpHost string
	SmtpPort string
	// contains filtered or unexported fields
}

func StartMailslurper added in v0.9.1

func StartMailslurper() (*TestMailslurper, error)

func (*TestMailslurper) DeleteEmails added in v0.9.1

func (m *TestMailslurper) DeleteEmails() error

func (*TestMailslurper) GetEmails added in v0.9.1

func (m *TestMailslurper) GetEmails() (*GetEmailResponse, error)

type TestWebhookPersister added in v0.10.0

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

func (*TestWebhookPersister) AddEvent added in v0.10.0

func (w *TestWebhookPersister) AddEvent(event models.WebhookEvent) error

func (*TestWebhookPersister) Create added in v0.10.0

func (w *TestWebhookPersister) Create(webhook models.Webhook, events models.WebhookEvents) error

func (*TestWebhookPersister) Delete added in v0.10.0

func (w *TestWebhookPersister) Delete(webhook models.Webhook) error

func (*TestWebhookPersister) Get added in v0.10.0

func (w *TestWebhookPersister) Get(webhookId uuid.UUID) (*models.Webhook, error)

func (*TestWebhookPersister) List added in v0.10.0

func (w *TestWebhookPersister) List(includeDisabled bool) (models.Webhooks, error)

func (*TestWebhookPersister) RemoveEvent added in v0.10.0

func (w *TestWebhookPersister) RemoveEvent(event models.WebhookEvent) error

func (*TestWebhookPersister) Update added in v0.10.0

func (w *TestWebhookPersister) Update(webhook models.Webhook) error

Jump to

Keyboard shortcuts

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