2020-07-22 22:17:53 +08:00
|
|
|
package models
|
|
|
|
|
|
|
|
|
|
import (
|
2020-09-26 08:06:40 +08:00
|
|
|
"crypto/md5"
|
|
|
|
|
"encoding/json"
|
2021-10-21 17:10:53 +08:00
|
|
|
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
|
|
|
|
|
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared"
|
2020-07-22 22:17:53 +08:00
|
|
|
_ "github.com/go-sql-driver/mysql"
|
2020-11-11 21:32:25 +08:00
|
|
|
"github.com/iwind/TeaGo/dbs"
|
2020-09-15 14:44:11 +08:00
|
|
|
"github.com/iwind/TeaGo/logs"
|
|
|
|
|
"testing"
|
2021-10-21 17:10:53 +08:00
|
|
|
"time"
|
2020-07-22 22:17:53 +08:00
|
|
|
)
|
2020-09-15 14:44:11 +08:00
|
|
|
|
|
|
|
|
func TestServerDAO_ComposeServerConfig(t *testing.T) {
|
2020-11-17 16:53:58 +08:00
|
|
|
dbs.NotifyReady()
|
2021-01-10 17:34:35 +08:00
|
|
|
var tx *dbs.Tx
|
2021-08-01 21:54:44 +08:00
|
|
|
config, err := SharedServerDAO.ComposeServerConfigWithServerId(tx, 1)
|
2020-09-15 14:44:11 +08:00
|
|
|
if err != nil {
|
|
|
|
|
t.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
logs.PrintAsJSON(config, t)
|
|
|
|
|
}
|
2020-09-26 08:06:40 +08:00
|
|
|
|
2020-11-17 16:53:58 +08:00
|
|
|
func TestServerDAO_ComposeServerConfig_AliasServerNames(t *testing.T) {
|
|
|
|
|
dbs.NotifyReady()
|
2021-01-10 17:34:35 +08:00
|
|
|
var tx *dbs.Tx
|
2021-08-01 21:54:44 +08:00
|
|
|
config, err := SharedServerDAO.ComposeServerConfigWithServerId(tx, 14)
|
2020-11-17 16:53:58 +08:00
|
|
|
if err != nil {
|
|
|
|
|
t.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
logs.PrintAsJSON(config.AliasServerNames, t)
|
|
|
|
|
}
|
|
|
|
|
|
2020-09-26 08:06:40 +08:00
|
|
|
func TestServerDAO_UpdateServerConfig(t *testing.T) {
|
2020-11-17 16:53:58 +08:00
|
|
|
dbs.NotifyReady()
|
2021-01-10 17:34:35 +08:00
|
|
|
var tx *dbs.Tx
|
2021-08-01 21:54:44 +08:00
|
|
|
config, err := SharedServerDAO.ComposeServerConfigWithServerId(tx, 1)
|
2020-09-26 08:06:40 +08:00
|
|
|
if err != nil {
|
|
|
|
|
t.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
configJSON, err := json.Marshal(config)
|
|
|
|
|
if err != nil {
|
|
|
|
|
t.Fatal(err)
|
|
|
|
|
}
|
2021-08-22 11:35:33 +08:00
|
|
|
t.Log(string(configJSON))
|
2020-09-26 08:06:40 +08:00
|
|
|
t.Log("ok")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestNewServerDAO_md5(t *testing.T) {
|
|
|
|
|
m := md5.New()
|
|
|
|
|
_, err := m.Write([]byte("123456"))
|
|
|
|
|
if err != nil {
|
|
|
|
|
t.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
h := m.Sum(nil)
|
|
|
|
|
t.Logf("%x", h)
|
|
|
|
|
}
|
2020-11-11 21:32:25 +08:00
|
|
|
|
|
|
|
|
func TestServerDAO_genDNSName(t *testing.T) {
|
|
|
|
|
dbs.NotifyReady()
|
2021-01-10 17:34:35 +08:00
|
|
|
var tx *dbs.Tx
|
2021-02-02 15:25:40 +08:00
|
|
|
dnsName, err := SharedServerDAO.GenDNSName(tx)
|
2020-11-11 21:32:25 +08:00
|
|
|
if err != nil {
|
|
|
|
|
t.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
t.Log("dnsName:", dnsName)
|
|
|
|
|
}
|
2020-11-13 18:22:22 +08:00
|
|
|
|
|
|
|
|
func TestServerDAO_FindAllServerDNSNamesWithDNSDomainId(t *testing.T) {
|
|
|
|
|
dbs.NotifyReady()
|
2021-01-10 17:34:35 +08:00
|
|
|
var tx *dbs.Tx
|
|
|
|
|
dnsNames, err := SharedServerDAO.FindAllServerDNSNamesWithDNSDomainId(tx, 2)
|
2020-11-13 18:22:22 +08:00
|
|
|
if err != nil {
|
|
|
|
|
t.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
t.Log("dnsNames:", dnsNames)
|
|
|
|
|
}
|
2021-01-17 16:48:00 +08:00
|
|
|
|
|
|
|
|
func TestServerDAO_FindAllEnabledServerIdsWithSSLPolicyIds(t *testing.T) {
|
|
|
|
|
dbs.NotifyReady()
|
|
|
|
|
var tx *dbs.Tx
|
|
|
|
|
serverIds, err := SharedServerDAO.FindAllEnabledServerIdsWithSSLPolicyIds(tx, []int64{14})
|
|
|
|
|
if err != nil {
|
|
|
|
|
t.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
t.Log("serverIds:", serverIds)
|
2021-01-27 11:53:30 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestServerDAO_CheckPortIsUsing(t *testing.T) {
|
|
|
|
|
dbs.NotifyReady()
|
|
|
|
|
var tx *dbs.Tx
|
|
|
|
|
//{
|
|
|
|
|
// isUsing, err := SharedServerDAO.CheckPortIsUsing(tx, 18, 1234, 0, "")
|
|
|
|
|
// if err != nil {
|
|
|
|
|
// t.Fatal(err)
|
|
|
|
|
// }
|
|
|
|
|
// t.Log("isUsing:", isUsing)
|
|
|
|
|
//}
|
|
|
|
|
{
|
2021-10-10 16:29:50 +08:00
|
|
|
isUsing, err := SharedServerDAO.CheckTCPPortIsUsing(tx, 18, 3306, 0, "tcp")
|
2021-01-27 11:53:30 +08:00
|
|
|
if err != nil {
|
|
|
|
|
t.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
t.Log("isUsing:", isUsing)
|
|
|
|
|
}
|
|
|
|
|
}
|
2021-02-06 21:19:19 +08:00
|
|
|
|
|
|
|
|
func TestServerDAO_ExistServerNameInCluster(t *testing.T) {
|
|
|
|
|
dbs.NotifyReady()
|
|
|
|
|
|
|
|
|
|
var tx *dbs.Tx
|
|
|
|
|
{
|
|
|
|
|
exist, err := SharedServerDAO.ExistServerNameInCluster(tx, 18, "hello.teaos.cn", 0)
|
|
|
|
|
if err != nil {
|
|
|
|
|
t.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
t.Log(exist)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
exist, err := SharedServerDAO.ExistServerNameInCluster(tx, 18, "cdn.teaos.cn", 0)
|
|
|
|
|
if err != nil {
|
|
|
|
|
t.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
t.Log(exist)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
exist, err := SharedServerDAO.ExistServerNameInCluster(tx, 18, "cdn.teaos.cn", 23)
|
|
|
|
|
if err != nil {
|
|
|
|
|
t.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
t.Log(exist)
|
|
|
|
|
}
|
2021-07-31 22:23:11 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestServerDAO_FindAllEnabledServersWithNode(t *testing.T) {
|
|
|
|
|
dbs.NotifyReady()
|
2021-02-06 21:19:19 +08:00
|
|
|
|
2021-07-31 22:23:11 +08:00
|
|
|
servers, err := SharedServerDAO.FindAllEnabledServersWithNode(nil, 48)
|
|
|
|
|
if err != nil {
|
|
|
|
|
t.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
for _, server := range servers {
|
|
|
|
|
t.Log("serverId:", server.Id, "clusterId:", server.ClusterId)
|
|
|
|
|
}
|
2021-02-06 21:19:19 +08:00
|
|
|
}
|
2021-08-29 10:21:42 +08:00
|
|
|
|
2021-10-17 17:12:30 +08:00
|
|
|
func TestServerDAO_FindAllEnabledServersWithDomain(t *testing.T) {
|
|
|
|
|
for _, domain := range []string{"yun4s.cn", "teaos.cn", "teaos2.cn", "cdn.teaos.cn", "cdn100.teaos.cn"} {
|
|
|
|
|
servers, err := NewServerDAO().FindAllEnabledServersWithDomain(nil, domain)
|
|
|
|
|
if err != nil {
|
|
|
|
|
t.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
if len(servers) > 0 {
|
|
|
|
|
for _, server := range servers {
|
|
|
|
|
t.Log(domain + ": " + server.ServerNames)
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
t.Log(domain + ": not found")
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2021-10-21 17:10:53 +08:00
|
|
|
func TestServerDAO_UpdateServerBandwidthLimitStatus(t *testing.T) {
|
|
|
|
|
dbs.NotifyReady()
|
|
|
|
|
|
|
|
|
|
var tx *dbs.Tx
|
|
|
|
|
before := time.Now()
|
|
|
|
|
defer func() {
|
|
|
|
|
t.Log(time.Since(before).Seconds()*1000, "ms")
|
|
|
|
|
}()
|
|
|
|
|
err := NewServerDAO().UpdateServerBandwidthLimitStatus(tx, &serverconfigs.BandwidthLimitConfig{
|
|
|
|
|
IsOn: true,
|
|
|
|
|
DailySize: &shared.SizeCapacity{Count: 1, Unit: "mb"},
|
|
|
|
|
MonthlySize: &shared.SizeCapacity{Count: 10, Unit: "mb"},
|
|
|
|
|
TotalSize: nil,
|
|
|
|
|
NoticePageBody: "",
|
|
|
|
|
}, 23)
|
|
|
|
|
if err != nil {
|
|
|
|
|
t.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
t.Log("ok")
|
|
|
|
|
}
|
|
|
|
|
|
2021-08-29 10:21:42 +08:00
|
|
|
func BenchmarkServerDAO_CountAllEnabledServers(b *testing.B) {
|
|
|
|
|
SharedServerDAO = NewServerDAO()
|
|
|
|
|
|
|
|
|
|
for i := 0; i < b.N; i++ {
|
|
|
|
|
result, err := SharedServerDAO.CountAllEnabledServers(nil)
|
|
|
|
|
if err != nil {
|
|
|
|
|
b.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
_ = result
|
|
|
|
|
}
|
|
|
|
|
}
|