YouTube-Tab: Server-User brauchen keine eigene Baka-Anmeldung mehr
Server-User (Dustin, Baka, Tinker) melden sich beim Öffnen des YouTube-Bereichs automatisch im Hintergrund mit ihren Navidrome- Zugangsdaten beim Baka-Konto an (BakaAuth.autoAnmelden) — die manuelle Anmeldung bleibt nur für Gäste sichtbar. Schlägt die Auto-Anmeldung fehl, gibt es einen Rückfallweg zur manuellen Anmeldung, statt den User auszusperren. Login-Buttons vergrößert. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CcDiyJdVRqh1TtJk5JiabX
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
f0313724d4
commit
f604dc7635
@@ -85,6 +85,50 @@ void main() {
|
||||
expect(auth.benutzer, 'Baka');
|
||||
});
|
||||
|
||||
test('autoAnmelden meldet mit den übergebenen Zugangsdaten an', () async {
|
||||
late String gesendet;
|
||||
final client = MockClient((req) async {
|
||||
gesendet = req.body;
|
||||
return http.Response(jsonEncode({'token': 'jwt-server'}), 200);
|
||||
});
|
||||
final auth = BakaAuth(client: client, speicher: _MemorySpeicher());
|
||||
|
||||
await auth.autoAnmelden('Tinker', 'geheim2');
|
||||
|
||||
expect(auth.istAngemeldet, isTrue);
|
||||
expect(auth.benutzer, 'Tinker');
|
||||
expect(jsonDecode(gesendet), {'username': 'Tinker', 'password': 'geheim2'});
|
||||
});
|
||||
|
||||
test('autoAnmelden greift nicht ein, wenn schon angemeldet', () async {
|
||||
var aufrufe = 0;
|
||||
final client = MockClient((_) async {
|
||||
aufrufe++;
|
||||
return http.Response(jsonEncode({'token': 'jwt-abc'}), 200);
|
||||
});
|
||||
final auth = BakaAuth(client: client, speicher: _MemorySpeicher());
|
||||
await auth.anmelden('Baka', 'geheim');
|
||||
|
||||
await auth.autoAnmelden('Tinker', 'geheim2');
|
||||
|
||||
expect(aufrufe, 1);
|
||||
expect(auth.benutzer, 'Baka');
|
||||
});
|
||||
|
||||
test('autoAnmelden tut nichts ohne Zugangsdaten', () async {
|
||||
var aufrufe = 0;
|
||||
final client = MockClient((_) async {
|
||||
aufrufe++;
|
||||
return http.Response(jsonEncode({'token': 'jwt'}), 200);
|
||||
});
|
||||
final auth = BakaAuth(client: client, speicher: _MemorySpeicher());
|
||||
|
||||
await auth.autoAnmelden('', '');
|
||||
|
||||
expect(aufrufe, 0);
|
||||
expect(auth.istAngemeldet, isFalse);
|
||||
});
|
||||
|
||||
test('Abmelden löscht Token und Benutzer aus dem Speicher', () async {
|
||||
final speicher = _MemorySpeicher();
|
||||
final auth = BakaAuth(
|
||||
|
||||
Reference in New Issue
Block a user