mirror of
https://github.com/iflytek/skillhub.git
synced 2026-11-14 09:01:16 +00:00
27 lines
993 B
Go
27 lines
993 B
Go
package main
|
|
|
|
import (
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func TestLoadConfigBoundsRepositoryWorkersByTotalWorkspace(t *testing.T) {
|
|
t.Setenv("SKILLHUB_GITHUB_SYNC_JAVA_URL", "http://127.0.0.1:8080/internal/github-sync/v1")
|
|
t.Setenv("SKILLHUB_GITHUB_SYNC_SERVICE_TOKEN", strings.Repeat("t", 32))
|
|
t.Setenv("SKILLHUB_GITHUB_SYNC_TEMP_ROOT", t.TempDir())
|
|
t.Setenv("SKILLHUB_GITHUB_SYNC_MAX_WORKSPACE_BYTES", "33554432")
|
|
t.Setenv("SKILLHUB_GITHUB_SYNC_TOTAL_WORKSPACE_BYTES", "67108864")
|
|
t.Setenv("SKILLHUB_GITHUB_SYNC_MIN_FREE_BYTES", "8388608")
|
|
t.Setenv("SKILLHUB_GITHUB_SYNC_REPOSITORY_WORKERS", "2")
|
|
|
|
settings, err := loadConfig()
|
|
if err != nil || settings.Pool.RepositoryWorkers != 2 {
|
|
t.Fatalf("two workers within the total budget should start: workers=%d, err=%v",
|
|
settings.Pool.RepositoryWorkers, err)
|
|
}
|
|
|
|
t.Setenv("SKILLHUB_GITHUB_SYNC_REPOSITORY_WORKERS", "3")
|
|
if _, err := loadConfig(); err == nil {
|
|
t.Fatal("workers exceeding the total workspace budget must be rejected")
|
|
}
|
|
}
|