Files
new-api-custom/service/probe_history_test.go
cneicy ceddfd3d6b feat: sync deployed v1.0.0-rc.38-custom.42
Sync production source including routing, billing, Astra detection and public uptime. Update custom build instructions and license packaging.
2026-09-26 04:49:11 +08:00

22 lines
792 B
Go

package service
import (
"github.com/QuantumNous/new-api/common"
"github.com/QuantumNous/new-api/model"
"github.com/stretchr/testify/assert"
"testing"
)
func TestGroupProbeHistoryKeepsLatestEighteen(t *testing.T) {
tasks := []model.SystemTask{}
for i := 20; i > 0; i-- {
state, _ := common.Marshal(ChannelAvailabilityState{Rounds: []ChannelAvailabilityRound{{ChannelID: 1, At: int64(i), Success: i != 20}, {ChannelID: 2, At: int64(i), Success: true}}})
tasks = append(tasks, model.SystemTask{Type: model.SystemTaskTypeChannelAvailability, State: string(state)})
}
history := GroupProbeHistory([]int{1, 2}, tasks)
assert.Len(t, history, 18)
assert.Equal(t, int64(3), history[0].At)
assert.Equal(t, 2, history[17].Status)
assert.Empty(t, GroupProbeHistory([]int{3}, tasks))
}