mock

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Apr 17, 2016 License: AGPL-3.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ClientConnectChan = make(chan *client, 1)
View Source
var ClientConnectChanWss = make(chan *clientWss, 1)
View Source
var ClientDisconnectChan = make(chan *client)
View Source
var ClientDisconnectChanWss = make(chan *clientWss)
View Source
var ClientRmChan = make(chan *client, 5)
View Source
var ClientRmChanWss = make(chan *clientWss, 5)
View Source
var Clients = make(map[*client]*client)
View Source
var ClientsWss = make(map[*clientWss]*clientWss)
View Source
var RecvChan chan interface{}
View Source
var RecvChanWss chan interface{}
View Source
var SendChan chan interface{}
View Source
var SendChanWss chan interface{}

Functions

func DisconnectClient

func DisconnectClient(c *client)

func DisconnectClientWss

func DisconnectClientWss(c *clientWss)

func PingAPI

func PingAPI(hostname string) (bool, *http.Response)

Types

type API

type API struct {
	GetCode  []int
	GetData  [][]byte
	GetError []error
	GetResp  []APIResponse
	PutResp  []APIResponse
	// contains filtered or unexported fields
}

func NewAPI

func NewAPI(origin, hostname, agentUuid string, links map[string]string) *API
func (a *API) AgentLink(resource string) string

func (*API) AgentUuid

func (a *API) AgentUuid() string

func (*API) Connect

func (a *API) Connect(hostname, agentUuid string) error

func (*API) CreateInstance

func (a *API) CreateInstance(url string, it interface{}) (bool, error)
func (a *API) EntryLink(resource string) string

func (*API) Get

func (a *API) Get(url string) (int, []byte, error)

func (*API) Hostname

func (a *API) Hostname() string

func (*API) Init

func (a *API) Init(hostname string, headers map[string]string) (code int, err error)

func (*API) Origin

func (a *API) Origin() string

func (*API) Post

func (a *API) Post(url string, data []byte) (*http.Response, []byte, error)

func (*API) Put

func (a *API) Put(url string, data []byte) (*http.Response, []byte, error)

func (*API) URL

func (a *API) URL(paths ...string) string

type APIResponse

type APIResponse struct {
	Code  int
	Data  []byte
	Error error
}

type AnalyzerArgs

type AnalyzerArgs struct {
	Config      pc.QAN
	Name        string
	MysqlConn   mysql.Connector
	RestartChan chan proto.Instance
	TickChan    chan time.Time
}

type Clock

type Clock struct {
	Added   []uint
	Removed []chan time.Time
	Eta     float64
}

func NewClock

func NewClock() *Clock

func (*Clock) Add

func (m *Clock) Add(c chan time.Time, t uint, sync bool)

func (*Clock) ETA

func (m *Clock) ETA(c chan time.Time) float64

func (*Clock) Remove

func (m *Clock) Remove(c chan time.Time)

type CmdFactory

type CmdFactory struct {
	Cmds []*MockCmd
}

func (*CmdFactory) Make

func (f *CmdFactory) Make(name string, args ...string) cmd.Cmd

type ConnectionFactory

type ConnectionFactory struct {
	Conn mysql.Connector
}

func (*ConnectionFactory) Make

func (f *ConnectionFactory) Make(dsn string) mysql.Connector

type DataClient

type DataClient struct {

	// --
	ErrChan   chan error
	RecvError chan error

	ConnectError error
	TraceChan    chan string
	// contains filtered or unexported fields
}

func NewDataClient

func NewDataClient(dataChan chan []byte, respChan chan interface{}) *DataClient

func (*DataClient) Conn

func (c *DataClient) Conn() *websocket.Conn

func (*DataClient) Connect

func (c *DataClient) Connect()

func (*DataClient) ConnectChan

func (c *DataClient) ConnectChan() chan bool

func (*DataClient) ConnectOnce

func (c *DataClient) ConnectOnce(timeout uint) error

func (*DataClient) Disconnect

func (c *DataClient) Disconnect() error

func (*DataClient) DisconnectOnce

func (c *DataClient) DisconnectOnce() error

func (*DataClient) ErrorChan

func (c *DataClient) ErrorChan() chan error

func (*DataClient) Recv

