refactor(securestore): store entire connection strings in SecureStore

Eliminates placeholder substitution (${KEY}) in favor of storing complete
connection strings as single encrypted values. SecureStore now auto-creates
entries for all connection strings defined in appsettings. ConfigManager
editor reads/writes values directly to SecureStore.
This commit is contained in:
Joseph Doherty
2026-01-23 14:44:04 -05:00
parent ba54a87be5
commit bfc1c8064a
16 changed files with 462 additions and 279 deletions
@@ -1,4 +1,5 @@
using Dapper;
using JdeScoping.Core.Interfaces;
using JdeScoping.DataAccess;
using JdeScoping.DataAccess.Interfaces;
using JdeScoping.DataSync.Dev.Configuration;
@@ -33,7 +34,17 @@ public class DevEtlPipelineFactoryTests
.AddEnvironmentVariables()
.Build();
_connectionFactory = new DbConnectionFactory(config, NullLogger<DbConnectionFactory>.Instance);
// Create a mock SecureStore that returns connection strings from configuration
var secureStore = Substitute.For<ISecureStoreService>();
// Setup the mock to return connection strings from config
secureStore.Get("LotFinder").Returns(config.GetConnectionString("LotFinder"));
secureStore.Get("JDE").Returns(config.GetConnectionString("JDE"));
secureStore.Get("JDEStage").Returns(config.GetConnectionString("JDEStage"));
secureStore.Get("CMS").Returns(config.GetConnectionString("CMS"));
secureStore.Get("GIW").Returns(config.GetConnectionString("GIW"));
_connectionFactory = new DbConnectionFactory(secureStore, NullLogger<DbConnectionFactory>.Instance);
_logger = NullLogger<EtlPipeline>.Instance;
_cacheDirectory = config["DevEtl:CacheDirectory"]
?? Path.Combine(Directory.GetCurrentDirectory(), "..", "..", "..", "..", "..", "CACHED_DB_FILES");