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.