func (c *DataClient) Recv(resp interface{}, timeout uint) error

Second, agent calls this to recv response from API to previous send.

func (*DataClient) RecvChan

func (c *DataClient) RecvChan() chan *proto.Cmd

func (*DataClient) Send

func (c *DataClient) Send(data interface{}, timeout uint) error

func (*DataClient) SendBytes

func (c *DataClient) SendBytes(data []byte, timeout uint) error

First, agent calls this to send encoded proto.Data to API.

func (*DataClient) SendChan

func (c *DataClient) SendChan() chan *proto.Reply

func (*DataClient) SetConnectChan

func (c *DataClient) SetConnectChan(connectChan chan bool)

func (*DataClient) Start

func (c *DataClient) Start()

func (*DataClient) Status

func (c *DataClient) Status() map[string]string

func (*DataClient) Stop

func (c *DataClient) Stop()

type IntervalIterFactory

type IntervalIterFactory struct {
	Iters []qan.IntervalIter

	TickChans map[qan.IntervalIter]chan time.Time
	// contains filtered or unexported fields
}

func (*IntervalIterFactory) Make

func (tf *IntervalIterFactory) Make(collectFrom string, filename slowlog.FilenameFunc, tickChan chan time.Time) qan.IntervalIter

func (*IntervalIterFactory) Reset

func (tf *IntervalIterFactory) Reset()

type Iter

type Iter struct {
	// contains filtered or unexported fields
}

func NewIter

func NewIter(intervalChan chan *qan.Interval) *Iter

func (*Iter) Calls

func (i *Iter) Calls() []string

func (*Iter) IntervalChan

func (i *Iter) IntervalChan() chan *qan.Interval

func (*Iter) Reset

func (i *Iter) Reset()

func (*Iter) Start

func (i *Iter) Start()

func (*Iter) Stop

func (i *Iter) Stop()

func (*Iter) TickChan

func (i *Iter) TickChan() chan time.Time

type LogParser

type LogParser struct {
	// contains filtered or unexported fields
}

func NewLogParser

func NewLogParser() *LogParser

func (*LogParser) EventChan

func (p *LogParser) EventChan() <-chan *log.Event

func (*LogParser) Send

func (p *LogParser) Send(e *log.Event)

func (*LogParser) Start

func (p *LogParser) Start() error

func (*LogParser) Stop

func (p *LogParser) Stop()

type MockCmd

type MockCmd struct {
	Name string
	Args []string
	// --
	RunOutput string
	RunErr    error
}

func NewMockCmd

func NewMockCmd(name string, args ...string) *MockCmd

func (*MockCmd) Run

func (c *MockCmd) Run() (output string, err error)

type MockServiceManager

type MockServiceManager struct {
	StartErr     error
	StopErr      error
	IsRunningVal bool

	Cmds []*proto.Cmd
	// contains filtered or unexported fields
}

func NewMockServiceManager

func NewMockServiceManager(name string, readyChan chan bool, traceChan chan string) *MockServiceManager

func (*MockServiceManager) GetConfig

func (m *MockServiceManager) GetConfig() ([]proto.AgentConfig, []error)

func (*MockServiceManager) Handle

func (m *MockServiceManager) Handle(cmd *proto.Cmd) *proto.Reply

func (*MockServiceManager) IsRunning

func (m *MockServiceManager) IsRunning() bool

func (*MockServiceManager) Reset

func (m *MockServiceManager) Reset()

func (*MockServiceManager) Start

func (m *MockServiceManager) Start() error

func (*MockServiceManager) Status

func (m *MockServiceManager) Status() map[string]string

func (*MockServiceManager) Stop

func (m *MockServiceManager) Stop() error

type MrmsMonitor

type MrmsMonitor struct {
	// contains filtered or unexported fields
}

func NewMrmsMonitor

func NewMrmsMonitor() *MrmsMonitor

func (*MrmsMonitor) Add

func (m *MrmsMonitor) Add(in proto.Instance) chan proto.Instance

func (*MrmsMonitor) Check

func (m *MrmsMonitor) Check()

func (*MrmsMonitor) ListenerCount

func (m *MrmsMonitor) ListenerCount(uuid string) uint

func (*MrmsMonitor) Remove

