func NewApp() *App { app := new(App) wd, _ := os.Getwd() app.config = config.NewConfigProvider("config", wd) app.directory = directory.New() app.runFixtures = flag.Bool("fixtures", false, "run fixtures") flag.Parse() return app }
func (suite *IntegrationTestSuite) SetupTest() { configProvider := config.NewConfigProvider("testconfig", "./") suite.log = logger.Log("integration_test") suite.Commands = commands.New() suite.Queries = queries.NewClientQueryService() systemQueries := queries.NewSystemQueryService().(*queries.SystemQueryService) eventsService := events.NewEvents().(*events.EventsService) usersService := users.NewUsers().(*users.UsersService) d := directory.New() d.AddService("configProvider", configProvider) d.AddService("gameCalculator", game.NewGameCalculator()) d.AddService("eventSubscriber", queries.NewQueryBuffer()) d.AddService("systemQueries", systemQueries) d.AddService("events", eventsService) d.AddService("users", usersService) d.AddService("commands", suite.Commands) d.AddService("clientQueries", suite.Queries) err := d.Start() if err != nil { suite.log.Fatalf("Could not start directory: %v", err) } err = d.Start("eventSubscriber") if err != nil { msg := fmt.Sprintf("Could not start event subscriber: %v", err) log.Error(msg) return } usersService.ResetTestDB() eventsService.ResetTestDB() systemQueries.Cache.Flush() time.Sleep(1 * time.Second) white := users.User{ Uuid: users.NewId(), Name: "whitePlayer", AuthIdentifier: "whiteAuthId", } usersService.Save(&white) black := users.User{ Uuid: users.NewId(), Name: "blackPlayer", AuthIdentifier: "blackAuthId", } usersService.Save(&black) suite.log.Info("white UUID: %s", white.Uuid) suite.log.Info("black UUID: %s", black.Uuid) suite.whiteId = white.Uuid suite.blackId = black.Uuid }