mirror of
https://github.com/livekit/livekit.git
synced 2026-05-11 21:14:58 +00:00
cac6d22a72
* store cpu load in node stats * num cpus uint32 * cpu load selector test * dep update
38 lines
866 B
Go
38 lines
866 B
Go
package selector_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
"github.com/livekit/protocol/livekit"
|
|
|
|
"github.com/livekit/livekit-server/pkg/routing/selector"
|
|
)
|
|
|
|
func TestCPULoadSelector_SelectNode(t *testing.T) {
|
|
sel := selector.CPULoadSelector{CPULoadLimit: 0.8}
|
|
|
|
var nodes []*livekit.Node
|
|
_, err := sel.SelectNode(nodes)
|
|
require.Error(t, err, "should error no available nodes")
|
|
|
|
// Select a node with high load when no nodes with low load are available
|
|
nodes = []*livekit.Node{nodeLoadHigh}
|
|
if _, err := sel.SelectNode(nodes); err != nil {
|
|
t.Error(err)
|
|
}
|
|
|
|
// Select a node with low load when available
|
|
nodes = []*livekit.Node{nodeLoadLow, nodeLoadHigh}
|
|
for i := 0; i < 5; i++ {
|
|
node, err := sel.SelectNode(nodes)
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
if node != nodeLoadLow {
|
|
t.Error("selected the wrong node")
|
|
}
|
|
}
|
|
}
|