XrayR/api/pmpanel/pmpanel_test.go
2022-11-08 11:57:06 +08:00

162 lines
2.9 KiB
Go

package pmpanel_test
import (
"fmt"
"testing"
"github.com/XrayR-project/XrayR/api"
"github.com/XrayR-project/XrayR/api/pmpanel"
)
func CreateClient() api.API {
apiConfig := &api.Config{
APIHost: "http://webapi.yyds.me",
Key: "123456",
NodeID: 4,
NodeType: "V2ray",
}
client := pmpanel.New(apiConfig)
return client
}
func TestGetV2rayNodeinfo(t *testing.T) {
client := CreateClient()
client.Debug()
nodeInfo, err := client.GetNodeInfo()
if err != nil {
t.Error(err)
}
t.Log(nodeInfo)
}
func TestGetSSNodeinfo(t *testing.T) {
apiConfig := &api.Config{
APIHost: "http://webapi.yyds.me",
Key: "123456",
NodeID: 1,
NodeType: "Shadowsocks",
}
client := pmpanel.New(apiConfig)
client.Debug()
nodeInfo, err := client.GetNodeInfo()
if err != nil {
t.Error(err)
}
t.Log(nodeInfo)
}
func TestGetTrojanNodeinfo(t *testing.T) {
apiConfig := &api.Config{
APIHost: "http://webapi.yyds.me",
Key: "123456",
NodeID: 1,
NodeType: "Trojan",
}
client := pmpanel.New(apiConfig)
client.Debug()
nodeInfo, err := client.GetNodeInfo()
if err != nil {
t.Error(err)
}
t.Log(nodeInfo)
}
func TestGetSSinfo(t *testing.T) {
client := CreateClient()
nodeInfo, err := client.GetNodeInfo()
if err != nil {
t.Error(err)
}
t.Log(nodeInfo)
}
func TestGetUserList(t *testing.T) {
client := CreateClient()
userList, err := client.GetUserList()
if err != nil {
t.Error(err)
}
t.Log(userList)
}
func TestReportNodeStatus(t *testing.T) {
client := CreateClient()
nodeStatus := &api.NodeStatus{
CPU: 1, Mem: 1, Disk: 1, Uptime: 256,
}
err := client.ReportNodeStatus(nodeStatus)
if err != nil {
t.Error(err)
}
}
func TestReportReportNodeOnlineUsers(t *testing.T) {
client := CreateClient()
userList, err := client.GetUserList()
if err != nil {
t.Error(err)
}
onlineUserList := make([]api.OnlineUser, len(*userList))
for i, userInfo := range *userList {
onlineUserList[i] = api.OnlineUser{
UID: userInfo.UID,
IP: fmt.Sprintf("1.1.1.%d", i),
}
}
// client.Debug()
err = client.ReportNodeOnlineUsers(&onlineUserList)
if err != nil {
t.Error(err)
}
}
func TestReportReportUserTraffic(t *testing.T) {
client := CreateClient()
userList, err := client.GetUserList()
if err != nil {
t.Error(err)
}
generalUserTraffic := make([]api.UserTraffic, len(*userList))
for i, userInfo := range *userList {
generalUserTraffic[i] = api.UserTraffic{
UID: userInfo.UID,
Upload: 114514,
Download: 114514,
}
}
// client.Debug()
err = client.ReportUserTraffic(&generalUserTraffic)
if err != nil {
t.Error(err)
}
}
func TestGetNodeRule(t *testing.T) {
client := CreateClient()
ruleList, err := client.GetNodeRule()
if err != nil {
t.Error(err)
}
t.Log(ruleList)
}
func TestReportIllegal(t *testing.T) {
client := CreateClient()
detectResult := []api.DetectResult{
{1, 2},
{1, 3},
}
client.Debug()
err := client.ReportIllegal(&detectResult)
if err != nil {
t.Error(err)
}
}