Documentation ¶
Overview ¶
Package test contains simple test helpers that should not have any dependencies on frontier's packages. think constants, custom matchers, generic helpers etc.
Index ¶
- func Context() context.Context
- func RequestHelperRaw(r *http.Request)
- func RequestHelperStreaming(r *http.Request)
- func ResetFrontierDB(t *testing.T, db *sqlx.DB)
- type Assertions
- type RequestHelper
- type StaticMockServer
- type T
- func (t *T) CoreSession() *db.Session
- func (t *T) Finish()
- func (t *T) FrontierSession() *db.Session
- func (t *T) LoadLedgerStatus() ledger.Status
- func (t *T) Scenario(name string) ledger.Status
- func (t *T) ScenarioWithoutFrontier(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 RequestHelperRaw ¶
func RequestHelperStreaming ¶
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 FrontierDB *sqlx.DB CoreDB *sqlx.DB EndLogTest func() []logrus.Entry }
T provides a common set of functionality for each test in frontier
func Start ¶
Start initializes a new test helper object, a new instance of log, and conceptually "starts" a new test
func (*T) CoreSession ¶
CoreSession returns a db.Session instance pointing at the digitalbits core test database
func (*T) Finish ¶
func (t *T) Finish()
Finish finishes the test, logging any accumulated frontier logs to the logs output
func (*T) FrontierSession ¶
FrontierSession returns a db.Session instance pointing at the frontier test database
func (*T) LoadLedgerStatus ¶
LoadLedgerStatus loads ledger state from the core db(or panicing on failure).
func (*T) ScenarioWithoutFrontier ¶
ScenarioWithoutFrontier 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. |
Package transactions offers common infrastructure for testing Transactions
|
Package transactions offers common infrastructure for testing Transactions |