func (m *MrmsMonitor) Remove(uuid string, c chan proto.Instance)

func (*MrmsMonitor) SimulateMySQLRestart

func (m *MrmsMonitor) SimulateMySQLRestart()

The restartChan in the real MrmsMonitor is read only. To be consistent with that, instead of returning the channel just for testing purposes, we have this method to simulate a MySQL restart

func (*MrmsMonitor) Start

func (m *MrmsMonitor) Start(interval time.Duration) error

func (*MrmsMonitor) Status

func (m *MrmsMonitor) Status() (status map[string]string)

func (*MrmsMonitor) Stop

func (m *MrmsMonitor) Stop() error

type NullClient

type NullClient struct {
	// contains filtered or unexported fields
}

func NewNullClient

func NewNullClient() *NullClient

func (*NullClient) Conn

func (c *NullClient) Conn() *websocket.Conn

func (*NullClient) Connect

func (c *NullClient) Connect()

func (*NullClient) ConnectChan

func (c *NullClient) ConnectChan() chan bool

func (*NullClient) ConnectOnce

func (c *NullClient) ConnectOnce() error

func (*NullClient) Disconnect

func (c *NullClient) Disconnect() error

func (*NullClient) ErrorChan

func (c *NullClient) ErrorChan() chan error

func (*NullClient) Recv

func (c *NullClient) Recv(data interface{}, timeout uint) error

func (*NullClient) RecvChan

func (c *NullClient) RecvChan() chan *proto.Cmd

func (*NullClient) Send

func (c *NullClient) Send(data interface{}, timeout uint) error

func (*NullClient) SendBytes

func (c *NullClient) SendBytes(data []byte, timeout uint) error

func (*NullClient) SendChan

func (c *NullClient) SendChan() chan *proto.Reply

func (*NullClient) Start

func (c *NullClient) Start()

func (*NullClient) Stop

func (c *NullClient) Stop()

type NullMySQL

type NullMySQL struct {
	SetChan chan bool

	Version              string
	CurrentTzOffsetHours int
	SystemTzOffsetHours  int
	// contains filtered or unexported fields
}

func NewNullMySQL

func NewNullMySQL() *NullMySQL

func (*NullMySQL) AtLeastVersion

func (n *NullMySQL) AtLeastVersion(v string) (bool, error)

func (*NullMySQL) Close

func (n *NullMySQL) Close()

func (*NullMySQL) Connect

func (n *NullMySQL) Connect() error

func (*NullMySQL) DB

func (n *NullMySQL) DB() *sql.DB

func (*NullMySQL) DSN

func (n *NullMySQL) DSN() string

func (*NullMySQL) Exec

func (n *NullMySQL) Exec(queries []string) error

func (*NullMySQL) Explain

func (n *NullMySQL) Explain(query string, db string) (explain *proto.ExplainResult, err error)

func (*NullMySQL) GetExec

func (n *NullMySQL) GetExec() []string

func (*NullMySQL) GetGlobalVarNumber

func (n *NullMySQL) GetGlobalVarNumber(varName string) float64

func (*NullMySQL) GetGlobalVarString

func (n *NullMySQL) GetGlobalVarString(varName string) string

func (*NullMySQL) GetSet

func (n *NullMySQL) GetSet() []mysql.Query

func (*NullMySQL) GetUptimeCount

func (n *NullMySQL) GetUptimeCount() uint

func (*NullMySQL) Reset

func (n *NullMySQL) Reset()

func (*NullMySQL) Set

func (n *NullMySQL) Set(queries []mysql.Query) error

func (*NullMySQL) SetAtLeastVersion

func (n *NullMySQL) SetAtLeastVersion(atLeastVersion bool, err error)

func (*NullMySQL) SetExplain

func (n *NullMySQL) SetExplain(query string, explain *proto.ExplainResult)

func (*NullMySQL) SetGlobalVarNumber

func (n *NullMySQL) SetGlobalVarNumber(name string, value float64)

func (*NullMySQL) SetGlobalVarString

func (n *NullMySQL) SetGlobalVarString(name, value string)

func (*NullMySQL) SetUptime

func (n *NullMySQL) SetUptime(uptime int64)

func (*NullMySQL) UTCOffset

