Documentation ¶
Overview ¶
Package test contains simple test helpers that should not have any dependencies on aurora'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 DiamNetCoreDatabase(t *testing.T) *sqlx.DB
- func DiamNetCoreDatabaseURL() string
- func LoadScenario(scenarioName string)
- func LoadScenarioWithoutAurora(scenarioName string)
- func OverrideLogger(l *log.Entry)
- func RequestHelperRaw(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 RestoreLogger()
- func ShouldBeErr(a interface{}, options ...interface{}) string
- type RequestHelper
- type StaticMockServer
- type T
- func (t *T) AuroraSession() *db.Session
- func (t *T) CoreSession() *db.Session
- func (t *T) Finish()
- func (t *T) Scenario(name string) *T
- func (t *T) ScenarioWithoutAurora(name string) *T
- 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
- func (t *T) UpdateLedgerState()
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 aurora test database
DEPRECATED: use `Aurora()` from test/db package
func DatabaseURL ¶
func DatabaseURL() string
DatabaseURL returns the database connection the url any test use when connecting to the history/aurora database
DEPRECATED: use `AuroraURL()` from test/db package
func DiamNetCoreDatabase ¶
DiamNetCoreDatabase returns a connection to the diamnet core test database
DEPRECATED: use `DiamNetCore()` from test/db package
func DiamNetCoreDatabaseURL ¶
func DiamNetCoreDatabaseURL() string
DiamNetCoreDatabaseURL returns the database connection the url any test use when connecting to the diamnet-core database
DEPRECATED: use `DiamNetCoreURL()` from test/db package
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 LoadScenarioWithoutAurora ¶
func LoadScenarioWithoutAurora(scenarioName string)
LoadScenarioWithoutAurora populates the test DiamNet core database a with pre-created scenario. Unlike `LoadScenario`, this
func OverrideLogger ¶
OverrideLogger sets the default logger used by aurora 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 RequestHelperRemoteAddr ¶
func RequestHelperStreaming ¶
func RequestHelperXFF ¶
func RestoreLogger ¶
func RestoreLogger()
RestoreLogger restores the default aurora logger after it is overridden using a call to `OverrideLogger`. Panics if the default logger is not presently overridden.
func ShouldBeErr ¶
func ShouldBeErr(a interface{}, options ...interface{}) string
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 *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 AuroraDB *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 aurora
func (*T) AuroraSession ¶
AuroraSession returns a db.Session instance pointing at the aurora test database
func (*T) CoreSession ¶
CoreSession returns a db.Session instance pointing at the diamnet core test database
func (*T) Finish ¶
func (t *T) Finish()
Finish finishes the test, logging any accumulated aurora logs to the logs output
func (*T) ScenarioWithoutAurora ¶
ScenarioWithoutAurora 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
func (*T) UnmarshalPage ¶
UnmarshalPage populates dest with the records contained in the json-encoded page in r
func (*T) UpdateLedgerState ¶
func (t *T) UpdateLedgerState()
UpdateLedgerState updates the cached ledger state (or panicing on failure).