Documentation ¶
Index ¶
- Variables
- func NewDefaultBootstrappableTestSetups(t *testing.T, opts TestOptions, setupOpts []BootstrappableTestSetupOptions) (testSetups, closeFn)
- type BootstrappableTestSetupOptions
- type InitializeBootstrappersOptions
- type StorageOption
- type TestOptions
- type TestSetup
- type TestShardSetOptions
- type TestTChannelClient
- func (client *TestTChannelClient) Address() string
- func (client *TestTChannelClient) Channel() *tchannel.Channel
- func (client *TestTChannelClient) TChannelClientAggregateTiles(timeout time.Duration, req *rpc.AggregateTilesRequest) (*rpc.AggregateTilesResult_, error)
- func (client *TestTChannelClient) TChannelClientFetch(timeout time.Duration, req *rpc.FetchRequest) (*rpc.FetchResult_, error)
- func (client *TestTChannelClient) TChannelClientFetchTagged(timeout time.Duration, req *rpc.FetchTaggedRequest) (*rpc.FetchTaggedResult_, error)
- func (client *TestTChannelClient) TChannelClientHealth(timeout time.Duration) (*rpc.NodeHealthResult_, error)
- func (client *TestTChannelClient) TChannelClientTruncate(timeout time.Duration, req *rpc.TruncateRequest) (int64, error)
- func (client *TestTChannelClient) TChannelClientWrite(timeout time.Duration, req *rpc.WriteRequest) error
- func (client *TestTChannelClient) TChannelClientWriteBatch(timeout time.Duration, namespace ident.ID, seriesList generate.SeriesBlock) error
- func (client *TestTChannelClient) TChannelClientWriteTagged(timeout time.Duration, req *rpc.WriteTaggedRequest) error
- func (client *TestTChannelClient) TChannelClientWriteTaggedBatchRaw(timeout time.Duration, req *rpc.WriteTaggedBatchRawRequest) error
Constants ¶
This section is empty.
Variables ¶
var ( // DefaultIntegrationTestRetentionOpts are default integration test retention options. DefaultIntegrationTestRetentionOpts = retention.NewOptions().SetRetentionPeriod(6 * time.Hour) )
Functions ¶
func NewDefaultBootstrappableTestSetups ¶ added in v1.0.1
func NewDefaultBootstrappableTestSetups( t *testing.T, opts TestOptions, setupOpts []BootstrappableTestSetupOptions, ) (testSetups, closeFn)
NewDefaultBootstrappableTestSetups creates dbnode test setups.
Types ¶
type BootstrappableTestSetupOptions ¶ added in v1.0.1
type BootstrappableTestSetupOptions struct { FinalBootstrapper string BootstrapBlocksBatchSize int BootstrapBlocksConcurrency int BootstrapConsistencyLevel topology.ReadConsistencyLevel TopologyInitializer topology.Initializer TestStatsReporter xmetrics.TestStatsReporter DisableCommitLogBootstrapper bool DisablePeersBootstrapper bool UseTChannelClientForWriting bool EnableRepairs bool ForceRepairs bool RepairType repair.Type AdminClientCustomOpts []client.CustomAdminOption }
BootstrappableTestSetupOptions defines options for test setups.
type InitializeBootstrappersOptions ¶ added in v0.15.9
type InitializeBootstrappersOptions struct { CommitLogOptions commitlog.Options WithCommitLog bool WithFileSystem bool }
InitializeBootstrappersOptions supplies options for bootstrapper initialization.
type StorageOption ¶ added in v1.0.1
StorageOption is a reference to storage options function.
type TestOptions ¶
type TestOptions interface { // SetNamespaces sets the namespaces. SetNamespaces(value []namespace.Metadata) TestOptions // Namespaces returns the namespaces. Namespaces() []namespace.Metadata // SetNamespaceInitializer sets the namespace initializer, // if this is set, it superseeds Namespaces() SetNamespaceInitializer(value namespace.Initializer) TestOptions // NamespaceInitializer returns the namespace initializer NamespaceInitializer() namespace.Initializer // SetID sets the node ID. SetID(value string) TestOptions // ID returns the node ID. ID() string // SetTickMinimumInterval sets the tick interval. SetTickMinimumInterval(value time.Duration) TestOptions // TickMinimumInterval returns the tick interval. TickMinimumInterval() time.Duration // SetTickCancellationCheckInterval sets the tick cancellation check interval. SetTickCancellationCheckInterval(value time.Duration) TestOptions // TickCancellationCheckInterval returns the tick cancellation check interval. TickCancellationCheckInterval() time.Duration // SetHTTPClusterAddr sets the http cluster address. SetHTTPClusterAddr(value string) TestOptions // HTTPClusterAddr returns the http cluster address. HTTPClusterAddr() string // SetTChannelClusterAddr sets the tchannel cluster address. SetTChannelClusterAddr(value string) TestOptions // TChannelClusterAddr returns the tchannel cluster address. TChannelClusterAddr() string // SetHTTPNodeAddr sets the http node address. SetHTTPNodeAddr(value string) TestOptions // HTTPNodeAddr returns the http node address. HTTPNodeAddr() string // SetTChannelNodeAddr sets the tchannel node address. SetTChannelNodeAddr(value string) TestOptions // TChannelNodeAddr returns the tchannel node address. TChannelNodeAddr() string // SetHTTPDebugAddr sets the http debug address. SetHTTPDebugAddr(value string) TestOptions // HTTPDebugAddr returns the http debug address. HTTPDebugAddr() string // SetServerStateChangeTimeout sets the server state change timeout. SetServerStateChangeTimeout(value time.Duration) TestOptions // ServerStateChangeTimeout returns the server state change timeout. ServerStateChangeTimeout() time.Duration // SetClusterConnectionTimeout sets the cluster connection timeout. SetClusterConnectionTimeout(value time.Duration) TestOptions // ClusterConnectionTimeout returns the cluster connection timeout. ClusterConnectionTimeout() time.Duration // SetReadRequestTimeout sets the read request timeout. SetReadRequestTimeout(value time.Duration) TestOptions // ReadRequestTimeout returns the read request timeout. ReadRequestTimeout() time.Duration // SetWriteRequestTimeout sets the write request timeout. SetWriteRequestTimeout(value time.Duration) TestOptions // WriteRequestTimeout returns the write request timeout. WriteRequestTimeout() time.Duration // SetTruncateRequestTimeout sets the truncate request timeout. SetTruncateRequestTimeout(value time.Duration) TestOptions // TruncateRequestTimeout returns the truncate request timeout. TruncateRequestTimeout() time.Duration // SetFetchRequestTimeout sets the fetch request timeout. SetFetchRequestTimeout(value time.Duration) TestOptions // FetchRequestTimeout returns the fetch request timeout. FetchRequestTimeout() time.Duration // SetWorkerPoolSize sets the number of workers in the worker pool. SetWorkerPoolSize(value int) TestOptions // WorkerPoolSize returns the number of workers in the worker pool. WorkerPoolSize() int // SetClusterDatabaseTopologyInitializer sets the topology initializer that // is used when creating a cluster database SetClusterDatabaseTopologyInitializer(value topology.Initializer) TestOptions // ClusterDatabaseTopologyInitializer returns the topology initializer that // is used when creating a cluster database ClusterDatabaseTopologyInitializer() topology.Initializer // SetCustomClientAdminOptions sets any custom admin options to set. SetCustomClientAdminOptions(value []client.CustomAdminOption) TestOptions // CustomClientAdminOptions returns any custom admin options to set. CustomClientAdminOptions() []client.CustomAdminOption // SetUseTChannelClientForReading sets whether we use the tchannel client for reading. SetUseTChannelClientForReading(value bool) TestOptions // UseTChannelClientForReading returns whether we use the tchannel client for reading. UseTChannelClientForReading() bool // SetUseTChannelClientForWriting sets whether we use the tchannel client for writing. SetUseTChannelClientForWriting(value bool) TestOptions // UseTChannelClientForWriting returns whether we use the tchannel client for writing. UseTChannelClientForWriting() bool // SetUseTChannelClientForTruncation sets whether we use the tchannel client for truncation. SetUseTChannelClientForTruncation(value bool) TestOptions // UseTChannelClientForTruncation returns whether we use the tchannel client for truncation. UseTChannelClientForTruncation() bool // SetDatabaseBlockRetrieverManager sets the block retriever manager to // use when bootstrapping retrievable blocks instead of blocks // containing data. // If you don't wish to bootstrap retrievable blocks instead of // blocks containing data then do not set this manager. // You can opt into which namespace you wish to have this enabled for // by returning nil instead of a result when creating a new block retriever // for a namespace from the manager. SetDatabaseBlockRetrieverManager( value block.DatabaseBlockRetrieverManager, ) TestOptions // NewBlockRetrieverFn returns the new block retriever constructor to // use when bootstrapping retrievable blocks instead of blocks // containing data. DatabaseBlockRetrieverManager() block.DatabaseBlockRetrieverManager // SetVerifySeriesDebugFilePathPrefix sets the file path prefix for writing a debug file of series comparisons. SetVerifySeriesDebugFilePathPrefix(value string) TestOptions // VerifySeriesDebugFilePathPrefix returns the file path prefix for writing a debug file of series comparisons. VerifySeriesDebugFilePathPrefix() string // WriteConsistencyLevel returns the consistency level for writing with the m3db client. WriteConsistencyLevel() topology.ConsistencyLevel // SetWriteConsistencyLevel sets the consistency level for writing with the m3db client. SetWriteConsistencyLevel(value topology.ConsistencyLevel) TestOptions // NumShards returns the number of shards to use. NumShards() int // SetNumShards sets the number of shards to use. SetNumShards(value int) TestOptions // ShardSetOptions returns the test shard set options. ShardSetOptions() *TestShardSetOptions // SetShardSetOptions returns the test shard set options. SetShardSetOptions(value *TestShardSetOptions) TestOptions // MaxWiredBlocks returns the maximum number of wired blocks to keep in memory using the LRU cache. MaxWiredBlocks() uint // SetMaxWiredBlocks sets the maximum number of wired blocks to keep in memory using the LRU cache. SetMaxWiredBlocks(value uint) TestOptions // SetWriteNewSeriesAsync sets whether we insert/index asynchronously. SetWriteNewSeriesAsync(bool) TestOptions // WriteNewSeriesAsync returns whether we insert/index asynchronously. WriteNewSeriesAsync() bool // SetFilePathPrefix sets the file path prefix. SetFilePathPrefix(value string) TestOptions // FilePathPrefix returns the file path prefix. FilePathPrefix() string // SetProtoEncoding turns on proto encoder. SetProtoEncoding(value bool) TestOptions // ProtoEncoding returns whether proto encoder is turned on. ProtoEncoding() bool // SetAssertTestDataEqual sets a comparator to compare two byte arrays, // useful for proto-encoded annotations. SetAssertTestDataEqual(value assertTestDataEqual) TestOptions // AssertTestDataEqual returns a comparator to compare two byte arrays. AssertTestDataEqual() assertTestDataEqual // SetNowFn will set the now fn. SetNowFn(value func() time.Time) TestOptions // NowFn returns the now fn. NowFn() func() time.Time // SetReportInterval sets the time between reporting metrics within the system. SetReportInterval(value time.Duration) TestOptions // ReportInterval returns the time between reporting metrics within the system. ReportInterval() time.Duration // SetStorageOptsFn sets the StorageOpts modifier. SetStorageOptsFn(StorageOption) TestOptions // StorageOptsFn returns the StorageOpts modifier. StorageOptsFn() StorageOption // SetCustomAdminOptions sets custom options to apply to the admin client connection. SetCustomAdminOptions(value []client.CustomAdminOption) TestOptions // CustomAdminOptions gets custom options to apply to the admin client connection. CustomAdminOptions() []client.CustomAdminOption }
TestOptions contains integration test options.
func NewTestOptions ¶
func NewTestOptions(t *testing.T) TestOptions
NewTestOptions returns a new set of integration test options.
type TestSetup ¶
type TestSetup interface { topology.MapProvider Opts() TestOptions SetOpts(TestOptions) FilesystemOpts() fs.Options AssertEqual(*testing.T, []generate.TestValue, []generate.TestValue) bool DB() cluster.Database Scope() tally.TestScope M3DBClient() client.Client M3DBVerificationAdminClient() client.AdminClient TChannelClient() *TestTChannelClient Namespaces() []namespace.Metadata TopologyInitializer() topology.Initializer SetTopologyInitializer(topology.Initializer) Fetch(req *rpc.FetchRequest) ([]generate.TestValue, error) FilePathPrefix() string StorageOpts() storage.Options SetStorageOpts(storage.Options) SetServerStorageOpts(server.StorageOptions) Origin() topology.Host ServerIsBootstrapped() bool StopServer() error StopServerAndVerifyOpenFilesAreClosed() error StartServer() error StartServerDontWaitBootstrap() error NowFn() xNowFn ClockNowFn() clock.NowFn SetNowFn(xtime.UnixNano) Close() WriteBatch(ident.ID, generate.SeriesBlock) error ShouldBeEqual() bool // *NOTE*: This method is deprecated and should not be used in future tests. // Also, we should migrate existing tests when we touch them away from using this. SleepFor10xTickMinimumInterval() BlockLeaseManager() block.LeaseManager ShardSet() sharding.ShardSet SetShardSet(sharding.ShardSet) GeneratorOptions(retention.Options) generate.Options MaybeResetClients() error SchemaRegistry() namespace.SchemaRegistry NamespaceMetadataOrFail(ident.ID) namespace.Metadata MustSetTickMinimumInterval(time.Duration) WaitUntilServerIsBootstrapped() error WaitUntilServerIsUp() error WaitUntilServerIsDown() error Truncate(*rpc.TruncateRequest) (int64, error) InitializeBootstrappers(opts InitializeBootstrappersOptions) error }
TestSetup is a test setup.
func NewTestSetup ¶
func NewTestSetup( t *testing.T, opts TestOptions, fsOpts fs.Options, storageOptFns ...StorageOption, ) (TestSetup, error)
NewTestSetup returns a new test setup for non-dockerized integration tests.
type TestShardSetOptions ¶ added in v1.2.0
TestShardSetOptions is a set of test shard set options.
type TestTChannelClient ¶
type TestTChannelClient struct {
// contains filtered or unexported fields
}
TestTChannelClient is a test only TChannel client that exposes db methods.
func NewTChannelClient ¶
func NewTChannelClient(name, address string) (*TestTChannelClient, error)
NewTChannelClient creates a new client on the given address.
func (*TestTChannelClient) Address ¶ added in v1.0.1
func (client *TestTChannelClient) Address() string
Address returns the address.
func (*TestTChannelClient) Channel ¶ added in v1.0.1
func (client *TestTChannelClient) Channel() *tchannel.Channel
Channel returns the TChannel channel.
func (*TestTChannelClient) TChannelClientAggregateTiles ¶ added in v1.2.0
func (client *TestTChannelClient) TChannelClientAggregateTiles( timeout time.Duration, req *rpc.AggregateTilesRequest, ) (*rpc.AggregateTilesResult_, error)
TChannelClientAggregateTiles runs a request for AggregateTiles.
func (*TestTChannelClient) TChannelClientFetch ¶
func (client *TestTChannelClient) TChannelClientFetch( timeout time.Duration, req *rpc.FetchRequest, ) (*rpc.FetchResult_, error)
TChannelClientFetch fulfills a fetch request using a tchannel client.
func (*TestTChannelClient) TChannelClientFetchTagged ¶ added in v1.2.0
func (client *TestTChannelClient) TChannelClientFetchTagged( timeout time.Duration, req *rpc.FetchTaggedRequest, ) (*rpc.FetchTaggedResult_, error)
TChannelClientFetchTagged fulfills a fetch by tag request using a tchannel client.
func (*TestTChannelClient) TChannelClientHealth ¶
func (client *TestTChannelClient) TChannelClientHealth( timeout time.Duration, ) (*rpc.NodeHealthResult_, error)
TChannelClientHealth fulfills a client health request using a tchannel client.
func (*TestTChannelClient) TChannelClientTruncate ¶
func (client *TestTChannelClient) TChannelClientTruncate( timeout time.Duration, req *rpc.TruncateRequest, ) (int64, error)
TChannelClientTruncate fulfills a namespace truncation request using a tchannel client.
func (*TestTChannelClient) TChannelClientWrite ¶
func (client *TestTChannelClient) TChannelClientWrite( timeout time.Duration, req *rpc.WriteRequest, ) error
TChannelClientWrite writes a datapoint using a tchannel client.
func (*TestTChannelClient) TChannelClientWriteBatch ¶
func (client *TestTChannelClient) TChannelClientWriteBatch( timeout time.Duration, namespace ident.ID, seriesList generate.SeriesBlock, ) error
TChannelClientWriteBatch writes a data map using a tchannel client.
func (*TestTChannelClient) TChannelClientWriteTagged ¶ added in v1.2.0
func (client *TestTChannelClient) TChannelClientWriteTagged( timeout time.Duration, req *rpc.WriteTaggedRequest, ) error
TChannelClientWriteTagged writes a datapoint using a tchannel client.
func (*TestTChannelClient) TChannelClientWriteTaggedBatchRaw ¶ added in v1.4.0
func (client *TestTChannelClient) TChannelClientWriteTaggedBatchRaw( timeout time.Duration, req *rpc.WriteTaggedBatchRawRequest, ) error
TChannelClientWriteTaggedBatchRaw fulfills a wwrite tagged batch raw request using a tchannel client.