feat(publish): 爬虫入库直写正式表,驳回行可复用重审
This commit is contained in:
@ -84,3 +84,26 @@ func TestIngestRetryBackoff(t *testing.T) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TestDecideIngestAction 入库三分支决策:未命中→新建;命中 pending/published→放弃;命中 rejected→复用重审。
|
||||
// 这是「驳回不是永久黑名单」这条规则的直接证据。
|
||||
func TestDecideIngestAction(t *testing.T) {
|
||||
cases := []struct {
|
||||
name string
|
||||
found bool
|
||||
status string
|
||||
want ingestActionKind
|
||||
}{
|
||||
{"未命中→新建", false, "", ingestCreate},
|
||||
{"命中 pending→放弃", true, model.StatusPending, ingestSkip},
|
||||
{"命中 published→放弃", true, model.StatusPublished, ingestSkip},
|
||||
{"命中 rejected→复用重审", true, model.StatusRejected, ingestReuseRejected},
|
||||
}
|
||||
for _, c := range cases {
|
||||
t.Run(c.name, func(t *testing.T) {
|
||||
if got := decideIngestAction(c.found, c.status); got != c.want {
|
||||
t.Fatalf("decideIngestAction(%v, %q) = %v, want %v", c.found, c.status, got, c.want)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user