Documentation ¶
Overview ¶
Package test contains simple test helpers that should not have any dependencies on horizon's packages. think constants, custom matchers, generic helpers etc.
Index ¶
- func Context() context.Context
- func Database(t *testing.T) *sqlx.DB
- func DatabaseURL() string
- func OverrideLogger(l *log.Entry)
- func RequestHelperRaw(r *http.Request)
- func RequestHelperStreaming(r *http.Request)
- func ResetHorizonDB(t *testing.T, db *sqlx.DB)
- func RestoreLogger()
- func StellarCoreDatabase(t *testing.T) *sqlx.DB
- func StellarCoreDatabaseURL() string
- type Assertions
- type RequestHelper
- type StaticMockServer
- type T
- func (t *T) CoreSession() *db.Session
- func (t *T) Finish()
- func (t *T) HorizonSession() *db.Session
- func (t *T) LoadLedgerStatus() ledger.Status
- func (t *T) Scenario(name string) ledger.Status
- func (t *T) ScenarioWithoutHorizon(name string) ledger.Status
- func (t *T) UnmarshalExtras(r io.Reader) map[string]string
- func (t *T) UnmarshalNext(r io.Reader) string
- func (t *T) UnmarshalPage(r io.Reader, dest interface{}) hal.Links
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Context ¶
Context provides a context suitable for testing in tests that do not create a full App instance (in which case your tests should be using the app's context). This context has a logger bound to it suitable for testing.
func Database ¶
Database returns a connection to the horizon test database
DEPRECATED: use `Horizon()` from test/db package
func DatabaseURL ¶
func DatabaseURL() string
DatabaseURL returns the database connection the url any test use when connecting to the history/horizon database
DEPRECATED: use `HorizonURL()` from test/db package
func OverrideLogger ¶
OverrideLogger sets the default logger used by horizon to `l`. This is used by the testing system so that we can collect output from logs during test runs. Panics if the logger is already overridden.
func RequestHelperRaw ¶
func RequestHelperStreaming ¶
func ResetHorizonDB ¶
ResetHorizonDB sets up a new horizon database with empty tables
func RestoreLogger ¶
func RestoreLogger()
RestoreLogger restores the default horizon logger after it is overridden using a call to `OverrideLogger`. Panics if the default logger is not presently overridden.
func StellarCoreDatabase ¶
StellarCoreDatabase returns a connection to the stellar core test database
DEPRECATED: use `StellarCore()` from test/db package
func StellarCoreDatabaseURL ¶
func StellarCoreDatabaseURL() string
StellarCoreDatabaseURL returns the database connection the url any test use when connecting to the stellar-core database
DEPRECATED: use `StellarCoreURL()` from test/db package
Types ¶
type Assertions ¶
type Assertions struct {
*assert.Assertions
}
Assertions provides an assertions helper. Custom assertions for this package can be defined as methods on this struct. foo
func (*Assertions) Problem ¶
Problem asserts that `body` is a serialized problem equal to `expected`, using Type and Status to compare for equality.
func (*Assertions) ProblemType ¶
func (a *Assertions) ProblemType(body *bytes.Buffer, typ string) bool
ProblemType asserts that the provided `body` is a JSON serialized problem whose type is `typ`
type RequestHelper ¶
type RequestHelper interface { Get(string, ...func(*http.Request)) *httptest.ResponseRecorder Post(string, url.Values, ...func(*http.Request)) *httptest.ResponseRecorder }
func NewRequestHelper ¶
func NewRequestHelper(router *chi.Mux) RequestHelper
type StaticMockServer ¶
StaticMockServer is a test helper that records it's last request
func NewStaticMockServer ¶
func NewStaticMockServer(response string) *StaticMockServer
NewStaticMockServer creates a new mock server that always responds with `response`
type T ¶
type T struct { T *testing.T Assert *assert.Assertions Require *require.Assertions Ctx context.Context HorizonDB *sqlx.DB CoreDB *sqlx.DB Logger *log.Entry LogMetrics *logmetrics.Metrics LogBuffer *bytes.Buffer }
T provides a common set of functionality for each test in horizon
func (*T) CoreSession ¶
CoreSession returns a db.Session instance pointing at the stellar core test database
func (*T) Finish ¶
func (t *T) Finish()
Finish finishes the test, logging any accumulated horizon logs to the logs output
func (*T) HorizonSession ¶
HorizonSession returns a db.Session instance pointing at the horizon test database
func (*T) LoadLedgerStatus ¶
LoadLedgerStatus loads ledger state from the core db(or panicing on failure).
func (*T) ScenarioWithoutHorizon ¶
ScenarioWithoutHorizon loads the named sql scenario into the database
func (*T) UnmarshalExtras ¶
UnmarshalExtras extracts and returns extras content
func (*T) UnmarshalNext ¶
UnmarshalNext extracts and returns the next link
Directories ¶
Path | Synopsis |
---|---|
Package db provides helpers to connect to test databases.
|
Package db provides helpers to connect to test databases. |
Common infrastructure for testing Trades
|
Common infrastructure for testing Trades |
Package transactions offers common infrastructure for testing Transactions
|
Package transactions offers common infrastructure for testing Transactions |