using CredentialManager.Data; using CredentialManager.Models; using CredentialManager.Services; using Microsoft.EntityFrameworkCore; Console.WriteLine("๐Ÿงช Testing SourceDatabaseName retrieval from credentials..."); // Configurazione del database temporaneo var options = new DbContextOptionsBuilder() .UseSqlite("Data Source=test_credential_db.db") .Options; using var context = new CredentialDbContext(options); await context.Database.EnsureCreatedAsync(); var credentialService = new CredentialService(context); // Test 1: Crea una credenziale database con nome database var testCredential = new DatabaseCredential { Name = "TestDatabaseCredential", DatabaseType = "SqlServer", Host = "localhost", Port = 1433, DatabaseName = "MyProductionDB", Username = "testuser", Password = "testpassword" }; Console.WriteLine($"๐Ÿ“ Creando credenziale con DatabaseName: {testCredential.DatabaseName}"); var credentialId = await credentialService.SaveDatabaseCredentialAsync(testCredential); Console.WriteLine($"โœ… Credenziale salvata con ID: {credentialId}"); // Test 2: Recupera la credenziale var retrievedCredential = await credentialService.GetDatabaseCredentialAsync(credentialId); Console.WriteLine($"โœ… Credenziale recuperata: {retrievedCredential?.Name}"); Console.WriteLine($" DatabaseName: {retrievedCredential?.DatabaseName}"); // Test 3: Simula il recupero del database name come farebbe ProfileSaver if (retrievedCredential != null && !string.IsNullOrEmpty(retrievedCredential.DatabaseName)) { Console.WriteLine($"โœ… SUCCESSO: DatabaseName recuperato dalle credenziali: {retrievedCredential.DatabaseName}"); } else { Console.WriteLine("โŒ ERRORE: DatabaseName non recuperato dalle credenziali"); } // Pulizia await context.Database.EnsureDeletedAsync(); Console.WriteLine("๐Ÿงน Database temporaneo eliminato"); Console.WriteLine("\n๐ŸŽฏ Test completato con successo!");