Documentation ¶
Index ¶
- type ActiveRecord
- func (ar *ActiveRecord) AddArgs(args ...interface{}) MockableActiveRecord
- func (ar *ActiveRecord) AddParenthesis() MockableActiveRecord
- func (ar *ActiveRecord) AddSQL(sql string) MockableActiveRecord
- func (ar *ActiveRecord) AddToken(token ...string) MockableActiveRecord
- func (ar *ActiveRecord) And(cond string, args ...interface{}) MockableActiveRecord
- func (ar *ActiveRecord) Append(other MockableActiveRecord) MockableActiveRecord
- func (ar *ActiveRecord) ArgsString() string
- func (ar *ActiveRecord) Asc() MockableActiveRecord
- func (ar *ActiveRecord) Begin() (MockableTx, error)
- func (ar *ActiveRecord) CleanTokens() MockableActiveRecord
- func (ar *ActiveRecord) Close()
- func (ar *ActiveRecord) Connect(dbtype string, url string) (err error)
- func (ar *ActiveRecord) Delete(tables ...string) MockableActiveRecord
- func (ar *ActiveRecord) Desc() MockableActiveRecord
- func (ar *ActiveRecord) Exec() (sql.Result, error)
- func (ar *ActiveRecord) ExecSQL(sql string, args ...interface{}) (sql.Result, error)
- func (ar *ActiveRecord) ExecString() string
- func (ar *ActiveRecord) From(tables ...string) MockableActiveRecord
- func (ar *ActiveRecord) GetArgs() []interface{}
- func (ar *ActiveRecord) GetCount(args ...interface{}) (count int, err error)
- func (ar *ActiveRecord) GetRow() (map[string]interface{}, error)
- func (ar *ActiveRecord) GetRows() (result []map[string]interface{}, err error)
- func (ar *ActiveRecord) GetRowsI(query string, args ...interface{}) (result []map[string]interface{}, err error)
- func (ar *ActiveRecord) GetTokens() []string
- func (ar *ActiveRecord) GroupBy(fields ...string) MockableActiveRecord
- func (ar *ActiveRecord) Having(cond string, args ...interface{}) MockableActiveRecord
- func (ar *ActiveRecord) In(vals []string, args ...interface{}) MockableActiveRecord
- func (ar *ActiveRecord) InAddQuotes(vals []string, args ...interface{}) MockableActiveRecord
- func (ar *ActiveRecord) InnerJoin(table string) MockableActiveRecord
- func (ar *ActiveRecord) InsertInto(table string, fields ...string) MockableActiveRecord
- func (ar *ActiveRecord) Join(table string) MockableActiveRecord
- func (ar *ActiveRecord) LeftJoin(table string) MockableActiveRecord
- func (ar *ActiveRecord) LeftOuterJoin(table string) MockableActiveRecord
- func (ar *ActiveRecord) Limit(limit int) MockableActiveRecord
- func (ar *ActiveRecord) Offset(offset int) MockableActiveRecord
- func (ar *ActiveRecord) On(cond string, args ...interface{}) MockableActiveRecord
- func (ar *ActiveRecord) Or(cond string, args ...interface{}) MockableActiveRecord
- func (ar *ActiveRecord) OrderBy(fields ...string) MockableActiveRecord
- func (ar *ActiveRecord) PrintableString() string
- func (ar *ActiveRecord) RightJoin(table string) MockableActiveRecord
- func (ar *ActiveRecord) RightOuterJoin(table string) MockableActiveRecord
- func (ar *ActiveRecord) Select(fields ...string) MockableActiveRecord
- func (ar *ActiveRecord) SelectDistinct(fields ...string) MockableActiveRecord
- func (ar *ActiveRecord) Set(kv ...string) MockableActiveRecord
- func (ar *ActiveRecord) Show(kv string) MockableActiveRecord
- func (ar *ActiveRecord) String() string
- func (ar *ActiveRecord) SubAR(sub MockableActiveRecord, alias string) string
- func (ar *ActiveRecord) Subquery(sub string, alias string) string
- func (ar *ActiveRecord) Update(tables ...string) MockableActiveRecord
- func (ar *ActiveRecord) Values(vals []string, args ...interface{}) MockableActiveRecord
- func (ar *ActiveRecord) Where(cond string, args ...interface{}) MockableActiveRecord
- func (ar *ActiveRecord) WhereAnd(conds []string, args ...interface{}) MockableActiveRecord
- type FakeActiveRecord
- func (m *FakeActiveRecord) Begin() (MockableTx, error)
- func (m *FakeActiveRecord) Close()
- func (m *FakeActiveRecord) ExecSQL(sql string, args ...interface{}) (sql.Result, error)
- func (m *FakeActiveRecord) GetRow() (map[string]interface{}, error)
- func (m *FakeActiveRecord) GetRows() ([]map[string]interface{}, error)
- type FakeStmt
- type FakeTx
- func (m *FakeTx) Commit() error
- func (m *FakeTx) Exec(query string, args ...interface{}) (sql.Result, error)
- func (m *FakeTx) GetRow(query string) (result map[string]interface{}, err error)
- func (m *FakeTx) GetRows(query string) (result []map[string]interface{}, err error)
- func (m *FakeTx) Prepare(query string) (MockableStmt, error)
- func (m *FakeTx) Rollback() error
- type MockableActiveRecord
- type MockableStmt
- type MockableTx
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ActiveRecord ¶
ActiveRecord represents a database connection and a sql string.
func (*ActiveRecord) AddArgs ¶
func (ar *ActiveRecord) AddArgs(args ...interface{}) MockableActiveRecord
AddArgs append args to ar.Args
func (*ActiveRecord) AddParenthesis ¶
func (ar *ActiveRecord) AddParenthesis() MockableActiveRecord
AddParenthesis (all the tokens)
func (*ActiveRecord) AddSQL ¶
func (ar *ActiveRecord) AddSQL(sql string) MockableActiveRecord
AddSQL add the given sql into token
func (*ActiveRecord) AddToken ¶
func (ar *ActiveRecord) AddToken(token ...string) MockableActiveRecord
AddToken append token after the existing Tokens.
func (*ActiveRecord) And ¶
func (ar *ActiveRecord) And(cond string, args ...interface{}) MockableActiveRecord
And add "AND" and condition into token, and args to Args
func (*ActiveRecord) Append ¶
func (ar *ActiveRecord) Append(other MockableActiveRecord) MockableActiveRecord
Append append another ActiveRecord's Token after the existing Tokens.
func (*ActiveRecord) ArgsString ¶
func (ar *ActiveRecord) ArgsString() string
ArgsString print all the arguments
func (*ActiveRecord) Asc ¶
func (ar *ActiveRecord) Asc() MockableActiveRecord
Asc add "ASC" in token, should be used with OrderBy
func (*ActiveRecord) Begin ¶
func (ar *ActiveRecord) Begin() (MockableTx, error)
Begin begin a real transaction
func (*ActiveRecord) CleanTokens ¶
func (ar *ActiveRecord) CleanTokens() MockableActiveRecord
CleanTokens clean all tokens
func (*ActiveRecord) Connect ¶
func (ar *ActiveRecord) Connect(dbtype string, url string) (err error)
Connect connect to dbtype database by provided url.
func (*ActiveRecord) Delete ¶
func (ar *ActiveRecord) Delete(tables ...string) MockableActiveRecord
Delete add "DELETE" and the tables into tokens
func (*ActiveRecord) Desc ¶
func (ar *ActiveRecord) Desc() MockableActiveRecord
Desc add "DESC" in token, should be used with OrderBy
func (*ActiveRecord) Exec ¶
func (ar *ActiveRecord) Exec() (sql.Result, error)
Exec will execute the sql string represented by ActiveRecord.
func (*ActiveRecord) ExecSQL ¶
func (ar *ActiveRecord) ExecSQL(sql string, args ...interface{}) (sql.Result, error)
ExecSQL execute the sql string in argument.
func (*ActiveRecord) ExecString ¶
func (ar *ActiveRecord) ExecString() string
ExecString return the sql string represented by Tokens.
func (*ActiveRecord) From ¶
func (ar *ActiveRecord) From(tables ...string) MockableActiveRecord
From add "FROM" and the given tables as token
func (*ActiveRecord) GetArgs ¶
func (ar *ActiveRecord) GetArgs() []interface{}
GetArgs return all ar's args
func (*ActiveRecord) GetCount ¶
func (ar *ActiveRecord) GetCount(args ...interface{}) (count int, err error)
GetCount get the row count of the result of ActiveRecord sql.
func (*ActiveRecord) GetRow ¶
func (ar *ActiveRecord) GetRow() (map[string]interface{}, error)
GetRow return the first row of execution result of ActiveRecord sql, all of the values are in interface{} type.
func (*ActiveRecord) GetRows ¶
func (ar *ActiveRecord) GetRows() (result []map[string]interface{}, err error)
GetRows return the full execution result of ActiveRecord sql, all of the values are in interface{} type.
func (*ActiveRecord) GetRowsI ¶
func (ar *ActiveRecord) GetRowsI(query string, args ...interface{}) (result []map[string]interface{}, err error)
GetRowsI get rows as map[string]interface{}
func (*ActiveRecord) GetTokens ¶
func (ar *ActiveRecord) GetTokens() []string
GetTokens return all ar's Tokens
func (*ActiveRecord) GroupBy ¶
func (ar *ActiveRecord) GroupBy(fields ...string) MockableActiveRecord
GroupBy add "GROUP BY" and the fileds into tokens
func (*ActiveRecord) Having ¶
func (ar *ActiveRecord) Having(cond string, args ...interface{}) MockableActiveRecord
Having add the token "HAVING" and the conditions into tokens, args into Args
func (*ActiveRecord) In ¶
func (ar *ActiveRecord) In(vals []string, args ...interface{}) MockableActiveRecord
In add "IN" and values into token and args into Args
func (*ActiveRecord) InAddQuotes ¶
func (ar *ActiveRecord) InAddQuotes(vals []string, args ...interface{}) MockableActiveRecord
InAddQuotes is the same as In but the values are quoted with ”
func (*ActiveRecord) InnerJoin ¶
func (ar *ActiveRecord) InnerJoin(table string) MockableActiveRecord
InnerJoin add "INNER JOIN" and the table name
func (*ActiveRecord) InsertInto ¶
func (ar *ActiveRecord) InsertInto(table string, fields ...string) MockableActiveRecord
InsertInto add "INSERT INTO" and the table into tokens
func (*ActiveRecord) Join ¶
func (ar *ActiveRecord) Join(table string) MockableActiveRecord
Join add "JOIN" and the given table name
func (*ActiveRecord) LeftJoin ¶
func (ar *ActiveRecord) LeftJoin(table string) MockableActiveRecord
LeftJoin add "LEFT JOIN" and the table name
func (*ActiveRecord) LeftOuterJoin ¶
func (ar *ActiveRecord) LeftOuterJoin(table string) MockableActiveRecord
LeftOuterJoin add "LEFT OUTER JOIN" and the table name
func (*ActiveRecord) Limit ¶
func (ar *ActiveRecord) Limit(limit int) MockableActiveRecord
Limit add "LIMIT" and the number in tokens
func (*ActiveRecord) Offset ¶
func (ar *ActiveRecord) Offset(offset int) MockableActiveRecord
Offset add "OFFSET" and the number in tokens
func (*ActiveRecord) On ¶
func (ar *ActiveRecord) On(cond string, args ...interface{}) MockableActiveRecord
On add "ON" and the condition string into tokens, and args into Args
func (*ActiveRecord) Or ¶
func (ar *ActiveRecord) Or(cond string, args ...interface{}) MockableActiveRecord
Or add "OR" and condition into tokens, and args into Args
func (*ActiveRecord) OrderBy ¶
func (ar *ActiveRecord) OrderBy(fields ...string) MockableActiveRecord
OrderBy add "ORDER BY" and the fields joined with comma
func (*ActiveRecord) PrintableString ¶
func (ar *ActiveRecord) PrintableString() string
PrintableString print the sql and arguments
func (*ActiveRecord) RightJoin ¶
func (ar *ActiveRecord) RightJoin(table string) MockableActiveRecord
RightJoin add "RIGHT JOIN" and the table name
func (*ActiveRecord) RightOuterJoin ¶
func (ar *ActiveRecord) RightOuterJoin(table string) MockableActiveRecord
RightOuterJoin add "RIGHT OUTER JOIN" and the table name
func (*ActiveRecord) Select ¶
func (ar *ActiveRecord) Select(fields ...string) MockableActiveRecord
Select add "select" and the given fields
func (*ActiveRecord) SelectDistinct ¶
func (ar *ActiveRecord) SelectDistinct(fields ...string) MockableActiveRecord
SelectDistinct add "SELECT DISTINCT" and the given fields
func (*ActiveRecord) Set ¶
func (ar *ActiveRecord) Set(kv ...string) MockableActiveRecord
Set add the token "SET" and the key values
func (*ActiveRecord) Show ¶
func (ar *ActiveRecord) Show(kv string) MockableActiveRecord
Show add "SHOW" and key value sting
func (*ActiveRecord) SubAR ¶
func (ar *ActiveRecord) SubAR(sub MockableActiveRecord, alias string) string
SubAR add add another ar as sub ar
func (*ActiveRecord) Subquery ¶
func (ar *ActiveRecord) Subquery(sub string, alias string) string
Subquery combine a sub query and its alias into (sql) as alias format
func (*ActiveRecord) Update ¶
func (ar *ActiveRecord) Update(tables ...string) MockableActiveRecord
Update add the token "UPDATE" and the tables name into tokens
func (*ActiveRecord) Values ¶
func (ar *ActiveRecord) Values(vals []string, args ...interface{}) MockableActiveRecord
Values add "VALUES" and the options values into token
func (*ActiveRecord) Where ¶
func (ar *ActiveRecord) Where(cond string, args ...interface{}) MockableActiveRecord
Where add "WHERE" and the condition to tokens, and args into Args
func (*ActiveRecord) WhereAnd ¶
func (ar *ActiveRecord) WhereAnd(conds []string, args ...interface{}) MockableActiveRecord
WhereAnd add conditions into token and args into Args
type FakeActiveRecord ¶
type FakeActiveRecord struct { *ActiveRecord MockGetRows func() ([]map[string]interface{}, error) MockGetRow func(tokens []string) (map[string]interface{}, error) MockExecSQL func(sql string, args ...interface{}) (sql.Result, error) MockBegin func() (MockableTx, error) MockClose func() }
FakeActiveRecord is only for test. You can change MockGetRows to return your own data
func NewFakeActiveRecord ¶
func NewFakeActiveRecord() *FakeActiveRecord
NewFakeActiveRecord return a *FakeActiveRecord
func (*FakeActiveRecord) Begin ¶
func (m *FakeActiveRecord) Begin() (MockableTx, error)
Begin will call Begin if it is set
func (*FakeActiveRecord) Close ¶
func (m *FakeActiveRecord) Close()
Begin will call Begin if it is set
func (*FakeActiveRecord) ExecSQL ¶
func (m *FakeActiveRecord) ExecSQL(sql string, args ...interface{}) (sql.Result, error)
ExecSQL will call MockExecSQL if it is set
func (*FakeActiveRecord) GetRow ¶
func (m *FakeActiveRecord) GetRow() (map[string]interface{}, error)
GetRow will call MockGetRow in MockActiveRecord if it is set
func (*FakeActiveRecord) GetRows ¶
func (m *FakeActiveRecord) GetRows() ([]map[string]interface{}, error)
GetRows will call MockGetRows in MockActiveRecord if it is set
type FakeStmt ¶
type FakeStmt struct { MockExec func(args ...interface{}) (sql.Result, error) MockClose func() error }
FakeStmt is only for test.
type FakeTx ¶
type FakeTx struct { *sql.Tx MockExec func(query string, args ...interface{}) (sql.Result, error) MockRollback func() error MockCommit func() error MockGetRow func(query string) (result map[string]interface{}, err error) MockGetRows func(query string) (result []map[string]interface{}, err error) MockPrepare func(query string) (MockableStmt, error) }
FakeActiveRecord is only for test. You can change MockGetRows to return your own data
type MockableActiveRecord ¶
type MockableActiveRecord interface { GetRows() ([]map[string]interface{}, error) GetRow() (map[string]interface{}, error) GetRowsI(query string, args ...interface{}) (result []map[string]interface{}, err error) Exec() (sql.Result, error) GetCount(args ...interface{}) (count int, err error) Connect(dbtype string, url string) (err error) ExecSQL(sql string, args ...interface{}) (sql.Result, error) Select(fields ...string) MockableActiveRecord SelectDistinct(fields ...string) MockableActiveRecord From(tables ...string) MockableActiveRecord Join(table string) MockableActiveRecord InnerJoin(table string) MockableActiveRecord LeftJoin(table string) MockableActiveRecord RightJoin(table string) MockableActiveRecord LeftOuterJoin(table string) MockableActiveRecord RightOuterJoin(table string) MockableActiveRecord On(cond string, args ...interface{}) MockableActiveRecord Where(cond string, args ...interface{}) MockableActiveRecord And(cond string, args ...interface{}) MockableActiveRecord WhereAnd(conds []string, args ...interface{}) MockableActiveRecord Or(cond string, args ...interface{}) MockableActiveRecord In(vals []string, args ...interface{}) MockableActiveRecord InAddQuotes(vals []string, args ...interface{}) MockableActiveRecord OrderBy(fields ...string) MockableActiveRecord Asc() MockableActiveRecord Desc() MockableActiveRecord Limit(limit int) MockableActiveRecord Offset(offset int) MockableActiveRecord GroupBy(fields ...string) MockableActiveRecord Having(cond string, args ...interface{}) MockableActiveRecord Update(tables ...string) MockableActiveRecord Set(kv ...string) MockableActiveRecord Show(kv string) MockableActiveRecord Delete(tables ...string) MockableActiveRecord InsertInto(table string, fields ...string) MockableActiveRecord Values(vals []string, args ...interface{}) MockableActiveRecord AddSQL(sql string) MockableActiveRecord AddToken(token ...string) MockableActiveRecord AddArgs(args ...interface{}) MockableActiveRecord AddParenthesis() MockableActiveRecord Append(other MockableActiveRecord) MockableActiveRecord CleanTokens() MockableActiveRecord GetTokens() []string GetArgs() []interface{} Close() String() string Subquery(sub string, alias string) string ExecString() string SubAR(sub MockableActiveRecord, alias string) string ArgsString() string PrintableString() string Begin() (MockableTx, error) }
MockableActiveRecord is a mock AR for test usage
func NewActiveRecord ¶
func NewActiveRecord() MockableActiveRecord
NewActiveRecord is the factory method to create an empty ActiveRecord
func NewActiveRecordWithDB ¶
func NewActiveRecordWithDB(db *sql.DB) MockableActiveRecord
NewActiveRecordWithDB return a ActiveRecord with given sql.DB connection
type MockableStmt ¶
type MockableTx ¶
type MockableTx interface { Exec(query string, args ...interface{}) (sql.Result, error) Rollback() error Commit() error GetRow(query string) (result map[string]interface{}, err error) GetRows(query string) (result []map[string]interface{}, err error) Prepare(query string) (MockableStmt, error) }
MockableTx is a mock TX for test usage