statping/main_test.go

235 lines
4.7 KiB
Go
Raw Normal View History

2018-06-10 08:05:57 +00:00
package main
import (
"github.com/stretchr/testify/assert"
2018-06-14 06:38:15 +00:00
"os"
2018-06-11 00:20:42 +00:00
"testing"
2018-06-14 06:38:15 +00:00
"time"
2018-06-10 08:05:57 +00:00
)
2018-06-14 06:38:15 +00:00
func TestInit(t *testing.T) {
RenderBoxes()
2018-06-15 04:30:10 +00:00
os.Remove("./statup.db")
Router()
2018-06-14 06:38:15 +00:00
}
2018-06-15 04:30:10 +00:00
func TestMySQLMakeConfig(t *testing.T) {
config := &DbConfig{
"mysql",
os.Getenv("DB_HOST"),
os.Getenv("DB_USER"),
os.Getenv("DB_PASS"),
os.Getenv("DB_DATABASE"),
3306,
"Testing MYSQL",
"This is a test of Statup.io!",
"admin",
"admin",
2018-06-19 04:48:25 +00:00
nil,
2018-06-15 04:30:10 +00:00
}
err := config.Save()
assert.Nil(t, err)
_, err = LoadConfig()
assert.Nil(t, err)
assert.Equal(t, "mysql", configs.Connection)
err = DbConnection(configs.Connection)
assert.Nil(t, err)
}
func TestInsertMysqlSample(t *testing.T) {
err := LoadSampleData()
assert.Nil(t, err)
}
func TestSelectCoreMYQL(t *testing.T) {
var err error
core, err = SelectCore()
assert.Nil(t, err)
assert.Equal(t, "Testing MYSQL", core.Name)
assert.Equal(t, VERSION, core.Version)
}
func TestSqliteMakeConfig(t *testing.T) {
config := &DbConfig{
"sqlite",
os.Getenv("DB_HOST"),
os.Getenv("DB_USER"),
os.Getenv("DB_PASS"),
os.Getenv("DB_DATABASE"),
5432,
"Testing SQLITE",
"This is a test of Statup.io!",
"admin",
"admin",
2018-06-19 04:48:25 +00:00
nil,
2018-06-15 04:30:10 +00:00
}
err := config.Save()
assert.Nil(t, err)
_, err = LoadConfig()
assert.Nil(t, err)
assert.Equal(t, "sqlite", configs.Connection)
err = DbConnection(configs.Connection)
assert.Nil(t, err)
}
func TestInsertSqliteSample(t *testing.T) {
err := LoadSampleData()
assert.Nil(t, err)
}
func TestPostgresMakeConfig(t *testing.T) {
2018-06-10 08:05:57 +00:00
config := &DbConfig{
"postgres",
2018-06-14 06:38:15 +00:00
os.Getenv("DB_HOST"),
os.Getenv("DB_USER"),
os.Getenv("DB_PASS"),
os.Getenv("DB_DATABASE"),
2018-06-10 08:05:57 +00:00
5432,
2018-06-15 04:30:10 +00:00
"Testing POSTGRES",
"This is a test of Statup.io!",
2018-06-10 08:05:57 +00:00
"admin",
"admin",
2018-06-19 04:48:25 +00:00
nil,
2018-06-10 08:05:57 +00:00
}
err := config.Save()
assert.Nil(t, err)
2018-06-15 04:30:10 +00:00
_, err = LoadConfig()
assert.Nil(t, err)
assert.Equal(t, "postgres", configs.Connection)
err = DbConnection(configs.Connection)
assert.Nil(t, err)
}
func TestInsertPostgresSample(t *testing.T) {
err := LoadSampleData()
assert.Nil(t, err)
2018-06-10 08:05:57 +00:00
}
2018-06-15 04:30:10 +00:00
func TestSelectCorePostgres(t *testing.T) {
2018-06-14 06:50:47 +00:00
var err error
2018-06-15 04:30:10 +00:00
core, err = SelectCore()
2018-06-14 06:50:47 +00:00
assert.Nil(t, err)
2018-06-15 04:30:10 +00:00
assert.Equal(t, "Testing POSTGRES", core.Name)
assert.Equal(t, VERSION, core.Version)
2018-06-14 06:38:15 +00:00
}
2018-06-15 04:30:10 +00:00
func TestSelectCore(t *testing.T) {
var err error
core, err = SelectCore()
assert.Nil(t, err)
assert.Equal(t, "Testing POSTGRES", core.Name)
assert.Equal(t, VERSION, core.Version)
2018-06-14 06:38:15 +00:00
}
2018-06-10 08:05:57 +00:00
2018-06-15 04:30:10 +00:00
func TestUser_Create(t *testing.T) {
user := &User{
Username: "testuserhere",
Password: "password123",
Email: "info@testuser.com",
}
id, err := user.Create()
2018-06-14 06:38:15 +00:00
assert.Nil(t, err)
2018-06-15 04:30:10 +00:00
assert.NotZero(t, id)
}
2018-06-14 06:38:15 +00:00
2018-06-15 04:30:10 +00:00
func TestOneService_Check(t *testing.T) {
2018-06-23 00:10:37 +00:00
service := SelectService(1)
assert.NotNil(t, service)
2018-06-15 04:30:10 +00:00
assert.Equal(t, "Google", service.Name)
2018-06-14 06:38:15 +00:00
}
2018-06-15 04:30:10 +00:00
func TestService_Create(t *testing.T) {
service := &Service{
Name: "test service",
Domain: "https://google.com",
ExpectedStatus: 200,
Interval: 1,
Port: 0,
Type: "https",
Method: "GET",
}
id, err := service.Create()
assert.Nil(t, err)
assert.Equal(t, int64(5), id)
}
func TestService_Check(t *testing.T) {
2018-06-23 00:10:37 +00:00
service := SelectService(2)
assert.NotNil(t, service)
2018-06-15 04:30:10 +00:00
assert.Equal(t, "Statup.io", service.Name)
out := service.Check()
assert.Equal(t, true, out.Online)
}
2018-06-10 08:05:57 +00:00
2018-06-15 04:30:10 +00:00
func TestService_AvgTime(t *testing.T) {
2018-06-23 00:10:37 +00:00
service := SelectService(1)
assert.NotNil(t, service)
2018-06-15 04:30:10 +00:00
avg := service.AvgUptime()
2018-06-22 06:56:44 +00:00
assert.Equal(t, "100", avg)
2018-06-15 04:30:10 +00:00
}
func TestService_Online24(t *testing.T) {
2018-06-23 00:10:37 +00:00
service := SelectService(1)
assert.NotNil(t, service)
2018-06-15 04:30:10 +00:00
online := service.Online24()
assert.Equal(t, float32(100), online)
}
func TestService_GraphData(t *testing.T) {
2018-06-23 00:10:37 +00:00
service := SelectService(1)
assert.NotNil(t, service)
2018-06-15 04:30:10 +00:00
data := service.GraphData()
2018-06-22 09:52:13 +00:00
assert.NotEmpty(t, data)
2018-06-15 04:30:10 +00:00
}
func TestBadService_Create(t *testing.T) {
service := &Service{
Name: "bad service",
Domain: "https://9839f83h72gey2g29278hd2od2d.com",
ExpectedStatus: 200,
Interval: 10,
Port: 0,
Type: "https",
Method: "GET",
}
id, err := service.Create()
assert.Nil(t, err)
assert.Equal(t, int64(6), id)
}
func TestBadService_Check(t *testing.T) {
2018-06-23 00:10:37 +00:00
service := SelectService(4)
assert.NotNil(t, service)
2018-06-15 04:30:10 +00:00
assert.Equal(t, "Github Failing Check", service.Name)
}
2018-06-22 04:02:57 +00:00
func TestService_Hits(t *testing.T) {
2018-06-23 00:10:37 +00:00
service := SelectService(1)
assert.NotNil(t, service)
2018-06-22 04:02:57 +00:00
hits, err := service.Hits()
assert.Nil(t, err)
2018-06-22 09:52:13 +00:00
assert.Equal(t, 20, len(hits))
2018-06-22 04:02:57 +00:00
}
func TestService_LimitedHits(t *testing.T) {
2018-06-23 00:10:37 +00:00
service := SelectService(1)
assert.NotNil(t, service)
2018-06-22 04:02:57 +00:00
hits, err := service.LimitedHits()
assert.Nil(t, err)
2018-06-22 09:52:13 +00:00
assert.Equal(t, 20, len(hits))
2018-06-22 04:02:57 +00:00
}
2018-06-15 04:30:10 +00:00
func Test(t *testing.T) {
var err error
configs, err = LoadConfig()
assert.Nil(t, err)
time.Sleep(2 * time.Second)
2018-06-11 00:20:42 +00:00
}