mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2025-08-23 11:26:52 +00:00
64 lines
1.2 KiB
Go
64 lines
1.2 KiB
Go
![]() |
package service
|
||
|
|
||
|
import (
|
||
|
"os"
|
||
|
"testing"
|
||
|
"x-ui/database"
|
||
|
"x-ui/database/model"
|
||
|
|
||
|
"github.com/stretchr/testify/assert"
|
||
|
)
|
||
|
|
||
|
func setup() {
|
||
|
dbPath := "test.db"
|
||
|
os.Remove(dbPath)
|
||
|
database.InitDB(dbPath)
|
||
|
}
|
||
|
|
||
|
func teardown() {
|
||
|
db, _ := database.GetDB().DB()
|
||
|
db.Close()
|
||
|
os.Remove("test.db")
|
||
|
}
|
||
|
|
||
|
func TestMultiServerService(t *testing.T) {
|
||
|
setup()
|
||
|
defer teardown()
|
||
|
|
||
|
service := MultiServerService{}
|
||
|
|
||
|
// Test AddServer
|
||
|
server := &model.Server{
|
||
|
Name: "test-server",
|
||
|
Address: "127.0.0.1",
|
||
|
Port: 54321,
|
||
|
APIKey: "test-key",
|
||
|
Enable: true,
|
||
|
}
|
||
|
err := service.AddServer(server)
|
||
|
assert.NoError(t, err)
|
||
|
|
||
|
// Test GetServer
|
||
|
retrievedServer, err := service.GetServer(server.Id)
|
||
|
assert.NoError(t, err)
|
||
|
assert.Equal(t, server.Name, retrievedServer.Name)
|
||
|
|
||
|
// Test GetServers
|
||
|
servers, err := service.GetServers()
|
||
|
assert.NoError(t, err)
|
||
|
assert.Len(t, servers, 1)
|
||
|
|
||
|
// Test UpdateServer
|
||
|
retrievedServer.Name = "updated-server"
|
||
|
err = service.UpdateServer(retrievedServer)
|
||
|
assert.NoError(t, err)
|
||
|
updatedServer, _ := service.GetServer(server.Id)
|
||
|
assert.Equal(t, "updated-server", updatedServer.Name)
|
||
|
|
||
|
// Test DeleteServer
|
||
|
err = service.DeleteServer(server.Id)
|
||
|
assert.NoError(t, err)
|
||
|
_, err = service.GetServer(server.Id)
|
||
|
assert.Error(t, err)
|
||
|
}
|