Files
Michael McGuinness 61d12bf8df Merged in feature/checkbox (pull request #145)
Checkbox Primary Edge Cases

* hascheckboxlogic

* gen

* preppinggen

* exploringcheckbox

* removeunselected

* tests

* failingtest

* failintests

* nomockqueryapi

* db

* name

* nocontainer

* deleterow

* cnc

* extradocsandupdatetextracts

* moretables

* appndedtables

* baseversion
2025-05-20 12:47:22 +00:00

65 lines
1.2 KiB
Go

package threadpool
import (
"log/slog"
"testing"
"queryorchestration/internal/serviceconfig/logger"
"github.com/stretchr/testify/assert"
)
func TestSetThreadPool(t *testing.T) {
cfg := &ThreadPoolConfig{}
l := &logger.TestLogger{
T: t,
}
sl := slog.New(l)
cfg.StartThreadPool(sl)
assert.Equal(t, 120, cfg.MonitorInterval)
assert.LessOrEqual(t, 10, cfg.MaxWorkers)
assert.NotNil(t, cfg.pool)
}
func TestStopAndWait(t *testing.T) {
cfg := &ThreadPoolConfig{}
l := &logger.TestLogger{
T: t,
}
sl := slog.New(l)
cfg.MonitorInterval = 1
cfg.StartThreadPool(sl)
assert.Equal(t, 1, cfg.MonitorInterval)
assert.LessOrEqual(t, 10, cfg.MaxWorkers)
assert.NotNil(t, cfg.pool)
pool := cfg.GetThreadPool()
for i := range 2 {
index := i
pool.Submit(func() {
sl.Info("new thread", "index", index)
})
}
cfg.ThreadPoolStopAndWait()
}
func TestGetMaxWorkers(t *testing.T) {
cfg := ThreadPoolConfig{}
assert.Equal(t, 0, cfg.GetMaxWorkers())
cfg.MaxWorkers = 100
assert.Equal(t, 100, cfg.GetMaxWorkers())
}
func TestGetMonitorInterval(t *testing.T) {
cfg := ThreadPoolConfig{}
assert.Equal(t, 0, cfg.GetThreadMonitorInterval())
cfg.MonitorInterval = 100
assert.Equal(t, 100, cfg.GetThreadMonitorInterval())
}