feat: set-password CLI-Befehl für Passwort-Reset
create-user lehnt einen bereits existierenden Nutzernamen ab und UserStore hatte keinen Weg, ein Passwort nachträglich zu ändern - einzige Alternative wäre manuelles Editieren der LiteDB-Binärdatei gewesen. Neuer Befehl set-password <benutzername> [--password <pw>] nach demselben Muster wie create-user (Cli.ParsePassword extrahiert, von beiden Befehlen geteilt). docker/README.md ergänzt. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -43,6 +43,27 @@ public sealed class UserStoreTests
|
||||
Assert.False(temp.Store.VerifyPassword("unbekannt", "irgendwas"));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void SetPassword_VorhandenerNutzer_AktualisiertPasswortUndAltesFunktioniertNichtMehr()
|
||||
{
|
||||
using var temp = new TempUserStore();
|
||||
temp.Store.CreateUser("sebastian", "altesPasswort123");
|
||||
|
||||
var updated = temp.Store.SetPassword("sebastian", "neuesPasswort123");
|
||||
|
||||
Assert.True(updated);
|
||||
Assert.True(temp.Store.VerifyPassword("sebastian", "neuesPasswort123"));
|
||||
Assert.False(temp.Store.VerifyPassword("sebastian", "altesPasswort123"));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void SetPassword_UnbekannterNutzer_GibtFalseZurueck()
|
||||
{
|
||||
using var temp = new TempUserStore();
|
||||
|
||||
Assert.False(temp.Store.SetPassword("unbekannt", "irgendeinPasswort"));
|
||||
}
|
||||
|
||||
private sealed class TempUserStore : IDisposable
|
||||
{
|
||||
private readonly string _directory = Path.Combine(
|
||||
|
||||
Reference in New Issue
Block a user