Documentation ¶
Index ¶
- type App
- func (app *App) DispatchEvent(token string, topic string, payload interface{})
- func (app *App) Initialize(routeSpecifiers []RouteSpecifier)
- func (app *App) Logger(module string) *log.Entry
- func (app *App) MigrateDB(connectionString string)
- func (app *App) NewUnitOfWork(readOnly bool) *repository.UnitOfWork
- func (app *App) Start()
- func (app *App) StartSecure(securityCert string, securityKey string)
- func (app *App) Stop()
- type RouteSpecifier
- type TestApp
- func (testApp *TestApp) AddAssociations(entity interface{}, associationName string, associations ...interface{}) error
- func (testApp *TestApp) AssertEqualWithFieldsToCheck(t *testing.T, expected interface{}, actual interface{}, fieldsToChk []string, ...)
- func (testApp *TestApp) AssertEqualWithFieldsToIgnore(t *testing.T, expected interface{}, actual interface{}, ...)
- func (testApp *TestApp) AssertErrorResponse(t *testing.T, response *httptest.ResponseRecorder, expectedErrorKey string, ...)
- func (testApp *TestApp) AssertXTotalCount(t *testing.T, response *httptest.ResponseRecorder, expectedXTotalCount int)
- func (testApp *TestApp) CallAPI(httpMethod string, apiURL string, token string, req interface{}) *httptest.ResponseRecorder
- func (testApp *TestApp) CheckResponseCode(t *testing.T, expected, actual int)
- func (testApp *TestApp) ExecuteRequest(req *http.Request) *httptest.ResponseRecorder
- func (testApp *TestApp) GetAdminToken(tenantID string, userID string, scope []string) string
- func (testApp *TestApp) GetAll(out interface{}, preloads []string, whereClause string, ...) error
- func (testApp *TestApp) GetByID(out interface{}, preloads []string, id string) error
- func (testApp *TestApp) GetFullAdminToken(tenantID string, userID string, username string, name string, ...) string
- func (testApp *TestApp) GetFullToken(tenantID string, userID string, username string, name string, ...) string
- func (testApp *TestApp) GetToken(tenantID string, userID string, scope []string) string
- func (testApp *TestApp) Initialize()
- func (testApp *TestApp) PrepareEmptyTables()
- func (testApp *TestApp) SaveToDB(entity interface{}) error
- func (testApp *TestApp) SetControllerRouteProviderAndInitialize(controllerRouteProvider func(*App) []RouteSpecifier)
- func (testApp *TestApp) Stop()
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type App ¶
type App struct { Name string Config *config.Config DB *gorm.DB Router *mux.Router // contains filtered or unexported fields }
App structure for tenant microservice
func New ¶
func New(appName string, appConfigOverride map[string]string, appLog *log.Logger, appDB *gorm.DB, appEventDispatcher event.EventDispatcher) *App
New creates a new microApp
func (*App) DispatchEvent ¶
DispatchEvent delegates to eventDispatcher.
func (*App) Initialize ¶
func (app *App) Initialize(routeSpecifiers []RouteSpecifier)
Initialize initializes properties of the app
func (*App) MigrateDB ¶ added in v0.0.48
MigrateDB Looks for migrations directory and runs the migrations scripts in that directory
func (*App) NewUnitOfWork ¶ added in v0.0.2
func (app *App) NewUnitOfWork(readOnly bool) *repository.UnitOfWork
NewUnitOfWork creates new UnitOfWork
func (*App) StartSecure ¶ added in v0.0.109
StartSecure starts https server and listens to the requests
type RouteSpecifier ¶
RouteSpecifier should be implemented by the class that sets routes for the API endpoints
type TestApp ¶ added in v0.0.7
type TestApp struct {
// contains filtered or unexported fields
}
TestApp Provides convinience methods for test
func NewTestApp ¶ added in v0.0.7
func NewTestApp(appName string, controllerRouteProvider func(*App) []RouteSpecifier, dbInitializer func(db *gorm.DB), verbose bool) *TestApp
NewTestApp returns new instance of TestApp
func (*TestApp) AddAssociations ¶ added in v0.0.104
func (testApp *TestApp) AddAssociations(entity interface{}, associationName string, associations ...interface{}) error
AddAssociations adds associations to the given entity
func (*TestApp) AssertEqualWithFieldsToCheck ¶ added in v0.0.101
func (testApp *TestApp) AssertEqualWithFieldsToCheck(t *testing.T, expected interface{}, actual interface{}, fieldsToChk []string, mapOfExpectedToActualField map[string]string)
AssertEqualWithFieldsToCheck asserts whether two objects are equal
func (*TestApp) AssertEqualWithFieldsToIgnore ¶ added in v0.0.101
func (testApp *TestApp) AssertEqualWithFieldsToIgnore(t *testing.T, expected interface{}, actual interface{}, fieldsToIgnore []string, mapOfExpectedToActualField map[string]string)
AssertEqualWithFieldsToIgnore asserts whether two objects are equal
func (*TestApp) AssertErrorResponse ¶ added in v0.0.98
func (testApp *TestApp) AssertErrorResponse(t *testing.T, response *httptest.ResponseRecorder, expectedErrorKey string, expectedErrorField string, expectedError string)
AssertErrorResponse checks if the http response contains expected errorKey, errorField and errorMessage
func (*TestApp) AssertXTotalCount ¶ added in v0.0.98
func (testApp *TestApp) AssertXTotalCount(t *testing.T, response *httptest.ResponseRecorder, expectedXTotalCount int)
AssertXTotalCount checks if the http response header contains expected x-total-count
func (*TestApp) CallAPI ¶ added in v0.0.107
func (testApp *TestApp) CallAPI(httpMethod string, apiURL string, token string, req interface{}) *httptest.ResponseRecorder
CallAPI invokes http API
func (*TestApp) CheckResponseCode ¶ added in v0.0.7
CheckResponseCode checks if the http response is as expected
func (*TestApp) ExecuteRequest ¶ added in v0.0.7
func (testApp *TestApp) ExecuteRequest(req *http.Request) *httptest.ResponseRecorder
ExecuteRequest executes the http request
func (*TestApp) GetAdminToken ¶ added in v0.0.8
GetAdminToken returns a test token
func (*TestApp) GetAll ¶ added in v0.0.107
func (testApp *TestApp) GetAll(out interface{}, preloads []string, whereClause string, whereParams []interface{}, orderBy string) error
GetAll gets all from DB
func (*TestApp) GetFullAdminToken ¶ added in v0.0.46
func (testApp *TestApp) GetFullAdminToken(tenantID string, userID string, username string, name string, externalID string, externalIDType string, scope []string) string
GetFullAdminToken returns a test token with all the fields along with different external IDs for types such as Appliance, Session, User. These external IDs are used with REST api is invoked from another REST API service as opposed to the getting hit from UI by the user.
func (*TestApp) GetFullToken ¶ added in v0.0.45
func (testApp *TestApp) GetFullToken(tenantID string, userID string, username string, name string, externalID string, externalIDType string, scope []string) string
GetFullToken returns a test token with all the fields along with different external IDs for types such as Appliance, Session, User. These external IDs are used with REST api is invoked from another REST API service as opposed to the getting hit from UI by the user.
func (*TestApp) Initialize ¶ added in v0.0.7
func (testApp *TestApp) Initialize()
Initialize prepares the app for testing
func (*TestApp) PrepareEmptyTables ¶ added in v0.0.7
func (testApp *TestApp) PrepareEmptyTables()
PrepareEmptyTables clears all table of data
func (*TestApp) SetControllerRouteProviderAndInitialize ¶ added in v0.0.88
func (testApp *TestApp) SetControllerRouteProviderAndInitialize(controllerRouteProvider func(*App) []RouteSpecifier)
SetControllerRouteProviderAndInitialize sets the controllerRouteProvider and initializes application