// runTest initializes the environment for the tests and allows for // the proper return code if the test fails or succeeds. func runTest(m *testing.M) int { // Initialize MongoDB using the `tests.TestSession` as the name of the // master session. if err := db.RegMasterSession(tests.Context, tests.TestSession, cfg.MustURL("MONGO_URI").String(), 0); err != nil { fmt.Println("Can't register master session: " + err.Error()) return 1 } // Setup the app for performing tests. a = routes.API() // Snatch the mongo session so we can create some test data. db, err := db.NewMGO(tests.Context, tests.TestSession) if err != nil { fmt.Println("Unable to get Mongo session") return 1 } defer db.CloseMGO(tests.Context) // Generate the test data. tstdata.Generate(db) defer tstdata.Drop(db) // Load in the submissions from the fixture. if err = loadSubmissions(db); err != nil { fmt.Println("Unable to load submissions: ", err) } defer aggfix.Remove(tests.Context, db, "") return m.Run() }
func main() { log.User("startup", "Init", "Revision : %q", GitRevision) log.User("startup", "Init", "Version : %q", GitVersion) log.User("startup", "Init", "Build Date : %q", BuildDate) log.User("startup", "Init", "Int Version : %q", IntVersion) log.User("startup", "Init", "Go Version : %q", runtime.Version()) log.User("startup", "Init", "Go Compiler : %q", runtime.Compiler) log.User("startup", "Init", "Go ARCH : %q", runtime.GOARCH) log.User("startup", "Init", "Go OS : %q", runtime.GOOS) handlers.Version.GitRevision = GitRevision handlers.Version.GitVersion = GitVersion handlers.Version.BuildDate = BuildDate handlers.Version.IntVersion = IntVersion // These are the absolute read and write timeouts. const ( // ReadTimeout covers the time from when the connection is accepted to when the // request body is fully read. readTimeout = 10 * time.Second // WriteTimeout normally covers the time from the end of the request header read // to the end of the response write. writeTimeout = 30 * time.Second ) host := cfg.MustString(cfgHost) log.User("startup", "Init", "Binding web service to %s", host) if err := web.Run(host, routes.API(), readTimeout, writeTimeout); err != nil { log.Error("shutdown", "Init", err, "App Shutdown") os.Exit(1) } log.User("shutdown", "Init", "App Shutdown") }