From 7dfce95dc1855287421ea4e3ca947a2b5b4b48b3 Mon Sep 17 00:00:00 2001 From: EugeneTes Date: Thu, 23 Jul 2026 08:16:23 +0000 Subject: [PATCH] move linux config path to /opt/epson-print-service --- EpsonPrintService/ConfigurationPaths.cs | 2 +- .../Configuration/ConfigurationPathsTests.cs | 40 +++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 Inspectron.Epson.Tests/Configuration/ConfigurationPathsTests.cs diff --git a/EpsonPrintService/ConfigurationPaths.cs b/EpsonPrintService/ConfigurationPaths.cs index 2243a8d..1ddf821 100644 --- a/EpsonPrintService/ConfigurationPaths.cs +++ b/EpsonPrintService/ConfigurationPaths.cs @@ -4,7 +4,7 @@ namespace EpsonPrintService; public static class ConfigurationPaths { - private const string LinuxConfigDir = "/root/epsonprintservice"; + private const string LinuxConfigDir = "/opt/epson-print-service"; private const string LocalConfigFileName = "config.txt"; public static string GetConfigPath() diff --git a/Inspectron.Epson.Tests/Configuration/ConfigurationPathsTests.cs b/Inspectron.Epson.Tests/Configuration/ConfigurationPathsTests.cs new file mode 100644 index 0000000..e9eb198 --- /dev/null +++ b/Inspectron.Epson.Tests/Configuration/ConfigurationPathsTests.cs @@ -0,0 +1,40 @@ +using System.Runtime.InteropServices; +using EpsonPrintService; + +namespace Inspectron.Epson.Tests.Configuration; + +public class ConfigurationPathsTests +{ + [Fact] + public void GetConfigPath_uses_opt_dir_on_linux_when_env_unset_and_no_local_file() + { + if (!RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) return; + var previous = Environment.GetEnvironmentVariable("EPSON_CONFIG_PATH"); + Environment.SetEnvironmentVariable("EPSON_CONFIG_PATH", null); + try + { + var path = ConfigurationPaths.GetConfigPath(); + Assert.Equal("/opt/epson-print-service/config.txt", path); + } + finally + { + Environment.SetEnvironmentVariable("EPSON_CONFIG_PATH", previous); + } + } + + [Fact] + public void EPSON_CONFIG_PATH_override_still_wins() + { + var previous = Environment.GetEnvironmentVariable("EPSON_CONFIG_PATH"); + Environment.SetEnvironmentVariable("EPSON_CONFIG_PATH", "/tmp/override.txt"); + try + { + var path = ConfigurationPaths.GetConfigPath(); + Assert.Equal("/tmp/override.txt", path); + } + finally + { + Environment.SetEnvironmentVariable("EPSON_CONFIG_PATH", previous); + } + } +}