mirror of https://github.com/statping/statping
additional testing - corrected db interval queries
parent
df6916400a
commit
87f493bf4e
|
@ -18,7 +18,7 @@ services:
|
|||
|
||||
env:
|
||||
global:
|
||||
- VERSION=0.28.7
|
||||
- VERSION=0.28.8
|
||||
- DB_HOST=localhost
|
||||
- DB_USER=travis
|
||||
- DB_PASS=
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
FROM alpine:latest
|
||||
|
||||
ENV VERSION=v0.28.7
|
||||
ENV VERSION=v0.28.8
|
||||
|
||||
RUN apk --no-cache add libstdc++ ca-certificates
|
||||
RUN wget -q https://github.com/hunterlong/statup/releases/download/$VERSION/statup-linux-alpine.tar.gz && \
|
||||
|
|
|
@ -129,12 +129,13 @@ func (s *Service) GraphData() string {
|
|||
increment := "minute"
|
||||
since := time.Now().Add(time.Hour*-12 + time.Minute*0 + time.Second*0)
|
||||
|
||||
// this function needs some work, asap
|
||||
// group by interval sql query for postgres, mysql and sqlite
|
||||
sql := fmt.Sprintf("SELECT date_trunc('%v', created_at), AVG(latency)*1000 AS value FROM hits WHERE service=%v AND created_at > '%v' GROUP BY 1 ORDER BY date_trunc ASC;", increment, s.Id, since.Format(time.RFC3339))
|
||||
if dbServer == "mysql" {
|
||||
sql = fmt.Sprintf("SELECT created_at, AVG(latency)*1000 AS VALUE FROM hits WHERE service=%v GROUP BY 1 ORDER BY created_at ASC;", s.Id)
|
||||
sql = fmt.Sprintf("SELECT CONCAT(DATE(created_at), ' ', %v(created_at)) AS created_at, AVG(latency)*1000 AS value FROM hits WHERE service=%v AND DATE_FORMAT(created_at, 'Y-m-d H:i:s') BETWEEN DATE_FORMAT(NOW() - INTERVAL 12 HOUR, 'Y-m-d H:i:s') AND DATE_FORMAT(NOW(), 'Y-m-d H:i:s') GROUP BY created_at", increment, s.Id)
|
||||
} else if dbServer == "sqlite" {
|
||||
sql = fmt.Sprintf("SELECT created_at, AVG(latency)*1000 AS VALUE FROM hits WHERE service=%v GROUP BY 1 ORDER BY created_at ASC;", s.Id)
|
||||
sql = fmt.Sprintf("SELECT created_at, AVG(latency)*1000 as value FROM hits WHERE service=%v AND created_at >= '%v' GROUP BY strftime('%%m', created_at)", s.Id, since.Format(time.RFC3339))
|
||||
fmt.Println(sql)
|
||||
}
|
||||
|
||||
dated, err := DbSession.Query(db.Raw(sql))
|
||||
|
|
17
main_test.go
17
main_test.go
|
@ -155,23 +155,25 @@ func TestExportCommand(t *testing.T) {
|
|||
c.Run()
|
||||
t.Log(c.Stdout())
|
||||
assert.True(t, c.StdoutContains("Exporting Static 'index.html' page"))
|
||||
assert.True(t, fileExists("index.html"))
|
||||
}
|
||||
|
||||
func TestAssetsCommand(t *testing.T) {
|
||||
t.SkipNow()
|
||||
c := testcli.Command("statup", "assets")
|
||||
c.Run()
|
||||
t.Log(c.Stdout())
|
||||
assert.True(t, c.StdoutContains("Statup v"))
|
||||
assert.True(t, fileExists("assets/robots.txt"))
|
||||
assert.True(t, fileExists("assets/js/main.js"))
|
||||
assert.True(t, fileExists("assets/css/base.css"))
|
||||
assert.True(t, fileExists("assets/scss/base.scss"))
|
||||
assert.True(t, fileExists("assets/emails/failure.html"))
|
||||
}
|
||||
|
||||
func RunMySQLMakeConfig(t *testing.T, db string) {
|
||||
|
||||
port := 5432
|
||||
if db == "mysql" {
|
||||
port = 3306
|
||||
}
|
||||
|
||||
config := &core.DbConfig{
|
||||
db,
|
||||
os.Getenv("DB_HOST"),
|
||||
|
@ -435,3 +437,10 @@ func RunSettingsHandler(t *testing.T) {
|
|||
// //os.Remove("./statup.db")
|
||||
// os.Remove("./config.yml")
|
||||
//}
|
||||
|
||||
func fileExists(file string) bool {
|
||||
if _, err := os.Stat(file); os.IsNotExist(err) {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@ func init() {
|
|||
var err error
|
||||
logFile, err = os.OpenFile("./statup.log", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666)
|
||||
if err != nil {
|
||||
lg.Fatalf("error opening file: %v", err)
|
||||
lg.Printf("ERROR opening file: %v", err)
|
||||
}
|
||||
ljLogger = &lumberjack.Logger{
|
||||
Filename: "./statup.log",
|
||||
|
|
Loading…
Reference in New Issue