243 lines
5.9 KiB
Go
243 lines
5.9 KiB
Go
package status
|
|
|
|
import (
|
|
"log"
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/appleboy/gorush/config"
|
|
"github.com/appleboy/gorush/logx"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestMain(m *testing.M) {
|
|
cfg, _ := config.LoadConf()
|
|
if err := logx.InitLog(
|
|
cfg.Log.AccessLevel,
|
|
cfg.Log.AccessLog,
|
|
cfg.Log.ErrorLevel,
|
|
cfg.Log.ErrorLog,
|
|
); err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
m.Run()
|
|
}
|
|
|
|
func TestStorageDriverExist(t *testing.T) {
|
|
cfg, _ := config.LoadConf()
|
|
cfg.Stat.Engine = "Test"
|
|
err := InitAppStatus(cfg)
|
|
assert.Error(t, err)
|
|
}
|
|
|
|
func TestStatForMemoryEngine(t *testing.T) {
|
|
// wait android push notification response.
|
|
time.Sleep(5 * time.Second)
|
|
|
|
var val int64
|
|
cfg, _ := config.LoadConf()
|
|
cfg.Stat.Engine = "memory"
|
|
err := InitAppStatus(cfg)
|
|
assert.Nil(t, err)
|
|
|
|
StatStorage.AddTotalCount(100)
|
|
StatStorage.AddIosSuccess(200)
|
|
StatStorage.AddIosError(300)
|
|
StatStorage.AddAndroidSuccess(400)
|
|
StatStorage.AddAndroidError(500)
|
|
|
|
val = StatStorage.GetTotalCount()
|
|
assert.Equal(t, int64(100), val)
|
|
val = StatStorage.GetIosSuccess()
|
|
assert.Equal(t, int64(200), val)
|
|
val = StatStorage.GetIosError()
|
|
assert.Equal(t, int64(300), val)
|
|
val = StatStorage.GetAndroidSuccess()
|
|
assert.Equal(t, int64(400), val)
|
|
val = StatStorage.GetAndroidError()
|
|
assert.Equal(t, int64(500), val)
|
|
}
|
|
|
|
func TestRedisServerSuccess(t *testing.T) {
|
|
cfg, _ := config.LoadConf()
|
|
cfg.Stat.Engine = "redis"
|
|
cfg.Stat.Redis.Addr = "redis:6379"
|
|
|
|
err := InitAppStatus(cfg)
|
|
|
|
assert.NoError(t, err)
|
|
}
|
|
|
|
func TestRedisServerError(t *testing.T) {
|
|
cfg, _ := config.LoadConf()
|
|
cfg.Stat.Engine = "redis"
|
|
cfg.Stat.Redis.Addr = "redis:6370"
|
|
|
|
err := InitAppStatus(cfg)
|
|
|
|
assert.Error(t, err)
|
|
}
|
|
|
|
func TestStatForRedisEngine(t *testing.T) {
|
|
var val int64
|
|
cfg, _ := config.LoadConf()
|
|
cfg.Stat.Engine = "redis"
|
|
cfg.Stat.Redis.Addr = "redis:6379"
|
|
err := InitAppStatus(cfg)
|
|
assert.Nil(t, err)
|
|
|
|
StatStorage.Init()
|
|
StatStorage.Reset()
|
|
|
|
StatStorage.AddTotalCount(100)
|
|
StatStorage.AddIosSuccess(200)
|
|
StatStorage.AddIosError(300)
|
|
StatStorage.AddAndroidSuccess(400)
|
|
StatStorage.AddAndroidError(500)
|
|
|
|
val = StatStorage.GetTotalCount()
|
|
assert.Equal(t, int64(100), val)
|
|
val = StatStorage.GetIosSuccess()
|
|
assert.Equal(t, int64(200), val)
|
|
val = StatStorage.GetIosError()
|
|
assert.Equal(t, int64(300), val)
|
|
val = StatStorage.GetAndroidSuccess()
|
|
assert.Equal(t, int64(400), val)
|
|
val = StatStorage.GetAndroidError()
|
|
assert.Equal(t, int64(500), val)
|
|
}
|
|
|
|
func TestDefaultEngine(t *testing.T) {
|
|
var val int64
|
|
// defaul engine as memory
|
|
cfg, _ := config.LoadConf()
|
|
err := InitAppStatus(cfg)
|
|
assert.Nil(t, err)
|
|
|
|
StatStorage.Reset()
|
|
|
|
StatStorage.AddTotalCount(100)
|
|
StatStorage.AddIosSuccess(200)
|
|
StatStorage.AddIosError(300)
|
|
StatStorage.AddAndroidSuccess(400)
|
|
StatStorage.AddAndroidError(500)
|
|
|
|
val = StatStorage.GetTotalCount()
|
|
assert.Equal(t, int64(100), val)
|
|
val = StatStorage.GetIosSuccess()
|
|
assert.Equal(t, int64(200), val)
|
|
val = StatStorage.GetIosError()
|
|
assert.Equal(t, int64(300), val)
|
|
val = StatStorage.GetAndroidSuccess()
|
|
assert.Equal(t, int64(400), val)
|
|
val = StatStorage.GetAndroidError()
|
|
assert.Equal(t, int64(500), val)
|
|
}
|
|
|
|
func TestStatForBoltDBEngine(t *testing.T) {
|
|
var val int64
|
|
cfg, _ := config.LoadConf()
|
|
cfg.Stat.Engine = "boltdb"
|
|
err := InitAppStatus(cfg)
|
|
assert.Nil(t, err)
|
|
|
|
StatStorage.Reset()
|
|
|
|
StatStorage.AddTotalCount(100)
|
|
StatStorage.AddIosSuccess(200)
|
|
StatStorage.AddIosError(300)
|
|
StatStorage.AddAndroidSuccess(400)
|
|
StatStorage.AddAndroidError(500)
|
|
|
|
val = StatStorage.GetTotalCount()
|
|
assert.Equal(t, int64(100), val)
|
|
val = StatStorage.GetIosSuccess()
|
|
assert.Equal(t, int64(200), val)
|
|
val = StatStorage.GetIosError()
|
|
assert.Equal(t, int64(300), val)
|
|
val = StatStorage.GetAndroidSuccess()
|
|
assert.Equal(t, int64(400), val)
|
|
val = StatStorage.GetAndroidError()
|
|
assert.Equal(t, int64(500), val)
|
|
}
|
|
|
|
// func TestStatForBuntDBEngine(t *testing.T) {
|
|
// var val int64
|
|
// cfg.Stat.Engine = "buntdb"
|
|
// err := InitAppStatus()
|
|
// assert.Nil(t, err)
|
|
|
|
// StatStorage.Reset()
|
|
|
|
// StatStorage.AddTotalCount(100)
|
|
// StatStorage.AddIosSuccess(200)
|
|
// StatStorage.AddIosError(300)
|
|
// StatStorage.AddAndroidSuccess(400)
|
|
// StatStorage.AddAndroidError(500)
|
|
|
|
// val = StatStorage.GetTotalCount()
|
|
// assert.Equal(t, int64(100), val)
|
|
// val = StatStorage.GetIosSuccess()
|
|
// assert.Equal(t, int64(200), val)
|
|
// val = StatStorage.GetIosError()
|
|
// assert.Equal(t, int64(300), val)
|
|
// val = StatStorage.GetAndroidSuccess()
|
|
// assert.Equal(t, int64(400), val)
|
|
// val = StatStorage.GetAndroidError()
|
|
// assert.Equal(t, int64(500), val)
|
|
// }
|
|
|
|
// func TestStatForLevelDBEngine(t *testing.T) {
|
|
// var val int64
|
|
// cfg.Stat.Engine = "leveldb"
|
|
// err := InitAppStatus()
|
|
// assert.Nil(t, err)
|
|
|
|
// StatStorage.Reset()
|
|
|
|
// StatStorage.AddTotalCount(100)
|
|
// StatStorage.AddIosSuccess(200)
|
|
// StatStorage.AddIosError(300)
|
|
// StatStorage.AddAndroidSuccess(400)
|
|
// StatStorage.AddAndroidError(500)
|
|
|
|
// val = StatStorage.GetTotalCount()
|
|
// assert.Equal(t, int64(100), val)
|
|
// val = StatStorage.GetIosSuccess()
|
|
// assert.Equal(t, int64(200), val)
|
|
// val = StatStorage.GetIosError()
|
|
// assert.Equal(t, int64(300), val)
|
|
// val = StatStorage.GetAndroidSuccess()
|
|
// assert.Equal(t, int64(400), val)
|
|
// val = StatStorage.GetAndroidError()
|
|
// assert.Equal(t, int64(500), val)
|
|
// }
|
|
|
|
// func TestStatForBadgerEngine(t *testing.T) {
|
|
// var val int64
|
|
// cfg.Stat.Engine = "badger"
|
|
// err := InitAppStatus()
|
|
// assert.Nil(t, err)
|
|
|
|
// StatStorage.Reset()
|
|
|
|
// StatStorage.AddTotalCount(100)
|
|
// StatStorage.AddIosSuccess(200)
|
|
// StatStorage.AddIosError(300)
|
|
// StatStorage.AddAndroidSuccess(400)
|
|
// StatStorage.AddAndroidError(500)
|
|
|
|
// val = StatStorage.GetTotalCount()
|
|
// assert.Equal(t, int64(100), val)
|
|
// val = StatStorage.GetIosSuccess()
|
|
// assert.Equal(t, int64(200), val)
|
|
// val = StatStorage.GetIosError()
|
|
// assert.Equal(t, int64(300), val)
|
|
// val = StatStorage.GetAndroidSuccess()
|
|
// assert.Equal(t, int64(400), val)
|
|
// val = StatStorage.GetAndroidError()
|
|
// assert.Equal(t, int64(500), val)
|
|
// }
|