// The SetupSuite method will be run by testify once, at the very // start of the testing suite, before any tests are run. func (suite *OauthTestSuite) SetupSuite() { // Initialise the config suite.cnf = config.NewConfig(false, false) // Create the test database db, err := testutil.CreateTestDatabasePostgres( testDbUser, testDbName, testMigrations, testFixtures, ) if err != nil { log.Fatal(err) } suite.db = db // Fetch test client suite.clients = make([]*oauth.Client, 0) if err := suite.db.Order("id").Find(&suite.clients).Error; err != nil { log.Fatal(err) } // Fetch test users suite.users = make([]*oauth.User, 0) if err := suite.db.Order("id").Find(&suite.users).Error; err != nil { log.Fatal(err) } // Initialise the service suite.service = oauth.NewService(suite.cnf, suite.db) // Register routes suite.router = mux.NewRouter() suite.service.RegisterRoutes(suite.router, "/v1/oauth") }
// initConfigDB loads the configuration and connects to the database func initConfigDB(mustLoadOnce, keepReloading bool) (*config.Config, *gorm.DB, error) { // Config cnf := config.NewConfig(mustLoadOnce, keepReloading) // Database db, err := database.NewDatabase(cnf) if err != nil { return nil, nil, err } return cnf, db, nil }
// The SetupSuite method will be run by testify once, at the very // start of the testing suite, before any tests are run. func (suite *FacebookTestSuite) SetupSuite() { // Initialise the config suite.cnf = config.NewConfig(false, false) // Create the test database db, err := database.CreateTestDatabasePostgres( testDbUser, testDbName, testMigrations, testFixtures, ) if err != nil { log.Fatal(err) } suite.db = db // Fetch test accounts suite.accounts = make([]*accounts.Account, 0) err = accounts.AccountPreload(suite.db).Order("id").Find(&suite.accounts).Error if err != nil { log.Fatal(err) } // Fetch test users suite.users = make([]*accounts.User, 0) err = accounts.UserPreload(suite.db).Order("id").Find(&suite.users).Error if err != nil { log.Fatal(err) } // Initialise mocks suite.adapterMock = new(facebook.AdapterMock) // Initialise the service suite.service = facebook.NewService( suite.cnf, suite.db, accounts.NewService( suite.cnf, suite.db, oauth.NewService(suite.cnf, suite.db), new(emailMocks.ServiceInterface), new(accountsMocks.EmailFactoryInterface), ), suite.adapterMock, ) // Register routes suite.router = mux.NewRouter() suite.service.RegisterRoutes(suite.router, "/v1/facebook") }