func (n *NullMySQL) UTCOffset() (time.Duration, time.Duration, error)

func (*NullMySQL) Uptime

func (n *NullMySQL) Uptime() (int64, error)

type QanAnalyzer

type QanAnalyzer struct {
	StartChan chan bool
	StopChan  chan bool
	ErrorChan chan error
	CrashChan chan bool
	// contains filtered or unexported fields
}

func NewQanAnalyzer

func NewQanAnalyzer(name string) *QanAnalyzer

func (*QanAnalyzer) Config

func (a *QanAnalyzer) Config() pc.QAN

func (*QanAnalyzer) SetConfig

func (a *QanAnalyzer) SetConfig(config pc.QAN)

func (*QanAnalyzer) Start

func (a *QanAnalyzer) Start() error

func (*QanAnalyzer) Status

func (a *QanAnalyzer) Status() map[string]string

func (*QanAnalyzer) Stop

func (a *QanAnalyzer) Stop() error

func (*QanAnalyzer) String

func (a *QanAnalyzer) String() string

type QanAnalyzerFactory

type QanAnalyzerFactory struct {
	Args []AnalyzerArgs
	// contains filtered or unexported fields
}

func NewQanAnalyzerFactory

func NewQanAnalyzerFactory(a ...qan.Analyzer) *QanAnalyzerFactory

func (*QanAnalyzerFactory) Make

func (f *QanAnalyzerFactory) Make(
	config pc.QAN,
	name string,
	mysqlConn mysql.Connector,
	restartChan chan proto.Instance,
	tickChan chan time.Time,
) qan.Analyzer

type QanWorker

type QanWorker struct {
	SetupChan        chan bool
	RunChan          chan bool
	StopChan         chan bool
	CleanupChan      chan bool
	ErrorChan        chan error
	SetupCrashChan   chan bool
	RunCrashChan     chan bool
	CleanupCrashChan chan bool
	Interval         *qan.Interval
	Result           *qan.Result
}

func NewQanWorker

func NewQanWorker() *QanWorker

func (*QanWorker) Cleanup

func (w *QanWorker) Cleanup() error

func (*QanWorker) Run

func (w *QanWorker) Run() (*qan.Result, error)

func (*QanWorker) SetConfig

func (w *QanWorker) SetConfig(config pc.QAN)

func (*QanWorker) Setup

func (w *QanWorker) Setup(interval *qan.Interval) error

func (*QanWorker) Status

func (w *QanWorker) Status() map[string]string

func (*QanWorker) Stop

func (w *QanWorker) Stop() error

type SlowMySQL

type SlowMySQL struct {
	// contains filtered or unexported fields
}

func NewSlowMySQL

func NewSlowMySQL(dsn string) *SlowMySQL

func (*SlowMySQL) AtLeastVersion

func (s *SlowMySQL) AtLeastVersion(v string) (bool, error)

func (*SlowMySQL) Close

func (s *SlowMySQL) Close()

func (*SlowMySQL) Connect

func (s *SlowMySQL) Connect() error

func (*SlowMySQL) DB

func (s *SlowMySQL) DB() *sql.DB

func (*SlowMySQL) DSN

func (s *SlowMySQL) DSN() string

func (*SlowMySQL) GetGlobalVarNumber

func (s *SlowMySQL) GetGlobalVarNumber(varName string) float64

func (*SlowMySQL) GetGlobalVarString

func (s *SlowMySQL) GetGlobalVarString(varName string) string

func (*SlowMySQL) Set

func (s *SlowMySQL) Set(queries []mysql.Query) error

func (*SlowMySQL) SetGlobalDelay

func (s *SlowMySQL) SetGlobalDelay(delay time.Duration)

func (*SlowMySQL) Uptime

func (s *SlowMySQL) Uptime() (int64, error)

type Spooler

type Spooler struct {
	FilesOut []string          // test provides
	DataOut  map[string][]byte // test provides
	DataIn   []interface{}

	RejectedFiles []string
	// contains filtered or unexported fields
}

func NewSpooler

func NewSpooler(dataChan chan interface{}) *Spooler

func (*Spooler) CancelFiles

func (s *Spooler) CancelFiles()

func (*Spooler) Files

func (s *Spooler) Files() <-chan string

func (*Spooler) Read

