34 lines
649 B
Go
34 lines
649 B
Go
|
|
package client
|
||
|
|
|
||
|
|
import (
|
||
|
|
serverconfig "cursor/internal/backend/server/config"
|
||
|
|
"cursor/internal/certs"
|
||
|
|
"fmt"
|
||
|
|
"sync"
|
||
|
|
"testing"
|
||
|
|
)
|
||
|
|
|
||
|
|
func TestStatePollingDuringProxyInitialization(t *testing.T) {
|
||
|
|
ca, err := certs.LoadOrCreateLocalCA(t.TempDir())
|
||
|
|
if err != nil {
|
||
|
|
t.Fatal(err)
|
||
|
|
}
|
||
|
|
service := &ProxyService{certManager: ca}
|
||
|
|
cfg := serverconfig.DefaultConfig()
|
||
|
|
var wg sync.WaitGroup
|
||
|
|
wg.Add(1)
|
||
|
|
go func() {
|
||
|
|
defer wg.Done()
|
||
|
|
for range 300 {
|
||
|
|
_ = service.GetState()
|
||
|
|
}
|
||
|
|
}()
|
||
|
|
for i := range 30 {
|
||
|
|
cfg.ProxyListenAddr = fmt.Sprintf("127.0.0.1:%d", 30000+i)
|
||
|
|
if err := service.ensureProxy(cfg); err != nil {
|
||
|
|
t.Fatal(err)
|
||
|
|
}
|
||
|
|
}
|
||
|
|
wg.Wait()
|
||
|
|
}
|