Documentation ¶
Overview ¶
Package simulador contém estruturas de simulação de diferentes níveis do sistema para criar camadas de abstração nos testes unitários. Com estes simuladores, por exemplo, é possóvel se testar um handler sem se importar com o comportamento de um serviço.
Index ¶
- type BD
- func (b BD) Begin() (bd.Tx, error)
- func (b BD) Close() error
- func (b BD) Driver() driver.Driver
- func (b BD) Exec(query string, args ...interface{}) (sql.Result, error)
- func (b BD) Ping() error
- func (b BD) Prepare(query string) (*sql.Stmt, error)
- func (b BD) Query(query string, args ...interface{}) (*sql.Rows, error)
- func (b BD) QueryRow(query string, args ...interface{}) *sql.Row
- func (b BD) SetMaxIdleConns(n int)
- func (b BD) SetMaxOpenConns(n int)
- type Handler
- func (h Handler) Delete() int
- func (h Handler) Get() int
- func (h Handler) Head() int
- func (h Handler) Patch() int
- func (h Handler) Post() int
- func (h Handler) Put() int
- func (h Handler) Req() *http.Request
- func (h Handler) ResponseWriter() http.ResponseWriter
- func (h Handler) URIVars() handy.URIVars
- type Logger
- func (l Logger) Alert(m ...interface{})
- func (l Logger) Alertf(m string, a ...interface{})
- func (l Logger) Crit(m ...interface{})
- func (l Logger) Critf(m string, a ...interface{})
- func (l Logger) Debug(m ...interface{})
- func (l Logger) Debugf(m string, a ...interface{})
- func (l Logger) Emerg(m ...interface{})
- func (l Logger) Emergf(m string, a ...interface{})
- func (l Logger) Error(e error)
- func (l Logger) Errorf(m string, a ...interface{})
- func (l Logger) Info(m ...interface{})
- func (l Logger) Infof(m string, a ...interface{})
- func (l Logger) Notice(m ...interface{})
- func (l Logger) Noticef(m string, a ...interface{})
- func (l Logger) SetCaller(n int)
- func (l Logger) Warning(m ...interface{})
- func (l Logger) Warningf(m string, a ...interface{})
- type ServidorLog
- type ServiçoAtirador
- func (s ServiçoAtirador) CadastrarFrequência(frequênciaPedidoCompleta protocolo.FrequênciaPedidoCompleta) (protocolo.FrequênciaPendenteResposta, error)
- func (s ServiçoAtirador) ConfirmarFrequência(...) error
- func (s ServiçoAtirador) ObterFrequência(cr int, númeroControle protocolo.NúmeroControle, códigoVerificação string) (protocolo.FrequênciaResposta, error)
- type Tx
- func (t Tx) Commit() error
- func (t Tx) Exec(query string, args ...interface{}) (sql.Result, error)
- func (t Tx) Prepare(query string) (*sql.Stmt, error)
- func (t Tx) Query(query string, args ...interface{}) (*sql.Rows, error)
- func (t Tx) QueryRow(query string, args ...interface{}) *sql.Row
- func (t Tx) Rollback() error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BD ¶
type BD struct { SimulaBegin func() (bd.Tx, error) SimulaClose func() error SimulaDriver func() driver.Driver SimulaExec func(query string, args ...interface{}) (sql.Result, error) SimulaPing func() error SimulaPrepare func(query string) (*sql.Stmt, error) SimulaQuery func(query string, args ...interface{}) (*sql.Rows, error) SimulaQueryRow func(query string, args ...interface{}) *sql.Row SimulaSetMaxIdleConns func(n int) SimulaSetMaxOpenConns func(n int) }
BD estrutura de simulaão de uma conexão com o banco de dados.
func (BD) Driver ¶
Driver retorna a estrutura de baixo nível que implementa a conexão para um banco de dados específico.
func (BD) Prepare ¶
Prepare interpreta o comando SQL, substituíndo variáveis quando necessário, de maneira a evitar ataques de injeção de SQL.
func (BD) SetMaxIdleConns ¶
SetMaxIdleConns define a quantidade máxima de conexões inativas com o banco de dados.
func (BD) SetMaxOpenConns ¶
SetMaxOpenConns define a quantidade máxima de conexões abertas com o banco de dados.
type Handler ¶
type Handler struct { handy.DefaultHandler SimulaRequisição *http.Request SimulaResposta http.ResponseWriter SimulaVariáveisEndereço handy.URIVars SimulaGet func() int SimulaPost func() int SimulaPut func() int SimulaDelete func() int SimulaPatch func() int SimulaHead func() int }
Handler simula as operações básicas de tratamento de uma requisição.
func (Handler) ResponseWriter ¶
func (h Handler) ResponseWriter() http.ResponseWriter
ResponseWriter retorna a estrutura que permite escrever respostas na conexão HTTP.
type Logger ¶
type Logger struct { SimulaEmerg func(m ...interface{}) SimulaEmergf func(m string, a ...interface{}) SimulaAlert func(m ...interface{}) SimulaAlertf func(m string, a ...interface{}) SimulaCrit func(m ...interface{}) SimulaCritf func(m string, a ...interface{}) SimulaError func(e error) SimulaErrorf func(m string, a ...interface{}) SimulaWarning func(m ...interface{}) SimulaWarningf func(m string, a ...interface{}) SimulaNotice func(m ...interface{}) SimulaNoticef func(m string, a ...interface{}) SimulaInfo func(m ...interface{}) SimulaInfof func(m string, a ...interface{}) SimulaDebug func(m ...interface{}) SimulaDebugf func(m string, a ...interface{}) SimulaSetCaller func(n int) }
Logger simula uma estrutura de log.
func (Logger) Alert ¶
func (l Logger) Alert(m ...interface{})
Alert escreve mensagens em nível de alerta.
func (Logger) Crit ¶
func (l Logger) Crit(m ...interface{})
Crit escreve mensagens em nível crítico.
func (Logger) Debug ¶
func (l Logger) Debug(m ...interface{})
Debug escreve mensagens em nível de desenvolvimento.
func (Logger) Emerg ¶
func (l Logger) Emerg(m ...interface{})
Emerg escreve mensagens em nível de emergência.
func (Logger) Info ¶
func (l Logger) Info(m ...interface{})
Info escreve mensagens em nível de informação.
func (Logger) Notice ¶
func (l Logger) Notice(m ...interface{})
Notice escreve mensagens em nível de notícia.
func (Logger) SetCaller ¶
SetCaller define quantos níveis a estrutura logger deve subir na pilha de chamadas de funções para obter o local de onde foi invocado o log. Este valor deve ser modificado somente em casos muito específicos.
type ServidorLog ¶
type ServidorLog struct {
// contains filtered or unexported fields
}
ServidorLog simula um servidor de log remoto escutando em uma porta TCP.
func (*ServidorLog) Executar ¶
func (s *ServidorLog) Executar(endereço string) (net.Listener, error)
Executar inicia o servidor de log retornando a escuta. Para encerrar o servidor basta fechar a escuta.
func (*ServidorLog) Limpar ¶
func (s *ServidorLog) Limpar()
Limpar remove as mensagens obtidas pelo servidor de logs.
func (*ServidorLog) Mensagens ¶
func (s *ServidorLog) Mensagens() string
Mensagens retorna as mensagens obtidas pelo servidor de logs.
type ServiçoAtirador ¶
type ServiçoAtirador struct { SimulaCadastrarFrequência func(protocolo.FrequênciaPedidoCompleta) (protocolo.FrequênciaPendenteResposta, error) SimulaObterFrequência func(cr int, númeroControle protocolo.NúmeroControle, códigoVerificação string) (protocolo.FrequênciaResposta, error) SimulaConfirmarFrequência func(protocolo.FrequênciaConfirmaçãoPedidoCompleta) error }
ServiçoAtirador simula o serviço que representa um Atirador. Muito útil para simular as camadas de serviços em testes unitários.
func (ServiçoAtirador) CadastrarFrequência ¶
func (s ServiçoAtirador) CadastrarFrequência(frequênciaPedidoCompleta protocolo.FrequênciaPedidoCompleta) (protocolo.FrequênciaPendenteResposta, error)
CadastrarFrequência persiste em banco de dados as informações básicas relacionados a visita do Atirador a um Clube de Tiro. Esta ação será responsável por gerar o número de controle utilizado na confirmação da frequência.
func (ServiçoAtirador) ConfirmarFrequência ¶
func (s ServiçoAtirador) ConfirmarFrequência(frequênciaConfirmaçãoPedidoCompleta protocolo.FrequênciaConfirmaçãoPedidoCompleta) error
ConfirmarFrequência finaliza o cadastro da frequência, confirmando atraves de uma imagem que o Atirador esta presente no Clube de Tiro.
func (ServiçoAtirador) ObterFrequência ¶
func (s ServiçoAtirador) ObterFrequência(cr int, númeroControle protocolo.NúmeroControle, códigoVerificação string) (protocolo.FrequênciaResposta, error)
ObterFrequência retorna a frequência relacionada ao CR e número de controle informados. O código de verificação deve bater com o informado no momento da criação para que a informação seja liberada.
type Tx ¶
type Tx struct { SimulaExec func(query string, args ...interface{}) (sql.Result, error) SimulaQuery func(query string, args ...interface{}) (*sql.Rows, error) SimulaQueryRow func(query string, args ...interface{}) *sql.Row SimulaPrepare func(query string) (*sql.Stmt, error) SimulaRollback func() error SimulaCommit func() error }
Tx estrutura de simulação de uma transação do banco de dados.
func (Tx) Prepare ¶
Prepare interpreta o comando SQL, substituíndo variáveis quando necessário, de maneira a evitar ataques de injeção de SQL.