using Centron.Interfaces.BL; using Centron.BusinessLogic; using Centron.BusinessLogic.WebServices.Administration.CentronConfigDb; using Centron.BusinessLogic.WebServices.Finances.OnlineBanking; using Centron.Tests.EndToEnd.Infrastructure; using CentronSoftware.Centron.WebServices.Entities.Finances.OnlineBanking; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Centron.BusinessLogic.WebServices.PasswordManager; using Xunit; using Xunit.Abstractions; using Centron.Interfaces.Finances.OnlineBanking; using CentronSoftware.Centron.WebServices.Entities.PasswordManager; namespace Centron.Tests.EndToEnd.Tests.OnlineBanking { public class OnlineBankingConfigurationFinApiTest : EndToEndTest { public OnlineBankingConfigurationFinApiTest(ITestOutputHelper testOutputHelper) : base(testOutputHelper) { } public override void Execute() { this.PrepareDatabase(); // Create var savedFinApiConfig = this.CreateFinApiConfiguration(); // Load var finApiConfigurations = this.LoadFinApiConfigurations(); } private IList LoadFinApiConfigurations() { using var session = new BLSession(); var onlineBankingConfigurationBL = session.GetBL(); var user = this.GetLoggedInUser(); var filter1 = new OnlineBankingConfigurationsFilter() { ConfigurationType = OnlineBankingConfigurationType.SERVICE_FINAPI }; return onlineBankingConfigurationBL.GetOnlineBankingConfigurationsByFilter(filter1, isUnitTest: true).ThrowIfError(); } private void PrepareDatabase() { var user = this.GetLoggedInUser(); // Use file instead of config DB this.WithSession(f => f.GetBL().UpdatePasswordManagerSettings(user, new PasswordManagerSettingsDTO { IsPasswordManagerGuidelineManagementActive = false, SecondsUntilNewAuthentificationPasswordManagerAccess = 0, MasterPasswordSaveLocation = MasterPasswordSaveLocation.SecureFile, MasterPasswordSecureFileName = "TestMasterKey.txt" })); var masterkeySaveresult = this.WithSession(f => f.GetBL().SetHotlineMasterKey(user, "1234ABC567")).ThrowIfError(); Assert.True(masterkeySaveresult); } private OnlineBankingConfigurationFinApiDTO CreateFinApiConfiguration() { using var session = new BLSession(); var onlineBankingConfigurationBL = session.GetBL(); var user = this.GetLoggedInUser(); var finApiConfigDTO = new OnlineBankingConfigurationFinApiDTO() { Name = "FinAPI Testkonfiguration", Description = "Das ist eine Testkonfiguration für FinAPI", BranchI3D = null, CreatedByEmployeeI3D = user.UserI3D ?? 0, CreatedDate = DateTime.Now, CreatedVersion = "2409", ChangedByEmployeeI3D = user.UserI3D ?? 0, ChangedDate = DateTime.Now, ChangedVersion = "2409", UserAccountPassword = "test1", }; return (OnlineBankingConfigurationFinApiDTO) onlineBankingConfigurationBL.SaveOnlineBankingConfiguration(finApiConfigDTO, user).ThrowIfError(); } } }