func (s *Spooler) Read(file string) ([]byte, error)

func (*Spooler) Reject

func (s *Spooler) Reject(file string) error

func (*Spooler) Remove

func (s *Spooler) Remove(file string) error

func (*Spooler) Reset

func (s *Spooler) Reset()

func (*Spooler) Start

func (s *Spooler) Start(sz proto.Serializer) error

func (*Spooler) Status

func (s *Spooler) Status() map[string]string

func (*Spooler) Stop

func (s *Spooler) Stop() error

func (*Spooler) Write

func (s *Spooler) Write(service string, data interface{}) error

type Ticker

type Ticker struct {
	Added       []chan time.Time
	RunningChan chan bool
	// contains filtered or unexported fields
}

func NewTicker

func NewTicker(syncChan chan bool) *Ticker

func (*Ticker) Add

func (t *Ticker) Add(c chan time.Time)

func (*Ticker) ETA

func (t *Ticker) ETA(now int64) float64

func (*Ticker) Remove

func (t *Ticker) Remove(c chan time.Time)

func (*Ticker) Run

func (t *Ticker) Run(now int64)

func (*Ticker) Stop

func (t *Ticker) Stop()

type TickerFactory

type TickerFactory struct {
	Made []uint
	// contains filtered or unexported fields
}

func NewTickerFactory

func NewTickerFactory() *TickerFactory

func (*TickerFactory) Make

func (tf *TickerFactory) Make(atInterval uint, sync bool) ticker.Ticker

func (*TickerFactory) Set

func (tf *TickerFactory) Set(tickers []ticker.Ticker)

type WebsocketClient

type WebsocketClient struct {
	ErrChan      chan error
	SendError    chan error
	RecvError    chan error
	ConnectError error

	RecvBytes chan []byte
	TraceChan chan string
	// contains filtered or unexported fields
}

func NewWebsocketClient

func NewWebsocketClient(sendChan chan *proto.Cmd, recvChan chan *proto.Reply, sendDataChan chan interface{}, recvDataChan chan interface{}) *WebsocketClient

func (*WebsocketClient) Conn

func (c *WebsocketClient) Conn() *websocket.Conn

func (*WebsocketClient) Connect

func (c *WebsocketClient) Connect()

func (*WebsocketClient) ConnectChan

func (c *WebsocketClient) ConnectChan() chan bool

func (*WebsocketClient) ConnectOnce

func (c *WebsocketClient) ConnectOnce(timeout uint) error

func (*WebsocketClient) Disconnect

func (c *WebsocketClient) Disconnect() error

func (*WebsocketClient) DisconnectOnce

func (c *WebsocketClient) DisconnectOnce() error

func (*WebsocketClient) ErrorChan

func (c *WebsocketClient) ErrorChan() chan error

func (*WebsocketClient) Recv

func (c *WebsocketClient) Recv(data interface{}, timeout uint) error

func (*WebsocketClient) RecvChan

func (c *WebsocketClient) RecvChan() chan *proto.Cmd

func (*WebsocketClient) Send

func (c *WebsocketClient) Send(data interface{}, timeout uint) error

func (*WebsocketClient) SendBytes

func (c *WebsocketClient) SendBytes(data []byte, timeout uint) error

func (*WebsocketClient) SendChan

func (c *WebsocketClient) SendChan() chan *proto.Reply

func (*WebsocketClient) SetConnectChan

func (c *WebsocketClient) SetConnectChan(connectChan chan bool)

func (*WebsocketClient) Start

func (c *WebsocketClient) Start()

func (*WebsocketClient) Status

func (c *WebsocketClient) Status() map[string]string

func (*WebsocketClient) Stop

func (c *WebsocketClient) Stop()

type WebsocketServer

type WebsocketServer struct {
}

func (*WebsocketServer) Run

func (s *WebsocketServer) Run(addr string, endpoint string)

addr: http://127.0.0.1:8000 endpoint: /agent

type WebsocketServerWss

type WebsocketServerWss struct {
}

func (*WebsocketServerWss) RunWss

func (s *WebsocketServerWss) RunWss(addr string, endpoint string)

addr: https://127.0.0.1:8443 endpoint: /agent

Jump to

Keyboard shortcuts

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