commit 0a0a60da6ce73c02df107c020079197d6d58557d Author: root Date: Mon Sep 28 16:44:02 2020 +0800 init diff --git a/conf/app.conf b/conf/app.conf new file mode 100644 index 0000000..dc17569 --- /dev/null +++ b/conf/app.conf @@ -0,0 +1,3 @@ +appname = devops +httpport = 8080 +runmode = dev diff --git a/controllers/default.go b/controllers/default.go new file mode 100644 index 0000000..9a9e6f2 --- /dev/null +++ b/controllers/default.go @@ -0,0 +1,15 @@ +package controllers + +import ( + "github.com/astaxie/beego" +) + +type MainController struct { + beego.Controller +} + +func (c *MainController) Get() { + c.Data["Website"] = "beego.me" + c.Data["Email"] = "astaxie@gmail.com" + c.TplName = "index.tpl" +} diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..b3f5f6b --- /dev/null +++ b/go.mod @@ -0,0 +1,6 @@ +module go_ops + +go 1.15 + +require github.com/astaxie/beego v1.12.1 +require github.com/smartystreets/goconvey v1.6.4 diff --git a/main.go b/main.go new file mode 100644 index 0000000..7a4552a --- /dev/null +++ b/main.go @@ -0,0 +1,11 @@ +package main + +import ( + _ "devops/routers" + "github.com/astaxie/beego" +) + +func main() { + beego.Run() +} + diff --git a/routers/router.go b/routers/router.go new file mode 100644 index 0000000..5c23260 --- /dev/null +++ b/routers/router.go @@ -0,0 +1,10 @@ +package routers + +import ( + "devops/controllers" + "github.com/astaxie/beego" +) + +func init() { + beego.Router("/", &controllers.MainController{}) +} diff --git a/static/js/reload.min.js b/static/js/reload.min.js new file mode 100644 index 0000000..e780033 --- /dev/null +++ b/static/js/reload.min.js @@ -0,0 +1 @@ +function b(a){var c=new WebSocket(a);c.onclose=function(){setTimeout(function(){b(a)},2E3)};c.onmessage=function(){location.reload()}}try{if(window.WebSocket)try{b("ws://localhost:12450/reload")}catch(a){console.error(a)}else console.log("Your browser does not support WebSockets.")}catch(a){console.error("Exception during connecting to Reload:",a)}; diff --git a/tests/default_test.go b/tests/default_test.go new file mode 100644 index 0000000..296b56f --- /dev/null +++ b/tests/default_test.go @@ -0,0 +1,39 @@ +package test + +import ( + "net/http" + "net/http/httptest" + "testing" + "runtime" + "path/filepath" + _ "devops/routers" + + "github.com/astaxie/beego" + . "github.com/smartystreets/goconvey/convey" +) + +func init() { + _, file, _, _ := runtime.Caller(0) + apppath, _ := filepath.Abs(filepath.Dir(filepath.Join(file, ".." + string(filepath.Separator)))) + beego.TestBeegoInit(apppath) +} + + +// TestBeego is a sample to run an endpoint test +func TestBeego(t *testing.T) { + r, _ := http.NewRequest("GET", "/", nil) + w := httptest.NewRecorder() + beego.BeeApp.Handlers.ServeHTTP(w, r) + + beego.Trace("testing", "TestBeego", "Code[%d]\n%s", w.Code, w.Body.String()) + + Convey("Subject: Test Station Endpoint\n", t, func() { + Convey("Status Code Should Be 200", func() { + So(w.Code, ShouldEqual, 200) + }) + Convey("The Result Should Not Be Empty", func() { + So(w.Body.Len(), ShouldBeGreaterThan, 0) + }) + }) +} + diff --git a/views/index.tpl b/views/index.tpl new file mode 100644 index 0000000..8d6fbec --- /dev/null +++ b/views/index.tpl @@ -0,0 +1,95 @@ + + + + + Beego + + + + + + + +
+

Welcome to Beego

+
+ Beego is a simple & powerful Go web framework which is inspired by tornado and sinatra. +
+
+ +
+ + + +