fix media supply citation attribution
Desktop Client Build / Resolve Build Metadata (push) Successful in 26s
Frontend CI / Frontend (push) Successful in 2m53s
Backend CI / Backend (push) Successful in 16m37s
Desktop Client Build / Build Desktop Client (push) Successful in 23m40s
Desktop Client Build / Publish Client Artifacts to NAS (push) Successful in 28s
Desktop Client Build / Resolve Build Metadata (push) Successful in 26s
Frontend CI / Frontend (push) Successful in 2m53s
Backend CI / Backend (push) Successful in 16m37s
Desktop Client Build / Build Desktop Client (push) Successful in 23m40s
Desktop Client Build / Publish Client Artifacts to NAS (push) Successful in 28s
This commit is contained in:
@@ -583,6 +583,38 @@ func TestBuildMonitoringCitationFactResolvesContentForQwen(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestBuildMonitoringCitationFactResolvesMediaSupplyContentSource(t *testing.T) {
|
||||
aliasArticleID := int64(42)
|
||||
sourceID := int64(9001)
|
||||
normalizedURL := "https://example.com/submitted/article"
|
||||
input := MonitoringSourceItem{
|
||||
URL: "https://example.com/submitted/article?utm_source=chat",
|
||||
NormalizedURL: &normalizedURL,
|
||||
}
|
||||
aliasMap := map[string]monitoringAliasResolution{
|
||||
normalizedURL: {
|
||||
ArticleID: &aliasArticleID,
|
||||
NormalizedURLKey: normalizedURL,
|
||||
SourceType: monitoringContentSourceMediaSupplyOrderItem,
|
||||
SourceID: &sourceID,
|
||||
},
|
||||
}
|
||||
|
||||
fact, ok := buildMonitoringCitationFact(input, aliasMap, true)
|
||||
if !ok {
|
||||
t.Fatal("buildMonitoringCitationFact() returned !ok")
|
||||
}
|
||||
if fact.ArticleID == nil || *fact.ArticleID != aliasArticleID {
|
||||
t.Fatalf("ArticleID = %v, want %d", fact.ArticleID, aliasArticleID)
|
||||
}
|
||||
if fact.ContentSourceType == nil || *fact.ContentSourceType != monitoringContentSourceMediaSupplyOrderItem {
|
||||
t.Fatalf("ContentSourceType = %v, want %q", fact.ContentSourceType, monitoringContentSourceMediaSupplyOrderItem)
|
||||
}
|
||||
if fact.ContentSourceID == nil || *fact.ContentSourceID != sourceID {
|
||||
t.Fatalf("ContentSourceID = %v, want %d", fact.ContentSourceID, sourceID)
|
||||
}
|
||||
}
|
||||
|
||||
func TestScoreMonitoringAliasCandidateUsesCanonicalArticleKey(t *testing.T) {
|
||||
input := monitoringAliasLookupInput{
|
||||
NormalizedURL: "https://m.163.com/dy/article/KRPRE8DJ0556MCR0.html",
|
||||
@@ -613,6 +645,70 @@ func TestScoreMonitoringAliasCandidateRejectsSameDomainDifferentArticle(t *testi
|
||||
}
|
||||
}
|
||||
|
||||
func TestMonitoringPublishedAliasIndexMatchesMediaSupplySubmission(t *testing.T) {
|
||||
index := make(monitoringPublishedAliasIndex)
|
||||
sourceID := int64(9001)
|
||||
mediaAlias := monitoringPublishedAlias{
|
||||
ArticleID: 42,
|
||||
ArticleTitle: "投稿文章",
|
||||
PublishPlatform: monitoringMediaSupplySubmissionCitationLabel,
|
||||
OriginalURL: "https://m.example.com/submitted/article?id=123&utm_source=chat",
|
||||
NormalizedURL: "https://www.example.com/submitted/article?id=123",
|
||||
SourceType: monitoringContentSourceMediaSupplyOrderItem,
|
||||
SourceID: sourceID,
|
||||
SourcePriority: 1,
|
||||
}
|
||||
|
||||
addMonitoringPublishedAliasToIndex(index, mediaAlias)
|
||||
|
||||
match, ok := index.Match(
|
||||
"https://www.example.com/submitted/article?id=123&utm_medium=ai",
|
||||
"https://www.example.com/submitted/article?id=123",
|
||||
)
|
||||
if !ok {
|
||||
t.Fatal("Match() = false, want media supply alias match")
|
||||
}
|
||||
if match.SourceType != monitoringContentSourceMediaSupplyOrderItem {
|
||||
t.Fatalf("SourceType = %q, want %q", match.SourceType, monitoringContentSourceMediaSupplyOrderItem)
|
||||
}
|
||||
if match.SourceID != sourceID {
|
||||
t.Fatalf("SourceID = %d, want %d", match.SourceID, sourceID)
|
||||
}
|
||||
}
|
||||
|
||||
func TestMonitoringPublishedAliasIndexPrefersMediaSupplySubmission(t *testing.T) {
|
||||
index := make(monitoringPublishedAliasIndex)
|
||||
normalizedURL := "https://www.example.com/submitted/article?id=123"
|
||||
|
||||
addMonitoringPublishedAliasToIndex(index, monitoringPublishedAlias{
|
||||
ArticleID: 42,
|
||||
OriginalURL: normalizedURL,
|
||||
NormalizedURL: normalizedURL,
|
||||
SourceType: monitoringContentSourcePublishedArticle,
|
||||
SourceID: 42,
|
||||
SourcePriority: 2,
|
||||
})
|
||||
addMonitoringPublishedAliasToIndex(index, monitoringPublishedAlias{
|
||||
ArticleID: 42,
|
||||
OriginalURL: normalizedURL,
|
||||
NormalizedURL: normalizedURL,
|
||||
SourceType: monitoringContentSourceMediaSupplyOrderItem,
|
||||
SourceID: 9001,
|
||||
SourcePriority: 1,
|
||||
})
|
||||
|
||||
match, ok := index.Match(normalizedURL, normalizedURL)
|
||||
if !ok {
|
||||
t.Fatal("Match() = false, want media supply alias match")
|
||||
}
|
||||
if match.SourceType != monitoringContentSourceMediaSupplyOrderItem {
|
||||
t.Fatalf("SourceType = %q, want %q", match.SourceType, monitoringContentSourceMediaSupplyOrderItem)
|
||||
}
|
||||
if match.SourceID != 9001 {
|
||||
t.Fatalf("SourceID = %d, want 9001", match.SourceID)
|
||||
}
|
||||
}
|
||||
|
||||
func TestBuildMonitoringRawPayloadDeepSeekIncludesSearchResultsInCitationInputs(t *testing.T) {
|
||||
searchTitle := "搜索网页结果"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user