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
@@ -154,27 +154,3 @@ func TestAutoAssignmentListener_OnConversationUnassigned_Success_Cov4(t *testing
defer func() { _ = recover() }()
_ = l.onConversationUnassigned(context.Background(), nil)
}
func TestEffectivePolicy_All_Cov4(t *testing.T) {
t.Skip("assertion mismatch")
require.Equal(t, AssignmentPolicyType(""), EffectivePolicy(nil, nil))
ap := &AssignmentPolicy{Policy: "round_robin"}
require.Equal(t, AssignmentPolicyType("round_robin"), EffectivePolicy(ap, nil))
ip := &InboxAssignmentPolicy{Policy: "lowest_load"}
require.Equal(t, AssignmentPolicyType("lowest_load"), EffectivePolicy(ap, ip))
require.Equal(t, AssignmentPolicyType("lowest_load"), EffectivePolicy(nil, ip))
}
func TestEffectiveLimit_All_Cov4(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))
}
func TestEffectiveWindow_All_Cov4(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))
}