Documentation
¶
Index ¶
- func TestSecret() types.PrefixSecret
- func WithProjectNamespace(c context.Context, proj cfgtypes.ProjectName, f func(context.Context))
- type ArchivalPublisher
- func (ap *ArchivalPublisher) Clear()
- func (ap *ArchivalPublisher) Close() error
- func (ap *ArchivalPublisher) Hashes() []string
- func (ap *ArchivalPublisher) NewPublishIndex() uint64
- func (ap *ArchivalPublisher) Publish(c context.Context, at *logdog.ArchiveTask) error
- func (ap *ArchivalPublisher) Tasks() []*logdog.ArchiveTask
- type ArchivalStorage
- type BigTableStorage
- type Environment
- func (e *Environment) ClearCoordinatorConfig(c context.Context)
- func (e *Environment) IterateTumbleAll(c context.Context)
- func (e *Environment) JoinGroup(g string)
- func (e *Environment) LeaveAllGroups()
- func (e *Environment) LogIn()
- func (e *Environment) ModProjectConfig(c context.Context, proj cfgtypes.ProjectName, ...)
- func (e *Environment) ModServiceConfig(c context.Context, fn func(*svcconfig.Config))
- func (e *Environment) RunTaskQueues(c context.Context, tls *TestStream)
- type GSClient
- func (c GSClient) Close() error
- func (c GSClient) Delete(gs.Path) error
- func (c GSClient) Get(path gs.Path) []byte
- func (c GSClient) NewReader(path gs.Path, offset int64, length int64) (io.ReadCloser, error)
- func (c GSClient) NewWriter(gs.Path) (gs.Writer, error)
- func (c GSClient) Put(path gs.Path, d []byte)
- func (c GSClient) Rename(gs.Path, gs.Path) error
- type Services
- func (s *Services) ArchivalPublisher(context.Context) (coordinator.ArchivalPublisher, error)
- func (s *Services) Config(c context.Context) (*config.Config, error)
- func (s *Services) ProjectConfig(c context.Context, project cfgtypes.ProjectName) (*svcconfig.ProjectConfig, error)
- func (s *Services) StorageForStream(c context.Context, lst *coordinator.LogStreamState) (coordinator.Storage, error)
- type StorageCache
- type StorageCacheStats
- type TestStream
- func (ts *TestStream) DescBytes() []byte
- func (ts *TestStream) Get(c context.Context) (err error)
- func (ts *TestStream) LogEntry(c context.Context, i int) *logpb.LogEntry
- func (ts *TestStream) Put(c context.Context) (err error)
- func (ts *TestStream) Reload(c context.Context)
- func (ts *TestStream) WithProjectNamespace(c context.Context, f func(context.Context))
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func TestSecret ¶
func TestSecret() types.PrefixSecret
TestSecret returns a testing types.StreamPrefix.
Types ¶
type ArchivalPublisher ¶
type ArchivalPublisher struct { sync.Mutex // Err, if not nil, is the error returned by Publish. Err error // contains filtered or unexported fields }
ArchivalPublisher is a testing implementation of a coordinator.ArchivalPublisher. It records which archival tasks were scheduled and offers accessors to facilitate test assertions.
func (*ArchivalPublisher) Close ¶
func (ap *ArchivalPublisher) Close() error
func (*ArchivalPublisher) Hashes ¶
func (ap *ArchivalPublisher) Hashes() []string
Hashes returns a sorted list of the stream hashes that have had archival tasks submitted.
func (*ArchivalPublisher) NewPublishIndex ¶
func (ap *ArchivalPublisher) NewPublishIndex() uint64
NewPublishIndex implements coordinator.ArchivalPublisher.
func (*ArchivalPublisher) Publish ¶
func (ap *ArchivalPublisher) Publish(c context.Context, at *logdog.ArchiveTask) error
Publish implements coordinator.ArchivalPublisher.
func (*ArchivalPublisher) Tasks ¶
func (ap *ArchivalPublisher) Tasks() []*logdog.ArchiveTask
Tasks returns the dispatched archival tasks in the order in which they were dispatched.
type ArchivalStorage ¶
type ArchivalStorage struct { // Storage is the base (archive) Storage instance. storage.Storage // Opts is the set of archival options that the Storage was instantiated with. Opts archive.Options // contains filtered or unexported fields }
ArchivalStorage is a bound GSClient-backed Storage instance.
func (*ArchivalStorage) Close ¶
func (st *ArchivalStorage) Close()
Close implements storage.Storage.
func (*ArchivalStorage) GetSignedURLs ¶
func (st *ArchivalStorage) GetSignedURLs(c context.Context, req *coordinator.URLSigningRequest) ( *coordinator.URLSigningResponse, error)
GetSignedURLs implements coordinator.Storage.
type BigTableStorage ¶
type BigTableStorage struct { // Testing is the base in-memory BigTable instance that is backing this // Storage. bigtable.Testing // contains filtered or unexported fields }
BigTableStorage is a bound BigTable-backed Storage instance.
func (*BigTableStorage) Close ¶
func (st *BigTableStorage) Close()
Close implements storage.Storage.
func (*BigTableStorage) Config ¶
func (st *BigTableStorage) Config(storage.Config) error
Config implements storage.Storage.
func (*BigTableStorage) GetSignedURLs ¶
func (st *BigTableStorage) GetSignedURLs(context.Context, *coordinator.URLSigningRequest) (*coordinator.URLSigningResponse, error)
GetSignedURLs implements coordinator.Storage.
type Environment ¶
type Environment struct { // Tumble is the Tumble testing instance. Tumble tumble.Testing // Clock is the installed test clock instance. Clock testclock.TestClock // AuthState is the fake authentication state. AuthState authtest.FakeState // Config is the luci-config configuration map that is installed. Config map[string]memory.ConfigSet // Services is the set of installed Coordinator services. Services Services // BigTable in-memory testing instance. BigTable bigtable.Testing // GSClient is the test GSClient instance installed (by default) into // Services. GSClient GSClient // ArchivalPublisher is the test ArchivalPublisher instance installed (by // default) into Services. ArchivalPublisher ArchivalPublisher // StorageCache is the default storage cache instance. StorageCache StorageCache }
Environment contains all of the testing facilities that are installed into the Context.
func Install ¶
func Install() (context.Context, *Environment)
Install creates a testing Context and installs common test facilities into it, returning the Environment to which they're bound.
func (*Environment) ClearCoordinatorConfig ¶
func (e *Environment) ClearCoordinatorConfig(c context.Context)
ClearCoordinatorConfig removes the Coordinator configuration entry, simulating a missing config.
func (*Environment) IterateTumbleAll ¶
func (e *Environment) IterateTumbleAll(c context.Context)
IterateTumbleAll iterates all Tumble instances across all namespaces.
func (*Environment) JoinGroup ¶
func (e *Environment) JoinGroup(g string)
JoinGroup adds the named group the to the list of groups for the current identity.
func (*Environment) LeaveAllGroups ¶
func (e *Environment) LeaveAllGroups()
LeaveAllGroups clears all auth groups that the user is currently a member of.
func (*Environment) LogIn ¶
func (e *Environment) LogIn()
LogIn installs an testing identity into the testing auth state.
func (*Environment) ModProjectConfig ¶
func (e *Environment) ModProjectConfig(c context.Context, proj cfgtypes.ProjectName, fn func(*svcconfig.ProjectConfig))
ModProjectConfig loads the current configuration for the named project, invokes the callback with its contents, and writes the result back to config.
func (*Environment) ModServiceConfig ¶
func (e *Environment) ModServiceConfig(c context.Context, fn func(*svcconfig.Config))
ModServiceConfig loads the current service configuration, invokes the callback with its contents, and writes the result back to config.
func (*Environment) RunTaskQueues ¶
func (e *Environment) RunTaskQueues(c context.Context, tls *TestStream)
RunTaskQueues processes all tasks in all task queues if they are available.
type GSClient ¶
GSClient is a testing Google Storage client implementation.
func (GSClient) Get ¶
Get retrieves the data at the specific path.
func (GSClient) NewReader ¶
NewReader implements gs.Client.
func (GSClient) NewWriter ¶
NewWriter implements gs.Client.
func (GSClient) Put ¶
Put sets the data at a given path.
type Services ¶
type Services struct { // C, if not nil, will be used to get the return values for Config, overriding // local static members. C func() (*config.Config, error) // PC, if not nil, will be used to get the return values for ProjectConfig, // overriding local static members. PC func() (*svcconfig.ProjectConfig, error) // Storage returns an intermediate storage instance for use by this service. // // The caller must close the returned instance if successful. // // By default, this will return a *BigTableStorage instance bound to the // Environment's BigTable instance if the stream is not archived, and an // *ArchivalStorage instance bound to this Environment's GSClient instance // if the stream is archived. ST func(*coordinator.LogStreamState) (coordinator.Storage, error) // ArchivalPublisher returns an ArchivalPublisher instance. AP func() (coordinator.ArchivalPublisher, error) }
Services is a testing stub for a coordinator.Services instance that allows the user to configure the various services that are returned.
func (*Services) ArchivalPublisher ¶
func (s *Services) ArchivalPublisher(context.Context) (coordinator.ArchivalPublisher, error)
ArchivalPublisher implements coordinator.Services.
func (*Services) Config ¶
Config implements coordinator.Services.
func (*Services) ProjectConfig ¶
func (s *Services) ProjectConfig(c context.Context, project cfgtypes.ProjectName) (*svcconfig.ProjectConfig, error)
ProjectConfig implements coordinator.Services.
func (*Services) StorageForStream ¶
func (s *Services) StorageForStream(c context.Context, lst *coordinator.LogStreamState) (coordinator.Storage, error)
StorageForStream implements coordinator.Services.
type StorageCache ¶
StorageCache wraps the default storage cache instance, adding tracking information that is useful for testing.
func (*StorageCache) Clear ¶
func (sc *StorageCache) Clear()
Clear clears the stats for this cache instance.
func (*StorageCache) Get ¶
func (sc *StorageCache) Get(c context.Context, items ...*caching.Item)
Get implements caching.Cache.
func (*StorageCache) Put ¶
Put implements caching.Cache.
func (*StorageCache) Stats ¶
func (sc *StorageCache) Stats() StorageCacheStats
Stats returns the stats for this cache instance.
type StorageCacheStats ¶
StorageCacheStats expose stats for a StorageCache instance.
type TestStream ¶
type TestStream struct { // Project is the project name for this stream. Project cfgtypes.ProjectName // Path is the path of this stream. Path types.StreamPath // Desc is the log stream descriptor. Desc *logpb.LogStreamDescriptor // Prefix is the Coordinator LogPrefix entity. Prefix *coordinator.LogPrefix // Prefix is the Coordinator LogStreamState entity. State *coordinator.LogStreamState // Prefix is the Coordinator LogStream entity. Stream *coordinator.LogStream }
TestStream returns a testing stream.
func MakeStream ¶
func MakeStream(c context.Context, project cfgtypes.ProjectName, path types.StreamPath) *TestStream
MakeStream builds a new TestStream with the supplied parameters.
func (*TestStream) DescBytes ¶
func (ts *TestStream) DescBytes() []byte
DescBytes returns the marshalled descriptor bytes.
func (*TestStream) Get ¶
func (ts *TestStream) Get(c context.Context) (err error)
Get reloads all of the entities for this TestStream.
func (*TestStream) LogEntry ¶
LogEntry generates a generic testing log entry for this stream with the specific log stream index.
func (*TestStream) Put ¶
func (ts *TestStream) Put(c context.Context) (err error)
Put adds all of the entities for this TestStream to the datastore.
func (*TestStream) Reload ¶
func (ts *TestStream) Reload(c context.Context)
Reload loads derived fields from their base fields.