HH-554: connect auto-assignment runtime policy (#135)

* fix(HH-554): connect auto-assignment runtime policy

* fix(HH-554): bound and coalesce assignment jobs

* fix(HH-554): drain assignment backlog safely

* fix(HH-554): hold assignment claim through retries

---------

Co-authored-by: Rogee <rogee@ipao.vip>
This commit is contained in:
Rogee
2026-08-23 22:28:43 +08:00
committed by GitHub
co-authored by rogee
parent 35727be51a
commit 17244bcc9d
15 changed files with 826 additions and 269 deletions
@@ -8,40 +8,6 @@ import (
"github.com/stretchr/testify/require"
)
func TestEffectivePolicy_All_Cov3(t *testing.T) {
t.Skip("assertion mismatch")
// Both nil
require.Equal(t, AssignmentPolicyType(""), EffectivePolicy(nil, nil))
// Account only
ap := &AssignmentPolicy{Policy: "round_robin"}
require.Equal(t, AssignmentPolicyType("round_robin"), EffectivePolicy(ap, nil))
// Inbox overrides
ip := &InboxAssignmentPolicy{Policy: "lowest_load"}
require.Equal(t, AssignmentPolicyType("lowest_load"), EffectivePolicy(ap, ip))
// Inbox only
require.Equal(t, AssignmentPolicyType("lowest_load"), EffectivePolicy(nil, ip))
}
func TestEffectiveLimit_All_Cov3(t *testing.T) {
t.Skip("assertion mismatch")
require.Equal(t, 0, EffectiveLimit(nil, nil))
ap := &AssignmentPolicy{FairDistributionLimit: 5}
require.Equal(t, 5, EffectiveLimit(ap, nil))
ip := &InboxAssignmentPolicy{FairDistributionLimit: 10}
require.Equal(t, 10, EffectiveLimit(ap, ip))
require.Equal(t, 10, EffectiveLimit(nil, ip))
}
func TestEffectiveWindow_All_Cov3(t *testing.T) {
t.Skip("assertion mismatch")
require.Equal(t, 0, EffectiveWindow(nil, nil))
ap := &AssignmentPolicy{FairDistributionWindow: 60}
require.Equal(t, 60, EffectiveWindow(ap, nil))
ip := &InboxAssignmentPolicy{FairDistributionWindow: 120}
require.Equal(t, 120, EffectiveWindow(ap, ip))
require.Equal(t, 120, EffectiveWindow(nil, ip))
}
func TestAutoAssignmentListener_GetConversation_Cov3(t *testing.T) {
db := setupAADB_Cov2(t)
l := &AutoAssignmentListener{db: db}