func TestMain(m *testing.M) { config.ParseConf("/Users/chunsheng/GooleDrive/Work/github/16.httpDispacher/conf/httpdispacher.toml") if config.RC.MySQLEnabled { RC_MySQLConf = config.RC.MySQLConf InitMySQL(RC_MySQLConf) } utils.InitLogger() m.Run() // os.Exit(1) }
func main() { var err error runTimeBasePath, err = os.Getwd() if err != nil { fmt.Println("获取当前路径失败!", err.Error()) return } db, err = sql.Open("sqlite3", filepath.Join(runTimeBasePath, "data.db")) if err != nil { fmt.Println("数据库打开失败!", err.Error()) return } defer db.Close() conf, err = config.ParseConf() if err != nil { fmt.Println("配置文件解析失败!", err.Error()) return } mh = models.ModelHelper{Db: db, Conf: conf} err = mh.InitDB() if err != nil { fmt.Println("数据库操作失败!", err.Error()) return } // eventChannels = mh.GetReposChans() RunWorkers() m := martini.Classic() // 静态文件 m.Use(martini.Static(filepath.Join(runTimeBasePath, "public"))) m.Get("/", withAuthOrNot(), viewHome) m.Group("/new", func(r martini.Router) { r.Post("/repos", newRepos) r.Post("/hook", newHook) }, withAuthOrNot()) m.Group("/delete", func(r martini.Router) { r.Post("/repos", deleteRepos) r.Post("/hook", deleteHook) }, withAuthOrNot()) m.Post("/webhook/(?P<adapter_id>[a-zA-Z]+)/(?P<repos_id>[0-9]+)", hookEventHandler) m.RunOnAddr(fmt.Sprintf(":%s", conf.Port)) }