// 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([]*models.OauthClient, 0) if err := suite.db.Order("id").Find(&suite.clients).Error; err != nil { log.Fatal(err) } // Fetch test users suite.users = make([]*models.OauthUser, 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") }
func main() { // Load the configuration, connect to the database cnf := config.NewConfig() db, err := database.NewDatabase(cnf) if err != nil { log.Fatal(err) } // Disable logging db.LogMode(false) // Set the CLI app commands cliApp.Commands = []cli.Command{ { Name: "migrate", Usage: "run migrations", Action: func(c *cli.Context) { migrate(db) }, }, { Name: "runserver", Usage: "run web server", Action: func(c *cli.Context) { runServer(cnf, db) }, }, } cliApp.Run(os.Args) }
// 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() { // Delete the test database os.Remove(testDbPath) // Initialise the config suite.cnf = config.NewConfig(false) // Init in-memory test database inMemoryDB, err := gorm.Open("sqlite3", testDbPath) if err != nil { log.Fatal(err) } suite.db = &inMemoryDB // Run all migrations if err := migrations.Bootstrap(suite.db); err != nil { log.Print(err) } if err := MigrateAll(suite.db); err != nil { log.Print(err) } // Load test data from fixtures for _, path := range []string{ "../fixtures/test_data.yml", } { // Read fixture data from the file data, err := ioutil.ReadFile(path) if err != nil { log.Fatal(err) } // Insert the fixture data err = fixtures.Load(data, suite.db.DB(), suite.cnf.Database.Type) if err != nil { log.Fatal(err) } } // Fetch the test client suite.client = new(Client) if err := suite.db.First(suite.client, 1).Error; err != nil { log.Fatal(err) } // Fetch the test user suite.user = new(User) if err := suite.db.First(suite.user, 1).Error; err != nil { log.Fatal(err) } // Initialise the service suite.service = NewService(suite.cnf, suite.db) }
// 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 *OauthTestSuite) SetupSuite() { // Delete the test database os.Remove(testDbPath) // Initialise the config suite.cnf = config.NewConfig(false, false) // Init in-memory test database inMemoryDB, err := gorm.Open("sqlite3", testDbPath) if err != nil { log.Fatal(err) } suite.db = &inMemoryDB // Run all migrations if err := migrations.Bootstrap(suite.db); err != nil { log.Print(err) } if err := MigrateAll(suite.db); err != nil { log.Print(err) } // Load test data from fixtures for _, path := range testFixtures { // Read fixture data from the file data, err := ioutil.ReadFile(path) if err != nil { log.Fatal(err) } // Insert the fixture data err = fixtures.Load(data, suite.db.DB(), "sqlite") if err != nil { log.Fatal(err) } } // Fetch test client suite.clients = make([]*Client, 0) if err := suite.db.Find(&suite.clients).Error; err != nil { log.Fatal(err) } // Fetch test users suite.users = make([]*User, 0) if err := suite.db.Find(&suite.users).Error; err != nil { log.Fatal(err) } // Initialise the service suite.service = NewService(suite.cnf, suite.db) }
// The SetupSuite method will be run by testify once, at the very // start of the testing suite, before any tests are run. func (suite *SessionTestSuite) SetupSuite() { suite.cnf = config.NewConfig(false, false) // Overwrite internal vars so we don't affect existing session session.StorageSessionName = "test_session" session.UserSessionKey = "test_user" // Initialise the service r, err := http.NewRequest("GET", "http://1.2.3.4/foo/bar", nil) assert.NoError(suite.T(), err, "Request setup should not get an error") w := httptest.NewRecorder() suite.service = session.NewService(suite.cnf, r, w) }
// The SetupSuite method will be run by testify once, at the very // start of the testing suite, before any tests are run. func (suite *SessionTestSuite) SetupSuite() { // Overwrite internal vars so we don't affect existing session storageSessionName = "test_session" userSessionKey = "test_user" // Initialise the service r, err := http.NewRequest("GET", "http://1.2.3.4/foo/bar", nil) if err != nil { log.Fatal(err) } w := httptest.NewRecorder() suite.service = NewService(config.NewConfig(), r, w) }
func main() { // Load the configuration, connect to the database cnf := config.NewConfig(true) // must load once db, err := database.NewDatabase(cnf) if err != nil { log.Fatal(err) } defer db.Close() // Disable logging db.LogMode(false) // Set the CLI app commands cliApp.Commands = []cli.Command{ { Name: "migrate", Usage: "run migrations", Action: func(c *cli.Context) { if err := commands.Migrate(db); err != nil { log.Fatal(err) } }, }, { Name: "loaddata", Usage: "load data from fixture", Action: func(c *cli.Context) { if err := commands.LoadData(c.Args(), cnf, db); err != nil { log.Fatal(err) } }, }, { Name: "runserver", Usage: "run web server", Action: func(c *cli.Context) { commands.RunServer(cnf, db) }, }, } // Run the CLI app cliApp.Run(os.Args) }