Лента событий: убраны уведомления о сроках чужих сертификатов

После запуска (вместе с первой проверкой сроков) из ленты и главной уходят
уведомления «Сертификат ключа организации…» по сертификатам не нашей
организации и «Сертификат НРД/биржи в справочнике ИШ…» — на 9 их 22, все по
чужим (Сбербанк и др.). Свои остаются. RuntimeConfig.RemoveNews.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q7eREaYwUt1i4fNLZcGnjn
This commit is contained in:
fontvielle
2026-10-22 12:16:57 +03:00
parent ad6b52f5fa
commit da302c6d69
3 changed files with 87 additions and 0 deletions
+34
View File
@@ -837,3 +837,37 @@ func TestKeyInstallProblem(t *testing.T) {
}
}
}
// Из ленты уходят уведомления о сроках чужих сертификатов и сертификатов НРД/биржи; свои остаются.
func TestCertNewsCleanup(t *testing.T) {
rc, err := NewRuntimeConfig(filepath.Join(t.TempDir(), "setup.json"))
if err != nil {
t.Fatal(err)
}
nsd := rc.Snapshot().NSD
nsd.OrgINN = "7703807489"
_ = rc.UpdateNSD(nsd)
certs := rc.Snapshot().NSDCerts
certs.LastStore = []NSDStoreCert{
{Kind: "x509", Subject: "O=ООО ИК Фонтвьель,CN=Лапшина,INN=007703807489", SubjectCN: "Лапшина", Serial: "AA"},
{Kind: "x509", Subject: "O=ПАО Сбербанк,CN=Исакова,INN=007707083893", SubjectCN: "Исакова", Serial: "BB"},
}
_ = rc.UpdateNSDCerts(certs)
for i, it := range []NewsItem{
{Title: "Сертификат ключа организации истекает через 30 дн.", Body: "Сертификат «Лапшина» (издатель «УЦ», серийный номер AA) действует"},
{Title: "Сертификат ключа организации истекает сегодня", Body: "Сертификат «Исакова» (издатель «УЦ», серийный номер BB) действует"},
{Title: "Сертификат Московская Биржа в справочнике ИШ истекает через 3 дн.", Body: "…"},
{Title: "Служба «служба ключей Валидаты» не работает", Body: "…"},
} {
it.ID, it.Kind = fmt.Sprintf("n%d", i), "system"
_ = rc.AddNews(it)
}
certNewsCleanup(rc)
var titles []string
for _, it := range rc.Snapshot().News.Items {
titles = append(titles, it.Title)
}
if len(titles) != 2 || !strings.Contains(strings.Join(titles, "|"), "30 дн.") || !strings.Contains(strings.Join(titles, "|"), "Валидаты") {
t.Fatalf("осталось: %q", titles)
}
}