mirror of
https://github.com/EchoVault/SugarDB.git
synced 2025-10-12 03:10:04 +08:00
Implemented GetFreePort utility function to get free port for tests. Updated ACL and PubSub tests to use new GetFreePort functions instead of hardcoded ports
This commit is contained in:
@@ -410,3 +410,20 @@ func CompareNestedStringArrays(got [][]string, want [][]string) bool {
|
|||||||
}
|
}
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetFreePort() (int, error) {
|
||||||
|
addr, err := net.ResolveTCPAddr("tcp", "localhost:0")
|
||||||
|
if err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
|
||||||
|
l, err := net.ListenTCP("tcp", addr)
|
||||||
|
if err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
defer func() {
|
||||||
|
_ = l.Close()
|
||||||
|
}()
|
||||||
|
|
||||||
|
return l.Addr().(*net.TCPAddr).Port, nil
|
||||||
|
}
|
||||||
|
@@ -18,6 +18,7 @@ import (
|
|||||||
"crypto/sha256"
|
"crypto/sha256"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/echovault/echovault/echovault"
|
"github.com/echovault/echovault/echovault"
|
||||||
|
"github.com/echovault/echovault/internal"
|
||||||
"github.com/echovault/echovault/internal/config"
|
"github.com/echovault/echovault/internal/config"
|
||||||
"github.com/echovault/echovault/internal/constants"
|
"github.com/echovault/echovault/internal/constants"
|
||||||
"github.com/echovault/echovault/internal/modules/acl"
|
"github.com/echovault/echovault/internal/modules/acl"
|
||||||
@@ -37,7 +38,9 @@ var mockServer *echovault.EchoVault
|
|||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
bindAddr = "localhost"
|
bindAddr = "localhost"
|
||||||
port = 7496
|
|
||||||
|
p, _ := internal.GetFreePort()
|
||||||
|
port = uint16(p)
|
||||||
|
|
||||||
mockServer = setUpServer(bindAddr, port, true, "")
|
mockServer = setUpServer(bindAddr, port, true, "")
|
||||||
|
|
||||||
@@ -406,8 +409,8 @@ func Test_HandleCat(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func Test_HandleUsers(t *testing.T) {
|
func Test_HandleUsers(t *testing.T) {
|
||||||
var port uint16 = 7491
|
port, _ := internal.GetFreePort()
|
||||||
mockServer := setUpServer(bindAddr, port, false, "")
|
mockServer := setUpServer(bindAddr, uint16(port), false, "")
|
||||||
wg := sync.WaitGroup{}
|
wg := sync.WaitGroup{}
|
||||||
wg.Add(1)
|
wg.Add(1)
|
||||||
go func() {
|
go func() {
|
||||||
@@ -461,8 +464,8 @@ func Test_HandleUsers(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func Test_HandleSetUser(t *testing.T) {
|
func Test_HandleSetUser(t *testing.T) {
|
||||||
var port uint16 = 7492
|
port, _ := internal.GetFreePort()
|
||||||
mockServer := setUpServer(bindAddr, port, false, "")
|
mockServer := setUpServer(bindAddr, uint16(port), false, "")
|
||||||
wg := sync.WaitGroup{}
|
wg := sync.WaitGroup{}
|
||||||
wg.Add(1)
|
wg.Add(1)
|
||||||
go func() {
|
go func() {
|
||||||
@@ -1054,8 +1057,8 @@ func Test_HandleSetUser(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func Test_HandleGetUser(t *testing.T) {
|
func Test_HandleGetUser(t *testing.T) {
|
||||||
var port uint16 = 7493
|
port, _ := internal.GetFreePort()
|
||||||
mockServer := setUpServer(bindAddr, port, false, "")
|
mockServer := setUpServer(bindAddr, uint16(port), false, "")
|
||||||
wg := sync.WaitGroup{}
|
wg := sync.WaitGroup{}
|
||||||
wg.Add(1)
|
wg.Add(1)
|
||||||
go func() {
|
go func() {
|
||||||
@@ -1207,8 +1210,8 @@ func Test_HandleGetUser(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func Test_HandleDelUser(t *testing.T) {
|
func Test_HandleDelUser(t *testing.T) {
|
||||||
var port uint16 = 7494
|
port, _ := internal.GetFreePort()
|
||||||
mockServer := setUpServer(bindAddr, port, false, "")
|
mockServer := setUpServer(bindAddr, uint16(port), false, "")
|
||||||
wg := sync.WaitGroup{}
|
wg := sync.WaitGroup{}
|
||||||
wg.Add(1)
|
wg.Add(1)
|
||||||
go func() {
|
go func() {
|
||||||
@@ -1357,8 +1360,8 @@ func Test_HandleWhoAmI(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func Test_HandleList(t *testing.T) {
|
func Test_HandleList(t *testing.T) {
|
||||||
var port uint16 = 7495
|
port, _ := internal.GetFreePort()
|
||||||
mockServer := setUpServer(bindAddr, port, false, "")
|
mockServer := setUpServer(bindAddr, uint16(port), false, "")
|
||||||
wg := sync.WaitGroup{}
|
wg := sync.WaitGroup{}
|
||||||
wg.Add(1)
|
wg.Add(1)
|
||||||
go func() {
|
go func() {
|
||||||
|
@@ -38,9 +38,12 @@ var ps *pubsub.PubSub
|
|||||||
var mockServer *echovault.EchoVault
|
var mockServer *echovault.EchoVault
|
||||||
|
|
||||||
var bindAddr = "localhost"
|
var bindAddr = "localhost"
|
||||||
var port uint16 = 7490
|
var port uint16
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
p, _ := internal.GetFreePort()
|
||||||
|
port = uint16(p)
|
||||||
|
|
||||||
mockServer = setUpServer(bindAddr, port)
|
mockServer = setUpServer(bindAddr, port)
|
||||||
|
|
||||||
getPubSub := getUnexportedField(reflect.ValueOf(mockServer).Elem().FieldByName("getPubSub")).(func() interface{})
|
getPubSub := getUnexportedField(reflect.ValueOf(mockServer).Elem().FieldByName("getPubSub")).(func() interface{})
|
||||||
@@ -547,8 +550,8 @@ func Test_HandlePubSubChannels(t *testing.T) {
|
|||||||
done := make(chan struct{})
|
done := make(chan struct{})
|
||||||
go func() {
|
go func() {
|
||||||
// Create separate mock echovault for this test
|
// Create separate mock echovault for this test
|
||||||
var port uint16 = 7590
|
port, _ := internal.GetFreePort()
|
||||||
mockServer := setUpServer(bindAddr, port)
|
mockServer := setUpServer(bindAddr, uint16(port))
|
||||||
|
|
||||||
ctx := context.WithValue(context.Background(), "test_name", "PUBSUB CHANNELS")
|
ctx := context.WithValue(context.Background(), "test_name", "PUBSUB CHANNELS")
|
||||||
|
|
||||||
@@ -682,8 +685,8 @@ func Test_HandleNumPat(t *testing.T) {
|
|||||||
done := make(chan struct{})
|
done := make(chan struct{})
|
||||||
go func() {
|
go func() {
|
||||||
// Create separate mock echovault for this test
|
// Create separate mock echovault for this test
|
||||||
var port uint16 = 7591
|
port, _ := internal.GetFreePort()
|
||||||
mockServer := setUpServer(bindAddr, port)
|
mockServer := setUpServer(bindAddr, uint16(port))
|
||||||
|
|
||||||
ctx := context.WithValue(context.Background(), "test_name", "PUBSUB NUMPAT")
|
ctx := context.WithValue(context.Background(), "test_name", "PUBSUB NUMPAT")
|
||||||
|
|
||||||
@@ -777,8 +780,8 @@ func Test_HandleNumSub(t *testing.T) {
|
|||||||
done := make(chan struct{})
|
done := make(chan struct{})
|
||||||
go func() {
|
go func() {
|
||||||
// Create separate mock echovault for this test
|
// Create separate mock echovault for this test
|
||||||
var port uint16 = 7591
|
port, _ := internal.GetFreePort()
|
||||||
mockServer := setUpServer(bindAddr, port)
|
mockServer := setUpServer(bindAddr, uint16(port))
|
||||||
|
|
||||||
ctx := context.WithValue(context.Background(), "test_name", "PUBSUB NUMSUB")
|
ctx := context.WithValue(context.Background(), "test_name", "PUBSUB NUMSUB")
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user