mirror of
https://github.com/livekit/livekit.git
synced 2026-03-30 09:09:57 +00:00
Simplify test helpers, cleanup redis between tests
This commit is contained in:
@@ -292,7 +292,8 @@ func (c *RTCClient) Run() error {
|
||||
}
|
||||
|
||||
func (c *RTCClient) WaitUntilConnected() error {
|
||||
ctx, _ := context.WithTimeout(context.Background(), 5*time.Second)
|
||||
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
|
||||
defer cancel()
|
||||
for {
|
||||
select {
|
||||
case <-ctx.Done():
|
||||
|
||||
@@ -45,7 +45,8 @@ func init() {
|
||||
logger.InitDevelopment("")
|
||||
}
|
||||
|
||||
func setupSingleNodeTest(roomName string) *service.LivekitServer {
|
||||
func setupSingleNodeTest(name string, roomName string) (*service.LivekitServer, func()) {
|
||||
logger.Infow("----------------STARTING TEST----------------", "test", name)
|
||||
s := createSingleNodeServer()
|
||||
go func() {
|
||||
s.Start()
|
||||
@@ -58,10 +59,14 @@ func setupSingleNodeTest(roomName string) *service.LivekitServer {
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return s
|
||||
return s, func() {
|
||||
s.Stop()
|
||||
logger.Infow("----------------FINISHING TEST----------------", "test", name)
|
||||
}
|
||||
}
|
||||
|
||||
func setupMultiNodeTest() (*service.LivekitServer, *service.LivekitServer) {
|
||||
func setupMultiNodeTest(name string) (*service.LivekitServer, *service.LivekitServer, func()) {
|
||||
logger.Infow("----------------STARTING TEST----------------", "test", name)
|
||||
s1 := createMultiNodeServer(utils.NewGuid(nodeId1), defaultServerPort)
|
||||
s2 := createMultiNodeServer(utils.NewGuid(nodeId2), secondServerPort)
|
||||
go s1.Start()
|
||||
@@ -70,12 +75,12 @@ func setupMultiNodeTest() (*service.LivekitServer, *service.LivekitServer) {
|
||||
waitForServerToStart(s1)
|
||||
waitForServerToStart(s2)
|
||||
|
||||
return s1, s2
|
||||
}
|
||||
|
||||
func teardownTest(s *service.LivekitServer, roomName string) {
|
||||
roomClient.DeleteRoom(contextWithCreateRoomToken(), &livekit.DeleteRoomRequest{Room: roomName})
|
||||
s.Stop()
|
||||
return s1, s2, func() {
|
||||
s1.Stop()
|
||||
s2.Stop()
|
||||
redisClient().FlushAll(context.Background())
|
||||
logger.Infow("----------------FINISHING TEST----------------", "test", name)
|
||||
}
|
||||
}
|
||||
|
||||
func contextWithCreateRoomToken() context.Context {
|
||||
@@ -131,18 +136,14 @@ func waitUntilConnected(t *testing.T, clients ...*testclient.RTCClient) {
|
||||
err := c.WaitUntilConnected()
|
||||
if err != nil {
|
||||
errChan <- err
|
||||
t.Error(err)
|
||||
}
|
||||
}()
|
||||
}
|
||||
wg.Wait()
|
||||
close(errChan)
|
||||
hasError := false
|
||||
for err := range errChan {
|
||||
t.Fatal(err)
|
||||
hasError = true
|
||||
}
|
||||
if hasError {
|
||||
t.FailNow()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,6 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/livekit/livekit-server/pkg/logger"
|
||||
livekit "github.com/livekit/livekit-server/proto"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
@@ -14,13 +13,8 @@ func TestMultiNodeRouting(t *testing.T) {
|
||||
t.SkipNow()
|
||||
return
|
||||
}
|
||||
|
||||
logger.Infow("\n\n---Starting TestMultiNodeRouting---")
|
||||
defer logger.Infow("---Finishing TestMultiNodeRouting---")
|
||||
|
||||
s1, s2 := setupMultiNodeTest()
|
||||
defer s1.Stop()
|
||||
defer s2.Stop()
|
||||
_, _, finish := setupMultiNodeTest("TestMultiNodeRouting")
|
||||
defer finish()
|
||||
|
||||
// creating room on node 1
|
||||
_, err := roomClient.CreateRoom(contextWithCreateRoomToken(), &livekit.CreateRoomRequest{
|
||||
@@ -61,12 +55,9 @@ func TestConnectWithoutCreation(t *testing.T) {
|
||||
t.SkipNow()
|
||||
return
|
||||
}
|
||||
logger.Infow("\n\n---Starting TestConnectWithoutCreation---")
|
||||
defer logger.Infow("---Finishing TestConnectWithoutCreation---")
|
||||
|
||||
s1, s2 := setupMultiNodeTest()
|
||||
defer s1.Stop()
|
||||
defer s2.Stop()
|
||||
_, _, finish := setupMultiNodeTest("TestConnectWithoutCreation")
|
||||
defer finish()
|
||||
|
||||
c1 := createRTCClient("c1", defaultServerPort, nil)
|
||||
waitUntilConnected(t, c1)
|
||||
@@ -80,13 +71,8 @@ func TestMultinodePublishingUponJoining(t *testing.T) {
|
||||
t.SkipNow()
|
||||
return
|
||||
}
|
||||
|
||||
logger.Infow("\n\n---Starting TestMultinodePublishingUponJoining---")
|
||||
defer logger.Infow("---Finishing TestMultinodePublishingUponJoining---")
|
||||
|
||||
s1, s2 := setupMultiNodeTest()
|
||||
defer s1.Stop()
|
||||
defer s2.Stop()
|
||||
_, _, finish := setupMultiNodeTest("TestMultinodePublishingUponJoining")
|
||||
defer finish()
|
||||
|
||||
scenarioPublishingUponJoining(t, defaultServerPort, secondServerPort)
|
||||
}
|
||||
@@ -96,13 +82,8 @@ func TestMultinodeReceiveBeforePublish(t *testing.T) {
|
||||
t.SkipNow()
|
||||
return
|
||||
}
|
||||
|
||||
logger.Infow("\n\n---Starting TestMultinodeReceiveBeforePublish---")
|
||||
defer logger.Infow("---Finishing TestMultinodeReceiveBeforePublish---")
|
||||
|
||||
s1, s2 := setupMultiNodeTest()
|
||||
defer s1.Stop()
|
||||
defer s2.Stop()
|
||||
_, _, finish := setupMultiNodeTest("TestMultinodeReceiveBeforePublish")
|
||||
defer finish()
|
||||
|
||||
scenarioReceiveBeforePublish(t)
|
||||
}
|
||||
@@ -114,12 +95,8 @@ func TestMultinodeReconnectAfterNodeShutdown(t *testing.T) {
|
||||
return
|
||||
}
|
||||
|
||||
logger.Infow("\n\n---Starting TestMultinodeReconnectAfterNodeShutdown---")
|
||||
defer logger.Infow("---Finishing TestMultinodeReconnectAfterNodeShutdown---")
|
||||
|
||||
s1, s2 := setupMultiNodeTest()
|
||||
defer s1.Stop()
|
||||
defer s2.Stop()
|
||||
_, s2, finish := setupMultiNodeTest("TestMultinodeReconnectAfterNodeShutdown")
|
||||
defer finish()
|
||||
|
||||
// creating room on node 1
|
||||
_, err := roomClient.CreateRoom(contextWithCreateRoomToken(), &livekit.CreateRoomRequest{
|
||||
|
||||
@@ -5,7 +5,6 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/livekit/livekit-server/pkg/logger"
|
||||
testclient "github.com/livekit/livekit-server/test/client"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
@@ -16,10 +15,8 @@ func TestClientCouldConnect(t *testing.T) {
|
||||
return
|
||||
}
|
||||
|
||||
s := setupSingleNodeTest(testRoom)
|
||||
defer func() {
|
||||
teardownTest(s, testRoom)
|
||||
}()
|
||||
_, finish := setupSingleNodeTest("TestClientCouldConnect", testRoom)
|
||||
defer finish()
|
||||
|
||||
c1 := createRTCClient("c1", defaultServerPort, nil)
|
||||
c2 := createRTCClient("c2", defaultServerPort, nil)
|
||||
@@ -41,13 +38,8 @@ func TestSinglePublisher(t *testing.T) {
|
||||
return
|
||||
}
|
||||
|
||||
logger.Infow("\n\n---Starting TestSinglePublisher---")
|
||||
defer logger.Infow("---Finishing TestSinglePublisher---")
|
||||
|
||||
s := setupSingleNodeTest(testRoom)
|
||||
defer func() {
|
||||
teardownTest(s, testRoom)
|
||||
}()
|
||||
s, finish := setupSingleNodeTest("TestSinglePublisher", testRoom)
|
||||
defer finish()
|
||||
|
||||
c1 := createRTCClient("c1", defaultServerPort, nil)
|
||||
c2 := createRTCClient("c2", defaultServerPort, nil)
|
||||
@@ -128,10 +120,8 @@ func TestAutoSubDisabled(t *testing.T) {
|
||||
return
|
||||
}
|
||||
|
||||
s := setupSingleNodeTest(testRoom)
|
||||
defer func() {
|
||||
teardownTest(s, testRoom)
|
||||
}()
|
||||
_, finish := setupSingleNodeTest("TestAutoSubDisabled", testRoom)
|
||||
defer finish()
|
||||
|
||||
opts := testclient.Options{AutoSubscribe: false}
|
||||
c1 := createRTCClient("c1", defaultServerPort, &opts)
|
||||
|
||||
Reference in New Issue
Block a user