repotesting

package
v0.13.0-rc2 Latest Latest
Warning

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

Go to latest
Published: Apr 17, 2023 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Overview

Package repotesting contains test utilities for working with repositories.

Index

Constants

View Source
const DefaultPasswordForTesting = "foobarbazfoobarbaz"

DefaultPasswordForTesting is the default password to use for all testing repositories.

View Source
const FormatNotImportant = format.FormatVersion3

FormatNotImportant chooses arbitrary format version where it's not important to the test.

View Source
const ReconnectableStorageType = "reconnectable"

ReconnectableStorageType is the unique storage type identifier for reconnectable storage backend.

Variables

This section is empty.

Functions

func New added in v0.13.0

func New(ctx context.Context, opt *ReconnectableStorageOptions, isCreate bool) (blob.Storage, error)

New creates new reconnectable storage.

func NewReconnectableStorage added in v0.10.4

func NewReconnectableStorage(tb testing.TB, st blob.Storage) blob.Storage

NewReconnectableStorage wraps the provided storage that may or may not be round-trippable in a wrapper that globally caches storage instance and ensures its connection info is round-trippable.

Types

type Environment

type Environment struct {
	Repository       repo.Repository
	RepositoryWriter repo.DirectRepositoryWriter

	Password string
	// contains filtered or unexported fields
}

Environment encapsulates details of a test environment.

func NewEnvironment added in v0.8.0

func NewEnvironment(tb testing.TB, version format.Version, opts ...Options) (context.Context, *Environment)

NewEnvironment creates a new repository testing environment and ensures its cleanup at the end of the test.

func (*Environment) Close

func (e *Environment) Close(ctx context.Context, tb testing.TB)

Close closes testing environment.

func (*Environment) ConfigFile added in v0.8.0

func (e *Environment) ConfigFile() string

ConfigFile returns the name of the config file.

func (*Environment) LocalPathSourceInfo added in v0.11.0

func (e *Environment) LocalPathSourceInfo(path string) snapshot.SourceInfo

LocalPathSourceInfo is a convenience method that returns SourceInfo for the local user and path.

func (*Environment) MustConnectOpenAnother added in v0.7.0

func (e *Environment) MustConnectOpenAnother(tb testing.TB, openOpts ...func(*repo.Options)) repo.Repository

MustConnectOpenAnother opens another repository backed by the same storage, with independent config and cache options.

func (*Environment) MustOpenAnother added in v0.6.0

func (e *Environment) MustOpenAnother(tb testing.TB, openOpts ...func(*repo.Options)) repo.RepositoryWriter

MustOpenAnother opens another repository backed by the same storage location.

func (*Environment) MustReopen

func (e *Environment) MustReopen(tb testing.TB, openOpts ...func(*repo.Options))

MustReopen closes and reopens the repository.

func (*Environment) RepositoryMetrics added in v0.13.0

func (e *Environment) RepositoryMetrics() *metrics.Registry

RepositoryMetrics returns metrics.Registry associated with a repository.

func (*Environment) RootStorage added in v0.10.2

func (e *Environment) RootStorage() blob.Storage

RootStorage returns the base storage map that implements the base in-memory map at the base of all storage wrappers on top.

func (*Environment) VerifyBlobCount

func (e *Environment) VerifyBlobCount(tb testing.TB, want int)

VerifyBlobCount verifies that the underlying storage contains the specified number of blobs.

type Options added in v0.7.0

type Options struct {
	NewRepositoryOptions func(*repo.NewRepositoryOptions)
	OpenOptions          func(*repo.Options)
}

Options used during Environment Setup.

type ReconnectableStorageOptions added in v0.10.4

type ReconnectableStorageOptions struct {
	UUID string
}

ReconnectableStorageOptions provides options to reconnectable storage.

Jump to

Keyboard shortcuts

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