simulador

package
v0.0.0-...-56803a9 Latest Latest
Warning

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

Go to latest
Published: Dec 7, 2016 License: MIT Imports: 12 Imported by: 0

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

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) Begin

func (b BD) Begin() (bd.Tx, error)

Begin inicia uma nova transação.

func (BD) Close

func (b BD) Close() error

Close encerra a conexão.

func (BD) Driver

func (b BD) Driver() driver.Driver

Driver retorna a estrutura de baixo nível que implementa a conexão para um banco de dados específico.

func (BD) Exec

func (b BD) Exec(query string, args ...interface{}) (sql.Result, error)

Exec executa um comando SQL.

func (BD) Ping

func (b BD) Ping() error

Ping testa a conexão com o banco de dados.

func (BD) Prepare

func (b BD) Prepare(query string) (*sql.Stmt, error)

Prepare interpreta o comando SQL, substituíndo variáveis quando necessário, de maneira a evitar ataques de injeção de SQL.

func (BD) Query

func (b BD) Query(query string, args ...interface{}) (*sql.Rows, error)

Query executa um comando SQL retornando múltiplus resultados.

func (BD) QueryRow

func (b BD) QueryRow(query string, args ...interface{}) *sql.Row

QueryRow executa um comando SQL retornando somente um resultado.

func (BD) SetMaxIdleConns

func (b BD) SetMaxIdleConns(n int)

SetMaxIdleConns define a quantidade máxima de conexões inativas com o banco de dados.

func (BD) SetMaxOpenConns

func (b BD) SetMaxOpenConns(n int)

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) Delete

func (h Handler) Delete() int

Delete trata requisições do tipo DELETE.

func (Handler) Get

func (h Handler) Get() int

Get trata requisições do tipo GET.

func (Handler) Head

func (h Handler) Head() int

Head trata requisições do tipo HEAD.

func (Handler) Patch

func (h Handler) Patch() int

Patch trata requisições do tipo PATCH.

func (Handler) Post

func (h Handler) Post() int

Post trata requisições do tipo POST.

func (Handler) Put

func (h Handler) Put() int

Put trata requisições do tipo PUT.

func (Handler) Req

func (h Handler) Req() *http.Request

Req retorna a requisição HTTP.

func (Handler) ResponseWriter

func (h Handler) ResponseWriter() http.ResponseWriter

ResponseWriter retorna a estrutura que permite escrever respostas na conexão HTTP.

func (Handler) URIVars

func (h Handler) URIVars() handy.URIVars

URIVars retorna as variáveis de endereço da requisiçã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) Alertf

func (l Logger) Alertf(m string, a ...interface{})

Alertf escreve mensagens formatadas em nível de alerta.

func (Logger) Crit

func (l Logger) Crit(m ...interface{})

Crit escreve mensagens em nível crítico.

func (Logger) Critf

func (l Logger) Critf(m string, a ...interface{})

Critf escreve mensagens formatadas em nível de alerta.

func (Logger) Debug

func (l Logger) Debug(m ...interface{})

Debug escreve mensagens em nível de desenvolvimento.

func (Logger) Debugf

func (l Logger) Debugf(m string, a ...interface{})

Debugf escreve mensagens formatadas 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) Emergf

func (l Logger) Emergf(m string, a ...interface{})

Emergf escreve mensagens formatadas em nível de emergência.

func (Logger) Error

func (l Logger) Error(e error)

Error converte erros em mensagens.

func (Logger) Errorf

func (l Logger) Errorf(m string, a ...interface{})

Errorf escreve mensagens formatadas em nível de erro.

func (Logger) Info

func (l Logger) Info(m ...interface{})

Info escreve mensagens em nível de informação.

func (Logger) Infof

func (l Logger) Infof(m string, a ...interface{})

Infof escreve mensagens formatadas 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) Noticef

func (l Logger) Noticef(m string, a ...interface{})

Noticef escreve mensagens formatadas em nível de notícia.

func (Logger) SetCaller

func (l Logger) SetCaller(n int)

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.

func (Logger) Warning

func (l Logger) Warning(m ...interface{})

Warning escreve mensagens em nível de atenção.

func (Logger) Warningf

func (l Logger) Warningf(m string, a ...interface{})

Warningf escreve mensagens formatadas em nível de atenção.

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) Commit

func (t Tx) Commit() error

Commit confirma qualquer alteração feita no banco de dados por esta transação.

func (Tx) Exec

func (t Tx) Exec(query string, args ...interface{}) (sql.Result, error)

Exec executa um comando SQL.

func (Tx) Prepare

func (t Tx) Prepare(query string) (*sql.Stmt, error)

Prepare interpreta o comando SQL, substituíndo variáveis quando necessário, de maneira a evitar ataques de injeção de SQL.

func (Tx) Query

func (t Tx) Query(query string, args ...interface{}) (*sql.Rows, error)

Query executa um comando SQL retornando múltiplus resultados.

func (Tx) QueryRow

func (t Tx) QueryRow(query string, args ...interface{}) *sql.Row

QueryRow executa um comando SQL retornando somente um resultado.

func (Tx) Rollback

func (t Tx) Rollback() error

Rollback desfaz qualquer alteração feita no banco de dados por esta transação.

Jump to

Keyboard shortcuts

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