luci: Index | Files

package authtest

import ""

Package authtest implements authentication related test helpers.


Package Files

doc.go faketokengen.go


const (
    DefaultFakeEmail    = ""
    DefaultFakeLifetime = 5 * time.Minute

Defaults for FakeTokenGenerator.

type FakeTokenGenerator Uses

type FakeTokenGenerator struct {
    Email      string        // email of the default account (default "")
    Prefix     string        // prefix of fake generated tokens (default "fake_token_")
    Lifetime   time.Duration // lifetime of the returned token (default 5 min)
    KeepRecord bool          // if true, record all generated tokens
    // contains filtered or unexported fields

FakeTokenGenerator implements localauth.TokenGenerator by returning fake data.

Useful for integration tests that involve local auth server.

Each GenerateToken call returns a token "<prefix><N>", where "<prefix>" is by default "fake_token_" (it can be changed via Prefix) and N starts from 0 and incremented for each call.

If KeepRecord is true, each generated token is recorded along with a list of scopes that were used to generate it. Use TokenScopes() to see what scopes have been used to generate a particular token.

func (*FakeTokenGenerator) GenerateToken Uses

func (f *FakeTokenGenerator) GenerateToken(ctx context.Context, scopes []string, lifetime time.Duration) (*oauth2.Token, error)

GenerateToken is part of TokenGenerator interface.

func (*FakeTokenGenerator) GetEmail Uses

func (f *FakeTokenGenerator) GetEmail() (string, error)

GetEmail is part of TokenGenerator interface.

func (*FakeTokenGenerator) TokenScopes Uses

func (f *FakeTokenGenerator) TokenScopes(token string) []string

TokenScopes returns scopes that were used to generate given fake token.

Returns nil for unknown tokens or if KeepRecord is false and tokens weren't recorded.

Package authtest imports 6 packages (graph). Updated 2021-01-17. Refresh now. Tools for package owners.