Documentation
¶
Overview ¶
Package tabletservermock provides mock interfaces for tabletserver.
Index ¶
- type BroadcastData
- type Controller
- func (tqsc *Controller) AddStatusPart()
- func (tqsc *Controller) BroadcastHealth(terTimestamp int64, stats *querypb.RealtimeStats)
- func (tqsc *Controller) ClearQueryPlanCache()
- func (tqsc *Controller) EnterLameduck()
- func (tqsc *Controller) GetQueryRules(ruleSource string) *rules.Rules
- func (tqsc *Controller) HeartbeatLag() (time.Duration, error)
- func (tqsc *Controller) InitDBConfig(target querypb.Target, dbcfgs *dbconfigs.DBConfigs) error
- func (tqsc *Controller) IsHealthy() error
- func (tqsc *Controller) IsServing() bool
- func (tqsc *Controller) QueryService() queryservice.QueryService
- func (tqsc *Controller) Register()
- func (tqsc *Controller) RegisterQueryRuleSource(ruleSource string)
- func (tqsc *Controller) ReloadSchema(ctx context.Context) error
- func (tqsc *Controller) SchemaEngine() *schema.Engine
- func (tqsc *Controller) SetQueryRules(ruleSource string, qrs *rules.Rules) error
- func (tqsc *Controller) SetQueryServiceEnabledForTests(enabled bool)
- func (tqsc *Controller) SetServingType(tabletType topodatapb.TabletType, serving bool, ...) (bool, error)
- func (tqsc *Controller) TopoServer() *topo.Server
- func (tqsc *Controller) UnRegisterQueryRuleSource(ruleSource string)
- type StateChange
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BroadcastData ¶
type BroadcastData struct {
// TERTimestamp stores the last broadcast timestamp.
TERTimestamp int64
// RealtimeStats stores the last broadcast stats.
RealtimeStats querypb.RealtimeStats
// Serving contains the QueryServiceEnabled flag
Serving bool
}
BroadcastData is used by the mock Controller to send data so the tests can check what was sent.
type Controller ¶
type Controller struct {
// BroadcastData is a channel where we send BroadcastHealth data.
// Set at construction time.
BroadcastData chan *BroadcastData
// StateChanges has the list of state changes done by SetServingType().
// Set at construction time.
StateChanges chan *StateChange
// CurrentTarget stores the last known target.
CurrentTarget querypb.Target
// SetServingTypeError is the return value for SetServingType.
SetServingTypeError error
// TS is the return value for TopoServer.
TS *topo.Server
// contains filtered or unexported fields
}
Controller is a mock tabletserver.Controller
func NewController ¶
func NewController() *Controller
NewController returns a mock of tabletserver.Controller
func (*Controller) AddStatusPart ¶
func (tqsc *Controller) AddStatusPart()
AddStatusPart is part of the tabletserver.Controller interface
func (*Controller) BroadcastHealth ¶
func (tqsc *Controller) BroadcastHealth(terTimestamp int64, stats *querypb.RealtimeStats)
BroadcastHealth is part of the tabletserver.Controller interface
func (*Controller) ClearQueryPlanCache ¶
func (tqsc *Controller) ClearQueryPlanCache()
ClearQueryPlanCache is part of the tabletserver.Controller interface
func (*Controller) EnterLameduck ¶
func (tqsc *Controller) EnterLameduck()
EnterLameduck implements tabletserver.Controller.
func (*Controller) GetQueryRules ¶
func (tqsc *Controller) GetQueryRules(ruleSource string) *rules.Rules
GetQueryRules allows a test to check what was set.
func (*Controller) HeartbeatLag ¶
func (tqsc *Controller) HeartbeatLag() (time.Duration, error)
HeartbeatLag is part of the tabletserver.Controller interface.
func (*Controller) InitDBConfig ¶
InitDBConfig is part of the tabletserver.Controller interface
func (*Controller) IsHealthy ¶
func (tqsc *Controller) IsHealthy() error
IsHealthy is part of the tabletserver.Controller interface
func (*Controller) IsServing ¶
func (tqsc *Controller) IsServing() bool
IsServing is part of the tabletserver.Controller interface
func (*Controller) QueryService ¶
func (tqsc *Controller) QueryService() queryservice.QueryService
QueryService is part of the tabletserver.Controller interface
func (*Controller) Register ¶
func (tqsc *Controller) Register()
Register is part of the tabletserver.Controller interface
func (*Controller) RegisterQueryRuleSource ¶
func (tqsc *Controller) RegisterQueryRuleSource(ruleSource string)
RegisterQueryRuleSource is part of the tabletserver.Controller interface
func (*Controller) ReloadSchema ¶
func (tqsc *Controller) ReloadSchema(ctx context.Context) error
ReloadSchema is part of the tabletserver.Controller interface
func (*Controller) SchemaEngine ¶
func (tqsc *Controller) SchemaEngine() *schema.Engine
SchemaEngine is part of the tabletserver.Controller interface
func (*Controller) SetQueryRules ¶
func (tqsc *Controller) SetQueryRules(ruleSource string, qrs *rules.Rules) error
SetQueryRules is part of the tabletserver.Controller interface
func (*Controller) SetQueryServiceEnabledForTests ¶
func (tqsc *Controller) SetQueryServiceEnabledForTests(enabled bool)
SetQueryServiceEnabledForTests can set queryServiceEnabled in tests.
func (*Controller) SetServingType ¶
func (tqsc *Controller) SetServingType(tabletType topodatapb.TabletType, serving bool, alsoAllow []topodatapb.TabletType) (bool, error)
SetServingType is part of the tabletserver.Controller interface
func (*Controller) TopoServer ¶
func (tqsc *Controller) TopoServer() *topo.Server
TopoServer is part of the tabletserver.Controller interface.
func (*Controller) UnRegisterQueryRuleSource ¶
func (tqsc *Controller) UnRegisterQueryRuleSource(ruleSource string)
UnRegisterQueryRuleSource is part of the tabletserver.Controller interface
type StateChange ¶
type StateChange struct {
// Serving is true when the QueryService is enabled.
Serving bool
// TabletType is the type of tablet e.g. REPLICA.
TabletType topodatapb.TabletType
}
StateChange stores the state the controller changed to. Tests can use this to verify that the state changed as expected.