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 ¶
- Constants
- func Asset(name string) ([]byte, error)
- func AssetDir(name string) ([]string, error)
- func AssetInfo(name string) (os.FileInfo, error)
- func AssetNames() []string
- func Context() context.Context
- func ContextWithLogBuffer() (context.Context, *bytes.Buffer)
- func DatabaseUrl() string
- func LoadScenario(scenarioName string)
- func MustAsset(name string) []byte
- func OpenDatabase(dsn string) *sqlx.DB
- func RequestHelperNoop(r *http.Request)
- func RequestHelperRemoteAddr(ip string) func(r *http.Request)
- func RequestHelperStreaming(r *http.Request)
- func RequestHelperXFF(xff string) func(r *http.Request)
- func RestoreAsset(dir, name string) error
- func RestoreAssets(dir, name string) error
- func ShouldBeErr(a interface{}, options ...interface{}) string
- func StellarCoreDatabaseUrl() string
- type RequestHelper
- type StaticMockServer
Constants ¶
const ( DefaultTestDatabaseUrl = "postgres://localhost:5432/horizon_test?sslmode=disable" DefaultTestStellarCoreDatabaseUrl = "postgres://localhost:5432/stellar-core_test?sslmode=disable" )
Variables ¶
This section is empty.
Functions ¶
func Asset ¶
Asset loads and returns the asset for the given name. It returns an error if the asset could not be found or could not be loaded.
func AssetDir ¶
AssetDir returns the file names below a certain directory embedded in the file by go-bindata. For example if you run go-bindata on data/... and data contains the following hierarchy:
data/ foo.txt img/ a.png b.png
then AssetDir("data") would return []string{"foo.txt", "img"} AssetDir("data/img") would return []string{"a.png", "b.png"} AssetDir("foo.txt") and AssetDir("notexist") would return an error AssetDir("") will return []string{"data"}.
func AssetInfo ¶
AssetInfo loads and returns the asset info for the given name. It returns an error if the asset could not be found or could not be loaded.
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 ContextWithLogBuffer ¶
ContextWithLogBuffer returns a context and a buffer into which the new, bound logger will write into. This method allows you to inspect what data was logged more easily in your tests.
func DatabaseUrl ¶
func DatabaseUrl() string
DatabaseUrl returns the database connection the url any test use when connecting to the history/horizon database
func LoadScenario ¶
func LoadScenario(scenarioName string)
LoadScenario populates the test databases with pre-created scenarios. Each scenario is in the scenarios subfolder of this package and are a pair of sql files, one per database.
func MustAsset ¶
MustAsset is like Asset but panics when Asset would return an error. It simplifies safe initialization of global variables.
func OpenDatabase ¶
OpenDatabase opens a database, panicing if it cannot
func RequestHelperNoop ¶
func RequestHelperRemoteAddr ¶
func RequestHelperStreaming ¶
func RequestHelperXFF ¶
func RestoreAsset ¶
RestoreAsset restores an asset under the given directory
func RestoreAssets ¶
RestoreAssets restores an asset under the given directory recursively
func ShouldBeErr ¶
func ShouldBeErr(a interface{}, options ...interface{}) string
func StellarCoreDatabaseUrl ¶
func StellarCoreDatabaseUrl() string
StellarCoreDatabaseUrl returns the database connection the url any test use when connecting to the stellar-core database
Types ¶
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 *web.Mux) RequestHelper
type StaticMockServer ¶
func NewStaticMockServer ¶
func NewStaticMockServer(response string) *StaticMockServer