Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

43 wiersze
1.3KB

  1. using Campaign_Tracker.Server.Configuration;
  2. using Microsoft.Extensions.Configuration;
  3. namespace Campaign_Tracker.Server.Tests;
  4. public sealed class DotEnvConfigurationTests : IDisposable
  5. {
  6. private readonly string _rootPath;
  7. private readonly string _serverPath;
  8. public DotEnvConfigurationTests()
  9. {
  10. _rootPath = Path.Combine(Path.GetTempPath(), $"campaign-tracker-env-{Guid.NewGuid():N}");
  11. _serverPath = Path.Combine(_rootPath, "Campaign_Tracker.Server");
  12. Directory.CreateDirectory(_serverPath);
  13. }
  14. [Fact]
  15. public void Load_OverridesAppsettingsPlaceholderWithRootEnvValue()
  16. {
  17. File.WriteAllText(
  18. Path.Combine(_rootPath, ".env"),
  19. "Keycloak__ClientSecret=secret-from-env");
  20. var configuration = new ConfigurationManager();
  21. configuration.AddInMemoryCollection(new Dictionary<string, string?>
  22. {
  23. ["Keycloak:ClientSecret"] = "REPLACE-ON-SERVER",
  24. });
  25. DotEnvConfiguration.Load(configuration, _serverPath);
  26. Assert.Equal("secret-from-env", configuration["Keycloak:ClientSecret"]);
  27. }
  28. public void Dispose()
  29. {
  30. if (Directory.Exists(_rootPath))
  31. {
  32. Directory.Delete(_rootPath, recursive: true);
  33. }
  34. }
  35. }

Powered by TurnKey Linux.