mirror of
https://github.com/XrayR-project/XrayR.git
synced 2025-06-08 13:29:54 +00:00

Fixed typos, changed variable naming to follow camel case convention, simplified the error handling, and refactored the function names in sspanel.go for improved readability and consistency. Accordingly, updated the test function names in sspanel_test.go to match the changes made in the main file. Additionally, the if condition in ParseSSPanelNodeInfo was streamlined to improve the function's readability and error handling. The changes will help in better understanding the code while debugging or adding new features.
160 lines
2.9 KiB
Go
160 lines
2.9 KiB
Go
package sspanel_test
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
|
|
"github.com/XrayR-project/XrayR/api"
|
|
"github.com/XrayR-project/XrayR/api/sspanel"
|
|
)
|
|
|
|
func CreateClient() api.API {
|
|
apiConfig := &api.Config{
|
|
APIHost: "http://127.0.0.1:667",
|
|
Key: "123",
|
|
NodeID: 3,
|
|
NodeType: "V2ray",
|
|
}
|
|
client := sspanel.New(apiConfig)
|
|
return client
|
|
}
|
|
|
|
func TestGetV2rayNodeInfo(t *testing.T) {
|
|
client := CreateClient()
|
|
|
|
nodeInfo, err := client.GetNodeInfo()
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
t.Log(nodeInfo)
|
|
}
|
|
|
|
func TestGetSSNodeInfo(t *testing.T) {
|
|
apiConfig := &api.Config{
|
|
APIHost: "http://127.0.0.1:667",
|
|
Key: "123",
|
|
NodeID: 64,
|
|
NodeType: "Shadowsocks",
|
|
}
|
|
client := sspanel.New(apiConfig)
|
|
nodeInfo, err := client.GetNodeInfo()
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
t.Log(nodeInfo)
|
|
}
|
|
|
|
func TestGetTrojanNodeInfo(t *testing.T) {
|
|
apiConfig := &api.Config{
|
|
APIHost: "http://127.0.0.1:667",
|
|
Key: "123",
|
|
NodeID: 72,
|
|
NodeType: "Trojan",
|
|
}
|
|
client := sspanel.New(apiConfig)
|
|
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)
|
|
}
|
|
}
|