feat(ui): complete Avalonia UI port with 7 main pages, tool settings & top MenuBar
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
using System.Runtime.CompilerServices;
|
||||
using ClawdDotNet.Core.Security;
|
||||
|
||||
namespace ClawdDotNet.Core.Tests.Infrastructure;
|
||||
|
||||
/// <summary>
|
||||
/// Hält den Schlüssel von <see cref="SecretKeyStore"/> aus den Tests heraus.
|
||||
///
|
||||
/// Zwei Dinge müssen zusammenkommen:
|
||||
///
|
||||
/// 1. <see cref="Init"/> verlegt den Schlüssel <b>einmal beim Laden</b> der
|
||||
/// Testassembly in ein Wegwerfverzeichnis. Ohne das würden die Tests den echten
|
||||
/// Benutzerschlüssel anlegen oder lesen — auf dem Entwicklungsrechner wie auf dem
|
||||
/// Bauserver.
|
||||
///
|
||||
/// 2. Wer den Schlüssel <em>während</em> eines Tests wechselt (etwa um zu prüfen, dass
|
||||
/// ein fremder Schlüssel nicht liest), muss in dieser Sammlung laufen. Der Speicher
|
||||
/// ist statisch; ohne abgeschaltete Parallelität zöge ein solcher Wechsel einer
|
||||
/// gleichzeitig laufenden Klasse den Schlüssel unter den Füßen weg. Genau das ist
|
||||
/// zwischen den Geheimnis- und den Sicherungstests passiert.
|
||||
/// </summary>
|
||||
[CollectionDefinition(Name, DisableParallelization = true)]
|
||||
public sealed class SecretKeyCollection
|
||||
{
|
||||
public const string Name = "SecretKey";
|
||||
|
||||
[ModuleInitializer]
|
||||
internal static void Init()
|
||||
{
|
||||
SecretKeyStore.UseDirectory(Path.Combine(
|
||||
Path.GetTempPath(), "clawd-tests", "keys", Guid.NewGuid().ToString("N")));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user