- TraderMonitorService las API-Preise kulturabhaengig: unter de-DE wurde aus "0.53" der Wert 53 (Faktor-100-Fehler im Einstandspreis). Nutzt jetzt den bereits vorhandenen invarianten Helper ParseDecimal. - Gleiche Fehlerklasse in PolymarketClobClient (6x) und MasterTraderAnalyticsJob vorsorglich auf InvariantCulture gestellt. - Neuer Regressionstest ApiNumberParsingTests (10 Faelle unter erzwungener de-DE-Kultur). - Threema komplett entfernt (Entscheidung Richard): ThreemaService, vendorte Bibliothek libs/Threema-MsgApi-Net-Core, ServerSettings-Block, DI-Verdrahtung. - Ersetzt durch neutrale INotificationSink (No-Throw-Vertrag) + LogNotificationSink als Uebergang; RocketChat/Telegram folgen spaeter. - Entfernt nebenbei libsodium 1.0.16, die einzige Registry-Nutzung im Build, den HttpListener-Webhook und System.Web.HttpUtility (alles Linux-Hindernisse). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
24 lines
836 B
C#
24 lines
836 B
C#
using System.Collections.Generic;
|
||
using System.Threading;
|
||
using System.Threading.Tasks;
|
||
using PolyTrader.Core.Notifications;
|
||
|
||
namespace PolyTrader.Tests.Fakes
|
||
{
|
||
/// <summary>
|
||
/// In-Memory-Stub des Benachrichtigungsausgangs – Tests können asserten, WAS gemeldet wurde
|
||
/// (zuvor bekamen die Tests eine echte ThreemaService-Instanz, die nichts prüfbar machte).
|
||
/// </summary>
|
||
public sealed class FakeNotificationSink : INotificationSink
|
||
{
|
||
public List<(string Message, NotificationSeverity Severity)> Sent { get; } = new();
|
||
|
||
public Task SendAsync(string message, NotificationSeverity severity = NotificationSeverity.Info,
|
||
CancellationToken ct = default)
|
||
{
|
||
Sent.Add((message, severity));
|
||
return Task.CompletedTask;
|
||
}
|
||
}
|
||
}
|