diff --git a/README.md b/README.md index 375f026..bbb6212 100644 --- a/README.md +++ b/README.md @@ -506,10 +506,10 @@ Run from the repo root. Writes one `.html` file per option that appears in the m **Codebase overview:** - **Entry and config:** `Program.cs` wires the host; configuration (e.g. `Dnsmasq__*`) lives in `Models/Config/` (`DnsmasqOptions`, `ApplicationOptions`, `DnsmasqOptionsValidator`). Options are validated at startup. -- **Infrastructure:** Under `Infrastructure/`: **Client/** (HTTP API clients and `Abstractions/`), **Services/** and **Services/Abstractions/** (caches, config/hosts/leases services, reload, hosted services), **Parsers/** (dnsmasq config and hosts line parsers), **Helpers/Config/** and **Helpers/Http/** (option keys, encoding, tooltips, JSON options). A **managed** config file and optional managed hosts file are written by the app; the main config must include the managed file (e.g. via a final `conf-file=` line). Caches (`ConfigSetCache`, `HostsCache`) keep in-memory snapshots and refresh on file changes or staleness. +- **Infrastructure:** Under `Infrastructure/`: **Client/** (HTTP API clients and `Abstractions/`), **Serialization/Parsers/** (Dnsmasq version/compile, DnsmasqConfig conf-line and include parsers, EffectiveConfig syntax helpers), **Services/** (caches, config/hosts/leases services, reload, hosted services; EffectiveConfig has Metadata, Rendering, Editing, Validation, Readonly), **Helpers/Config/** (file encoding for config/hosts), **Helpers/Http/** (HTTP helpers). A **managed** config file and optional managed hosts file are written by the app; the main config must include the managed file (e.g. via a final `conf-file=` line). Caches (`ConfigSetCache`, `HostsCache`) keep in-memory snapshots and refresh on file changes or staleness. - **Models:** `Models/Config/` (options, validators, `DnsmasqConfLine`); `Models/Contracts/` (snapshots and DTOs such as `ConfigSetSnapshot`, `HostsSnapshot`, `ManagedConfigContent`, `ProcessRunResult`, `ReloadResult`); `Models/Dnsmasq/` (status, `SaveWithReloadResult`, and `EffectiveConfig/` for effective config and sources); `Models/Client/`, `Models/Dhcp/`, `Models/Hosts/` (UI and API DTOs). - **API and UI:** `Controllers/` expose API endpoints; `Components/` contains Blazor Server components for config editor, hosts, DHCP, Dnsmasq status, and app settings. Static assets in `wwwroot/`. -- **Tests:** `DnsmasqWebUI.Tests` contains unit tests for parsers, config set service, config, and related logic. Run with `dotnet test`. +- **Tests:** `DnsmasqWebUI.Tests` contains unit tests organised to mirror the main project: `Serialization/Parsers/` (Dnsmasq, DnsmasqConfig), `Services/Dnsmasq/Config/`, `Services/EffectiveConfig/`, `Models/`, and `Helpers/` (TestDataHelper). Run with `dotnet test`. diff --git a/src/DnsmasqWebUI.Tests/TestDataHelper.cs b/src/DnsmasqWebUI.Tests/Helpers/TestDataHelper.cs similarity index 94% rename from src/DnsmasqWebUI.Tests/TestDataHelper.cs rename to src/DnsmasqWebUI.Tests/Helpers/TestDataHelper.cs index 92f13dd..10658fb 100644 --- a/src/DnsmasqWebUI.Tests/TestDataHelper.cs +++ b/src/DnsmasqWebUI.Tests/Helpers/TestDataHelper.cs @@ -1,4 +1,4 @@ -namespace DnsmasqWebUI.Tests; +namespace DnsmasqWebUI.Tests.Helpers; /// /// Resolves paths to testdata files. Files are copied to output (testdata/) when the project builds. diff --git a/src/DnsmasqWebUI.Tests/ConfigValueSourceTests.cs b/src/DnsmasqWebUI.Tests/Models/ConfigValueSourceTests.cs similarity index 98% rename from src/DnsmasqWebUI.Tests/ConfigValueSourceTests.cs rename to src/DnsmasqWebUI.Tests/Models/ConfigValueSourceTests.cs index 0a9abd7..78316c0 100644 --- a/src/DnsmasqWebUI.Tests/ConfigValueSourceTests.cs +++ b/src/DnsmasqWebUI.Tests/Models/ConfigValueSourceTests.cs @@ -1,6 +1,6 @@ using DnsmasqWebUI.Models.Dnsmasq.EffectiveConfig; -namespace DnsmasqWebUI.Tests; +namespace DnsmasqWebUI.Tests.Models; /// /// Tests for and . diff --git a/src/DnsmasqWebUI.Tests/DnsmasqCompileOptionsParserTests.cs b/src/DnsmasqWebUI.Tests/Serialization/Parsers/Dnsmasq/DnsmasqCompileOptionsParserTests.cs similarity index 94% rename from src/DnsmasqWebUI.Tests/DnsmasqCompileOptionsParserTests.cs rename to src/DnsmasqWebUI.Tests/Serialization/Parsers/Dnsmasq/DnsmasqCompileOptionsParserTests.cs index 1e5ef2b..b850e50 100644 --- a/src/DnsmasqWebUI.Tests/DnsmasqCompileOptionsParserTests.cs +++ b/src/DnsmasqWebUI.Tests/Serialization/Parsers/Dnsmasq/DnsmasqCompileOptionsParserTests.cs @@ -1,7 +1,7 @@ -using DnsmasqWebUI.Infrastructure.Helpers.Dnsmasq; +using DnsmasqWebUI.Infrastructure.Serialization.Parsers.Dnsmasq; using DnsmasqWebUI.Models.Dnsmasq; -namespace DnsmasqWebUI.Tests; +namespace DnsmasqWebUI.Tests.Serialization.Parsers.Dnsmasq; /// /// Tests for parsing "Compile time options: ..." from dnsmasq --version output. diff --git a/src/DnsmasqWebUI.Tests/DnsmasqConfDhcpHostLineParserTests.cs b/src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfDhcpHostLineParserTests.cs similarity index 98% rename from src/DnsmasqWebUI.Tests/DnsmasqConfDhcpHostLineParserTests.cs rename to src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfDhcpHostLineParserTests.cs index a1cb55c..6868e0a 100644 --- a/src/DnsmasqWebUI.Tests/DnsmasqConfDhcpHostLineParserTests.cs +++ b/src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfDhcpHostLineParserTests.cs @@ -1,7 +1,9 @@ using DnsmasqWebUI.Models.Dhcp; -using DnsmasqWebUI.Infrastructure.Parsers; +using DnsmasqWebUI.Infrastructure.Serialization.Parsers.DnsmasqConfig; -namespace DnsmasqWebUI.Tests; +using DnsmasqWebUI.Tests.Helpers; + +namespace DnsmasqWebUI.Tests.Serialization.Parsers.DnsmasqConfig; /// /// Tests for DnsmasqConfDhcpHostLineParser. Format: dhcp-host=[hwaddr][,id:...][,set:tag][,tag:tag][,ip][,hostname][,lease][,ignore] diff --git a/src/DnsmasqWebUI.Tests/DnsmasqConfDirectiveParserTests.cs b/src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfDirectiveParserTests.cs similarity index 93% rename from src/DnsmasqWebUI.Tests/DnsmasqConfDirectiveParserTests.cs rename to src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfDirectiveParserTests.cs index b73bc5a..eab1d87 100644 --- a/src/DnsmasqWebUI.Tests/DnsmasqConfDirectiveParserTests.cs +++ b/src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfDirectiveParserTests.cs @@ -1,7 +1,7 @@ -using DnsmasqWebUI.Infrastructure.Helpers.Config; -using DnsmasqWebUI.Infrastructure.Parsers; +using DnsmasqWebUI.Infrastructure.Services.EffectiveConfig.Metadata; +using DnsmasqWebUI.Infrastructure.Serialization.Parsers.DnsmasqConfig; -namespace DnsmasqWebUI.Tests; +namespace DnsmasqWebUI.Tests.Serialization.Parsers.DnsmasqConfig; /// /// Tests for DnsmasqConfDirectiveParser. Key/value parsing (TryParseKeyValue) and comment stripping (StripComment) diff --git a/src/DnsmasqWebUI.Tests/DnsmasqConfFileLineParserTests.cs b/src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfFileLineParserTests.cs similarity index 97% rename from src/DnsmasqWebUI.Tests/DnsmasqConfFileLineParserTests.cs rename to src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfFileLineParserTests.cs index 0c64829..ef17ba3 100644 --- a/src/DnsmasqWebUI.Tests/DnsmasqConfFileLineParserTests.cs +++ b/src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfFileLineParserTests.cs @@ -1,8 +1,10 @@ using DnsmasqWebUI.Models.Config; using DnsmasqWebUI.Models.Dhcp; -using DnsmasqWebUI.Infrastructure.Parsers; +using DnsmasqWebUI.Infrastructure.Serialization.Parsers.DnsmasqConfig; -namespace DnsmasqWebUI.Tests; +using DnsmasqWebUI.Tests.Helpers; + +namespace DnsmasqWebUI.Tests.Serialization.Parsers.DnsmasqConfig; /// /// Tests for DnsmasqConfFileLineParser. Parses dnsmasq config file lines into Blank, Comment, AddnHosts, DhcpHost, Other. diff --git a/src/DnsmasqWebUI.Tests/DnsmasqConfIncludeParserCoreBehaviourTests.cs b/src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfIncludeParserCoreBehaviourTests.cs similarity index 98% rename from src/DnsmasqWebUI.Tests/DnsmasqConfIncludeParserCoreBehaviourTests.cs rename to src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfIncludeParserCoreBehaviourTests.cs index 709491e..916fcb6 100644 --- a/src/DnsmasqWebUI.Tests/DnsmasqConfIncludeParserCoreBehaviourTests.cs +++ b/src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfIncludeParserCoreBehaviourTests.cs @@ -1,8 +1,8 @@ -using DnsmasqWebUI.Infrastructure.Helpers.Config; +using DnsmasqWebUI.Infrastructure.Services.EffectiveConfig.Metadata; using DnsmasqWebUI.Models.Dnsmasq; -using DnsmasqWebUI.Infrastructure.Parsers; +using DnsmasqWebUI.Infrastructure.Serialization.Parsers.DnsmasqConfig; -namespace DnsmasqWebUI.Tests; +namespace DnsmasqWebUI.Tests.Serialization.Parsers.DnsmasqConfig; /// Parser semantics: flags (option present/absent/with value), last-wins, case-sensitive, path order. diff --git a/src/DnsmasqWebUI.Tests/DnsmasqConfIncludeParserDhcpTftpDnssecTests.cs b/src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfIncludeParserDhcpTftpDnssecTests.cs similarity index 98% rename from src/DnsmasqWebUI.Tests/DnsmasqConfIncludeParserDhcpTftpDnssecTests.cs rename to src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfIncludeParserDhcpTftpDnssecTests.cs index c929626..b7a0f56 100644 --- a/src/DnsmasqWebUI.Tests/DnsmasqConfIncludeParserDhcpTftpDnssecTests.cs +++ b/src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfIncludeParserDhcpTftpDnssecTests.cs @@ -1,8 +1,8 @@ -using DnsmasqWebUI.Infrastructure.Helpers.Config; +using DnsmasqWebUI.Infrastructure.Services.EffectiveConfig.Metadata; using DnsmasqWebUI.Models.Dnsmasq; -using DnsmasqWebUI.Infrastructure.Parsers; +using DnsmasqWebUI.Infrastructure.Serialization.Parsers.DnsmasqConfig; -namespace DnsmasqWebUI.Tests; +namespace DnsmasqWebUI.Tests.Serialization.Parsers.DnsmasqConfig; /// DHCP advanced, TFTP/PXE, DNSSEC, enable-dbus/ubus, fast-dns-retry. diff --git a/src/DnsmasqWebUI.Tests/DnsmasqConfIncludeParserFlagsTests.cs b/src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfIncludeParserFlagsTests.cs similarity index 98% rename from src/DnsmasqWebUI.Tests/DnsmasqConfIncludeParserFlagsTests.cs rename to src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfIncludeParserFlagsTests.cs index 3ba9ac2..d9bf3f1 100644 --- a/src/DnsmasqWebUI.Tests/DnsmasqConfIncludeParserFlagsTests.cs +++ b/src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfIncludeParserFlagsTests.cs @@ -1,8 +1,8 @@ -using DnsmasqWebUI.Infrastructure.Helpers.Config; +using DnsmasqWebUI.Infrastructure.Services.EffectiveConfig.Metadata; using DnsmasqWebUI.Models.Dnsmasq; -using DnsmasqWebUI.Infrastructure.Parsers; +using DnsmasqWebUI.Infrastructure.Serialization.Parsers.DnsmasqConfig; -namespace DnsmasqWebUI.Tests; +namespace DnsmasqWebUI.Tests.Serialization.Parsers.DnsmasqConfig; /// Boolean flags: no-hosts, bogus-priv, strict-order, domain-needed, no-poll, bind-*, rebind-*, clear-on-reload, filter*, localise-queries, log-debug, dhcp-authoritative, leasefile-ro. diff --git a/src/DnsmasqWebUI.Tests/DnsmasqConfIncludeParserHostsAndLeaseTests.cs b/src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfIncludeParserHostsAndLeaseTests.cs similarity index 97% rename from src/DnsmasqWebUI.Tests/DnsmasqConfIncludeParserHostsAndLeaseTests.cs rename to src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfIncludeParserHostsAndLeaseTests.cs index d7a1d84..c78a974 100644 --- a/src/DnsmasqWebUI.Tests/DnsmasqConfIncludeParserHostsAndLeaseTests.cs +++ b/src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfIncludeParserHostsAndLeaseTests.cs @@ -1,8 +1,10 @@ -using DnsmasqWebUI.Infrastructure.Helpers.Config; +using DnsmasqWebUI.Infrastructure.Services.EffectiveConfig.Metadata; using DnsmasqWebUI.Models.Dnsmasq; -using DnsmasqWebUI.Infrastructure.Parsers; +using DnsmasqWebUI.Infrastructure.Serialization.Parsers.DnsmasqConfig; -namespace DnsmasqWebUI.Tests; +using DnsmasqWebUI.Tests.Helpers; + +namespace DnsmasqWebUI.Tests.Serialization.Parsers.DnsmasqConfig; /// Hosts (addn-hosts, hostsdir) and DHCP lease file parsing. diff --git a/src/DnsmasqWebUI.Tests/DnsmasqConfIncludeParserIncludeTests.cs b/src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfIncludeParserIncludeTests.cs similarity index 98% rename from src/DnsmasqWebUI.Tests/DnsmasqConfIncludeParserIncludeTests.cs rename to src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfIncludeParserIncludeTests.cs index 82ad436..b120fc0 100644 --- a/src/DnsmasqWebUI.Tests/DnsmasqConfIncludeParserIncludeTests.cs +++ b/src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfIncludeParserIncludeTests.cs @@ -1,9 +1,9 @@ -using DnsmasqWebUI.Infrastructure.Helpers.Config; +using DnsmasqWebUI.Infrastructure.Services.EffectiveConfig.Metadata; using DnsmasqWebUI.Models.Dnsmasq; using DnsmasqWebUI.Models.Dnsmasq.EffectiveConfig; -using DnsmasqWebUI.Infrastructure.Parsers; +using DnsmasqWebUI.Infrastructure.Serialization.Parsers.DnsmasqConfig; -namespace DnsmasqWebUI.Tests; +namespace DnsmasqWebUI.Tests.Serialization.Parsers.DnsmasqConfig; /// Config discovery: conf-file=, conf-dir=, GetIncludedPaths, GetFirstConfDir, GetIncludedPathsWithSource, conf-dir suffix. diff --git a/src/DnsmasqWebUI.Tests/DnsmasqConfIncludeParserInterfacesAndFilteringTests.cs b/src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfIncludeParserInterfacesAndFilteringTests.cs similarity index 98% rename from src/DnsmasqWebUI.Tests/DnsmasqConfIncludeParserInterfacesAndFilteringTests.cs rename to src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfIncludeParserInterfacesAndFilteringTests.cs index 2d37125..c5c5fb9 100644 --- a/src/DnsmasqWebUI.Tests/DnsmasqConfIncludeParserInterfacesAndFilteringTests.cs +++ b/src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfIncludeParserInterfacesAndFilteringTests.cs @@ -1,8 +1,8 @@ -using DnsmasqWebUI.Infrastructure.Helpers.Config; +using DnsmasqWebUI.Infrastructure.Services.EffectiveConfig.Metadata; using DnsmasqWebUI.Models.Dnsmasq; -using DnsmasqWebUI.Infrastructure.Parsers; +using DnsmasqWebUI.Infrastructure.Serialization.Parsers.DnsmasqConfig; -namespace DnsmasqWebUI.Tests; +namespace DnsmasqWebUI.Tests.Serialization.Parsers.DnsmasqConfig; /// Interfaces, auth-server, DHCP/option/resolv multi-value, rebind/bogus/ignore/alias, filter-rr, cache-rr. diff --git a/src/DnsmasqWebUI.Tests/DnsmasqConfIncludeParserNewOptionsTests.cs b/src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfIncludeParserNewOptionsTests.cs similarity index 98% rename from src/DnsmasqWebUI.Tests/DnsmasqConfIncludeParserNewOptionsTests.cs rename to src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfIncludeParserNewOptionsTests.cs index c9c807a..21ea374 100644 --- a/src/DnsmasqWebUI.Tests/DnsmasqConfIncludeParserNewOptionsTests.cs +++ b/src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfIncludeParserNewOptionsTests.cs @@ -1,8 +1,8 @@ -using DnsmasqWebUI.Infrastructure.Helpers.Config; +using DnsmasqWebUI.Infrastructure.Services.EffectiveConfig.Metadata; using DnsmasqWebUI.Models.Dnsmasq; -using DnsmasqWebUI.Infrastructure.Parsers; +using DnsmasqWebUI.Infrastructure.Serialization.Parsers.DnsmasqConfig; -namespace DnsmasqWebUI.Tests; +namespace DnsmasqWebUI.Tests.Serialization.Parsers.DnsmasqConfig; /// /// Positive parser tests for added options: key wired and "option present" behaviour. diff --git a/src/DnsmasqWebUI.Tests/DnsmasqConfIncludeParserOfficialExampleTests.cs b/src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfIncludeParserOfficialExampleTests.cs similarity index 96% rename from src/DnsmasqWebUI.Tests/DnsmasqConfIncludeParserOfficialExampleTests.cs rename to src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfIncludeParserOfficialExampleTests.cs index aea45a3..36feaf3 100644 --- a/src/DnsmasqWebUI.Tests/DnsmasqConfIncludeParserOfficialExampleTests.cs +++ b/src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfIncludeParserOfficialExampleTests.cs @@ -1,7 +1,8 @@ -using DnsmasqWebUI.Infrastructure.Helpers.Config; -using DnsmasqWebUI.Infrastructure.Parsers; +using DnsmasqWebUI.Infrastructure.Services.EffectiveConfig.Metadata; +using DnsmasqWebUI.Infrastructure.Serialization.Parsers.DnsmasqConfig; +using DnsmasqWebUI.Tests.Helpers; -namespace DnsmasqWebUI.Tests; +namespace DnsmasqWebUI.Tests.Serialization.Parsers.DnsmasqConfig; /// /// Tests that the parser correctly handles the official dnsmasq example (testdata/dnsmasq.official.conf.example). diff --git a/src/DnsmasqWebUI.Tests/DnsmasqConfIncludeParserRecordsTests.cs b/src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfIncludeParserRecordsTests.cs similarity index 97% rename from src/DnsmasqWebUI.Tests/DnsmasqConfIncludeParserRecordsTests.cs rename to src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfIncludeParserRecordsTests.cs index 9681ac9..3667de9 100644 --- a/src/DnsmasqWebUI.Tests/DnsmasqConfIncludeParserRecordsTests.cs +++ b/src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfIncludeParserRecordsTests.cs @@ -1,8 +1,8 @@ -using DnsmasqWebUI.Infrastructure.Helpers.Config; +using DnsmasqWebUI.Infrastructure.Services.EffectiveConfig.Metadata; using DnsmasqWebUI.Models.Dnsmasq; -using DnsmasqWebUI.Infrastructure.Parsers; +using DnsmasqWebUI.Infrastructure.Serialization.Parsers.DnsmasqConfig; -namespace DnsmasqWebUI.Tests; +namespace DnsmasqWebUI.Tests.Serialization.Parsers.DnsmasqConfig; /// DNS records and local names: hostsdir, domain, cname, mx-host, srv, ptr/txt/naptr/host-record, dynamic-host, interface-name. diff --git a/src/DnsmasqWebUI.Tests/DnsmasqConfIncludeParserServerAndResolvTests.cs b/src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfIncludeParserServerAndResolvTests.cs similarity index 95% rename from src/DnsmasqWebUI.Tests/DnsmasqConfIncludeParserServerAndResolvTests.cs rename to src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfIncludeParserServerAndResolvTests.cs index 0badecf..80e81f6 100644 --- a/src/DnsmasqWebUI.Tests/DnsmasqConfIncludeParserServerAndResolvTests.cs +++ b/src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfIncludeParserServerAndResolvTests.cs @@ -1,8 +1,8 @@ -using DnsmasqWebUI.Infrastructure.Helpers.Config; +using DnsmasqWebUI.Infrastructure.Services.EffectiveConfig.Metadata; using DnsmasqWebUI.Models.Dnsmasq; -using DnsmasqWebUI.Infrastructure.Parsers; +using DnsmasqWebUI.Infrastructure.Serialization.Parsers.DnsmasqConfig; -namespace DnsmasqWebUI.Tests; +namespace DnsmasqWebUI.Tests.Serialization.Parsers.DnsmasqConfig; /// Server/local, rev-server, dhcp-range, all-servers, log-queries. diff --git a/src/DnsmasqWebUI.Tests/DnsmasqConfIncludeParserSingleValueTests.cs b/src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfIncludeParserSingleValueTests.cs similarity index 98% rename from src/DnsmasqWebUI.Tests/DnsmasqConfIncludeParserSingleValueTests.cs rename to src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfIncludeParserSingleValueTests.cs index 6e16d4b..9d22f0f 100644 --- a/src/DnsmasqWebUI.Tests/DnsmasqConfIncludeParserSingleValueTests.cs +++ b/src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqConfIncludeParserSingleValueTests.cs @@ -1,8 +1,8 @@ -using DnsmasqWebUI.Infrastructure.Helpers.Config; +using DnsmasqWebUI.Infrastructure.Services.EffectiveConfig.Metadata; using DnsmasqWebUI.Models.Dnsmasq; -using DnsmasqWebUI.Infrastructure.Parsers; +using DnsmasqWebUI.Infrastructure.Serialization.Parsers.DnsmasqConfig; -namespace DnsmasqWebUI.Tests; +namespace DnsmasqWebUI.Tests.Serialization.Parsers.DnsmasqConfig; /// Single-value options (last wins): local-ttl, pid-file, user, group, auth-ttl, edns-packet-max, query-port, port-limit, min/max-port, log-async, local-service, dhcp-lease-max, neg/max/min-cache-ttl, dhcp-ttl. diff --git a/src/DnsmasqWebUI.Tests/DnsmasqDhcpRangeValueParserTests.cs b/src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqDhcpRangeValueParserTests.cs similarity index 90% rename from src/DnsmasqWebUI.Tests/DnsmasqDhcpRangeValueParserTests.cs rename to src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqDhcpRangeValueParserTests.cs index 006cdc1..902314b 100644 --- a/src/DnsmasqWebUI.Tests/DnsmasqDhcpRangeValueParserTests.cs +++ b/src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqDhcpRangeValueParserTests.cs @@ -1,7 +1,7 @@ -using DnsmasqWebUI.Infrastructure.Helpers.Config; +using DnsmasqWebUI.Infrastructure.Serialization.Parsers.EffectiveConfig; using DnsmasqWebUI.Infrastructure.Services.Dnsmasq.Config; -namespace DnsmasqWebUI.Tests; +namespace DnsmasqWebUI.Tests.Serialization.Parsers.DnsmasqConfig; public class DnsmasqDhcpRangeValueParserTests { diff --git a/src/DnsmasqWebUI.Tests/DnsmasqLeasesFileLineParserTests.cs b/src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqLeasesFileLineParserTests.cs similarity index 97% rename from src/DnsmasqWebUI.Tests/DnsmasqLeasesFileLineParserTests.cs rename to src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqLeasesFileLineParserTests.cs index e7fa5a4..2f3a950 100644 --- a/src/DnsmasqWebUI.Tests/DnsmasqLeasesFileLineParserTests.cs +++ b/src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/DnsmasqLeasesFileLineParserTests.cs @@ -1,7 +1,9 @@ using DnsmasqWebUI.Models.Dhcp; -using DnsmasqWebUI.Infrastructure.Parsers; +using DnsmasqWebUI.Infrastructure.Serialization.Parsers.DnsmasqConfig; -namespace DnsmasqWebUI.Tests; +using DnsmasqWebUI.Tests.Helpers; + +namespace DnsmasqWebUI.Tests.Serialization.Parsers.DnsmasqConfig; /// /// Tests for DnsmasqLeasesFileLineParser. Format per dnsmasq author (dnsmasq-discuss 2006): five space-separated diff --git a/src/DnsmasqWebUI.Tests/HostsFileLineParserTests.cs b/src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/HostsFileLineParserTests.cs similarity index 97% rename from src/DnsmasqWebUI.Tests/HostsFileLineParserTests.cs rename to src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/HostsFileLineParserTests.cs index 58b29ba..358fd31 100644 --- a/src/DnsmasqWebUI.Tests/HostsFileLineParserTests.cs +++ b/src/DnsmasqWebUI.Tests/Serialization/Parsers/DnsmasqConfig/HostsFileLineParserTests.cs @@ -1,7 +1,9 @@ using DnsmasqWebUI.Models.Hosts; -using DnsmasqWebUI.Infrastructure.Parsers; +using DnsmasqWebUI.Infrastructure.Serialization.Parsers.DnsmasqConfig; -namespace DnsmasqWebUI.Tests; +using DnsmasqWebUI.Tests.Helpers; + +namespace DnsmasqWebUI.Tests.Serialization.Parsers.DnsmasqConfig; /// /// Tests for HostsFileLineParser. Format: IP_address canonical_hostname [aliases...] (hosts(5), RFC 952). diff --git a/src/DnsmasqWebUI.Tests/ConfigSetCacheEffectiveConfigTests.cs b/src/DnsmasqWebUI.Tests/Services/Dnsmasq/Config/ConfigSetCacheEffectiveConfigTests.cs similarity index 97% rename from src/DnsmasqWebUI.Tests/ConfigSetCacheEffectiveConfigTests.cs rename to src/DnsmasqWebUI.Tests/Services/Dnsmasq/Config/ConfigSetCacheEffectiveConfigTests.cs index 20c3fae..90d2159 100644 --- a/src/DnsmasqWebUI.Tests/ConfigSetCacheEffectiveConfigTests.cs +++ b/src/DnsmasqWebUI.Tests/Services/Dnsmasq/Config/ConfigSetCacheEffectiveConfigTests.cs @@ -1,11 +1,11 @@ -using DnsmasqWebUI.Infrastructure.Helpers.Config; +using DnsmasqWebUI.Infrastructure.Services.EffectiveConfig.Metadata; using DnsmasqWebUI.Infrastructure.Services.Dnsmasq.Config; using DnsmasqWebUI.Models.Config; using DnsmasqWebUI.Models.Dnsmasq.EffectiveConfig; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Options; -namespace DnsmasqWebUI.Tests; +namespace DnsmasqWebUI.Tests.Services.Dnsmasq.Config; /// /// Tests effective-config resolution in ConfigSetCache (BuildEffectiveConfig / BuildEffectiveConfigSources). diff --git a/src/DnsmasqWebUI.Tests/DnsmasqConfigServiceApplyChangesTests.cs b/src/DnsmasqWebUI.Tests/Services/Dnsmasq/Config/DnsmasqConfigServiceApplyChangesTests.cs similarity index 99% rename from src/DnsmasqWebUI.Tests/DnsmasqConfigServiceApplyChangesTests.cs rename to src/DnsmasqWebUI.Tests/Services/Dnsmasq/Config/DnsmasqConfigServiceApplyChangesTests.cs index be7c50e..f4431f6 100644 --- a/src/DnsmasqWebUI.Tests/DnsmasqConfigServiceApplyChangesTests.cs +++ b/src/DnsmasqWebUI.Tests/Services/Dnsmasq/Config/DnsmasqConfigServiceApplyChangesTests.cs @@ -1,11 +1,11 @@ -using DnsmasqWebUI.Infrastructure.Helpers.Config; +using DnsmasqWebUI.Infrastructure.Services.EffectiveConfig.Metadata; using DnsmasqWebUI.Infrastructure.Services.Dnsmasq.Config; using DnsmasqWebUI.Models.Config; using DnsmasqWebUI.Models.Dnsmasq.EffectiveConfig; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Options; -namespace DnsmasqWebUI.Tests; +namespace DnsmasqWebUI.Tests.Services.Dnsmasq.Config; /// /// Save-path tests for DnsmasqConfigService.ApplyEffectiveConfigChangesAsync. diff --git a/src/DnsmasqWebUI.Tests/DnsmasqConfigSetServiceTests.cs b/src/DnsmasqWebUI.Tests/Services/Dnsmasq/Config/DnsmasqConfigSetServiceTests.cs similarity index 98% rename from src/DnsmasqWebUI.Tests/DnsmasqConfigSetServiceTests.cs rename to src/DnsmasqWebUI.Tests/Services/Dnsmasq/Config/DnsmasqConfigSetServiceTests.cs index 688ae72..e6ac1ad 100644 --- a/src/DnsmasqWebUI.Tests/DnsmasqConfigSetServiceTests.cs +++ b/src/DnsmasqWebUI.Tests/Services/Dnsmasq/Config/DnsmasqConfigSetServiceTests.cs @@ -5,7 +5,7 @@ using DnsmasqWebUI.Infrastructure.Services.Dnsmasq.Config; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Options; -namespace DnsmasqWebUI.Tests; +namespace DnsmasqWebUI.Tests.Services.Dnsmasq.Config; /// /// Tests for DnsmasqConfigSetService, including GetEffectiveConfigWithSources. diff --git a/src/DnsmasqWebUI.Tests/Do0x20EncodeDisplayLabelTests.cs b/src/DnsmasqWebUI.Tests/Services/EffectiveConfig/Do0x20EncodeDisplayLabelTests.cs similarity index 95% rename from src/DnsmasqWebUI.Tests/Do0x20EncodeDisplayLabelTests.cs rename to src/DnsmasqWebUI.Tests/Services/EffectiveConfig/Do0x20EncodeDisplayLabelTests.cs index 419f94e..df015e6 100644 --- a/src/DnsmasqWebUI.Tests/Do0x20EncodeDisplayLabelTests.cs +++ b/src/DnsmasqWebUI.Tests/Services/EffectiveConfig/Do0x20EncodeDisplayLabelTests.cs @@ -1,6 +1,6 @@ using DnsmasqWebUI.Models.Dnsmasq.EffectiveConfig; -namespace DnsmasqWebUI.Tests; +namespace DnsmasqWebUI.Tests.Services.EffectiveConfig; /// /// Documents and guards the Do0x20 display label rule: Default and Disabled both show "Disabled" (product choice). diff --git a/src/DnsmasqWebUI.Tests/EffectiveConfigEditableOptionsTests.cs b/src/DnsmasqWebUI.Tests/Services/EffectiveConfig/EffectiveConfigEditableOptionsTests.cs similarity index 85% rename from src/DnsmasqWebUI.Tests/EffectiveConfigEditableOptionsTests.cs rename to src/DnsmasqWebUI.Tests/Services/EffectiveConfig/EffectiveConfigEditableOptionsTests.cs index 3109912..b87dadd 100644 --- a/src/DnsmasqWebUI.Tests/EffectiveConfigEditableOptionsTests.cs +++ b/src/DnsmasqWebUI.Tests/Services/EffectiveConfig/EffectiveConfigEditableOptionsTests.cs @@ -1,6 +1,6 @@ -using DnsmasqWebUI.Infrastructure.Helpers.Config; +using DnsmasqWebUI.Infrastructure.Services.EffectiveConfig.Metadata; -namespace DnsmasqWebUI.Tests; +namespace DnsmasqWebUI.Tests.Services.EffectiveConfig; /// /// Ensures effective-config editable options list includes supported cache flags. diff --git a/src/DnsmasqWebUI.Tests/EffectiveConfigFeatureRequirementsTests.cs b/src/DnsmasqWebUI.Tests/Services/EffectiveConfig/EffectiveConfigFeatureRequirementsTests.cs similarity index 98% rename from src/DnsmasqWebUI.Tests/EffectiveConfigFeatureRequirementsTests.cs rename to src/DnsmasqWebUI.Tests/Services/EffectiveConfig/EffectiveConfigFeatureRequirementsTests.cs index 2ac1b6f..20534f9 100644 --- a/src/DnsmasqWebUI.Tests/EffectiveConfigFeatureRequirementsTests.cs +++ b/src/DnsmasqWebUI.Tests/Services/EffectiveConfig/EffectiveConfigFeatureRequirementsTests.cs @@ -1,8 +1,8 @@ -using DnsmasqWebUI.Infrastructure.Helpers.Config; +using DnsmasqWebUI.Infrastructure.Services.EffectiveConfig.Metadata; using DnsmasqWebUI.Models.Dnsmasq; using DnsmasqWebUI.Models.Dnsmasq.EffectiveConfig; -namespace DnsmasqWebUI.Tests; +namespace DnsmasqWebUI.Tests.Services.EffectiveConfig; /// /// Tests for option -> feature mapping and capability checks. diff --git a/src/DnsmasqWebUI.Tests/EffectiveConfigFieldBuilderCapabilityTests.cs b/src/DnsmasqWebUI.Tests/Services/EffectiveConfig/EffectiveConfigFieldBuilderCapabilityTests.cs similarity index 96% rename from src/DnsmasqWebUI.Tests/EffectiveConfigFieldBuilderCapabilityTests.cs rename to src/DnsmasqWebUI.Tests/Services/EffectiveConfig/EffectiveConfigFieldBuilderCapabilityTests.cs index 73f9ca7..f626675 100644 --- a/src/DnsmasqWebUI.Tests/EffectiveConfigFieldBuilderCapabilityTests.cs +++ b/src/DnsmasqWebUI.Tests/Services/EffectiveConfig/EffectiveConfigFieldBuilderCapabilityTests.cs @@ -1,8 +1,8 @@ -using DnsmasqWebUI.Infrastructure.Helpers.Config; +using DnsmasqWebUI.Infrastructure.Services.EffectiveConfig.Metadata; using DnsmasqWebUI.Models.Dnsmasq; using DnsmasqWebUI.Models.Dnsmasq.EffectiveConfig; -namespace DnsmasqWebUI.Tests; +namespace DnsmasqWebUI.Tests.Services.EffectiveConfig; /// /// Tests that field descriptors get IsCapabilityDisabled set when the status indicates the option is not supported by the dnsmasq build. diff --git a/src/DnsmasqWebUI.Tests/EffectiveConfigSemanticsWiringTests.cs b/src/DnsmasqWebUI.Tests/Services/EffectiveConfig/EffectiveConfigSemanticsWiringTests.cs similarity index 89% rename from src/DnsmasqWebUI.Tests/EffectiveConfigSemanticsWiringTests.cs rename to src/DnsmasqWebUI.Tests/Services/EffectiveConfig/EffectiveConfigSemanticsWiringTests.cs index 9ef8338..be63a98 100644 --- a/src/DnsmasqWebUI.Tests/EffectiveConfigSemanticsWiringTests.cs +++ b/src/DnsmasqWebUI.Tests/Services/EffectiveConfig/EffectiveConfigSemanticsWiringTests.cs @@ -1,9 +1,11 @@ -using DnsmasqWebUI.Infrastructure.Helpers.Config; +using DnsmasqWebUI.Infrastructure.Services.EffectiveConfig.Metadata; using DnsmasqWebUI.Infrastructure.Services.EffectiveConfig; +using DnsmasqWebUI.Infrastructure.Services.EffectiveConfig.Rendering; using DnsmasqWebUI.Infrastructure.Services.EffectiveConfig.Validation; +using DnsmasqWebUI.Infrastructure.Services.EffectiveConfig.Validation.Handlers; using DnsmasqWebUI.Models.Dnsmasq.EffectiveConfig; -namespace DnsmasqWebUI.Tests; +namespace DnsmasqWebUI.Tests.Services.EffectiveConfig; /// /// Wiring tests that ensure special-option semantics actually feed parser and registry behavior. diff --git a/src/DnsmasqWebUI.Tests/EffectiveDnsmasqConfigTests.cs b/src/DnsmasqWebUI.Tests/Services/EffectiveConfig/EffectiveDnsmasqConfigTests.cs similarity index 99% rename from src/DnsmasqWebUI.Tests/EffectiveDnsmasqConfigTests.cs rename to src/DnsmasqWebUI.Tests/Services/EffectiveConfig/EffectiveDnsmasqConfigTests.cs index ab39f19..1fc5069 100644 --- a/src/DnsmasqWebUI.Tests/EffectiveDnsmasqConfigTests.cs +++ b/src/DnsmasqWebUI.Tests/Services/EffectiveConfig/EffectiveDnsmasqConfigTests.cs @@ -1,6 +1,6 @@ using DnsmasqWebUI.Models.Dnsmasq.EffectiveConfig; -namespace DnsmasqWebUI.Tests; +namespace DnsmasqWebUI.Tests.Services.EffectiveConfig; /// /// Tests for EffectiveDnsmasqConfig, including GetLogsPath (log-facility as file path). diff --git a/src/DnsmasqWebUI.Tests/OptionSemanticValidatorTests.cs b/src/DnsmasqWebUI.Tests/Services/EffectiveConfig/OptionSemanticValidatorTests.cs similarity index 99% rename from src/DnsmasqWebUI.Tests/OptionSemanticValidatorTests.cs rename to src/DnsmasqWebUI.Tests/Services/EffectiveConfig/OptionSemanticValidatorTests.cs index 925196b..6023dc8 100644 --- a/src/DnsmasqWebUI.Tests/OptionSemanticValidatorTests.cs +++ b/src/DnsmasqWebUI.Tests/Services/EffectiveConfig/OptionSemanticValidatorTests.cs @@ -1,8 +1,10 @@ -using DnsmasqWebUI.Infrastructure.Helpers.Config; +using DnsmasqWebUI.Infrastructure.Services.EffectiveConfig.Metadata; using DnsmasqWebUI.Infrastructure.Services.EffectiveConfig.Validation; +using DnsmasqWebUI.Infrastructure.Services.EffectiveConfig.Validation.Abstractions; +using DnsmasqWebUI.Infrastructure.Services.EffectiveConfig.Validation.Handlers; using DnsmasqWebUI.Models.Dnsmasq.EffectiveConfig; -namespace DnsmasqWebUI.Tests; +namespace DnsmasqWebUI.Tests.Services.EffectiveConfig; /// /// Tests for the central semantic validator (handler dispatch and generic kind validation). @@ -45,7 +47,7 @@ public class OptionSemanticValidatorTests new PxeServiceSemanticHandler(), new DhcpCircuitidSemanticHandler(), new DhcpRemoteidSemanticHandler(), - new DhcpSubscridSemanticHandler(), + new DhcpSubscrIdSemanticHandler(), new FilterRrSemanticHandler(), new CacheRrSemanticHandler(), new InterfaceNameSemanticHandler(), @@ -55,7 +57,7 @@ public class OptionSemanticValidatorTests new PtrRecordSemanticHandler(), new InterfaceNameRecordSemanticHandler(), new CaaRecordSemanticHandler(), - new SrvHostSemanticHandler(), + new SrvSemanticHandler(), new NaptrRecordSemanticHandler(), new DnsRrSemanticHandler(), new DynamicHostSemanticHandler(), diff --git a/src/DnsmasqWebUI/Components/EffectiveConfig/Composition/EffectiveConfigPanels.razor b/src/DnsmasqWebUI/Components/EffectiveConfig/Composition/EffectiveConfigPanels.razor index 6c8ec0c..79db1df 100644 --- a/src/DnsmasqWebUI/Components/EffectiveConfig/Composition/EffectiveConfigPanels.razor +++ b/src/DnsmasqWebUI/Components/EffectiveConfig/Composition/EffectiveConfigPanels.razor @@ -1,7 +1,6 @@ @namespace DnsmasqWebUI.Components.EffectiveConfig @using DnsmasqWebUI.Models.Dnsmasq @using DnsmasqWebUI.Models.Dnsmasq.EffectiveConfig -@using DnsmasqWebUI.Infrastructure.Helpers.Config @inject IEffectiveConfigRenderFragmentRegistry RenderFragmentRegistry
diff --git a/src/DnsmasqWebUI/Components/EffectiveConfig/Composition/EffectiveConfigSection.razor b/src/DnsmasqWebUI/Components/EffectiveConfig/Composition/EffectiveConfigSection.razor index f0aae32..477b30d 100644 --- a/src/DnsmasqWebUI/Components/EffectiveConfig/Composition/EffectiveConfigSection.razor +++ b/src/DnsmasqWebUI/Components/EffectiveConfig/Composition/EffectiveConfigSection.razor @@ -1,7 +1,6 @@ @namespace DnsmasqWebUI.Components.EffectiveConfig @using DnsmasqWebUI.Models.Dnsmasq @using DnsmasqWebUI.Models.Dnsmasq.EffectiveConfig -@using DnsmasqWebUI.Infrastructure.Helpers.Config @using DnsmasqWebUI.Infrastructure.Services.EffectiveConfig.Abstractions @using DnsmasqWebUI.Infrastructure.Services.EffectiveConfig.Validation @inject IEffectiveConfigEditSession Session diff --git a/src/DnsmasqWebUI/Components/EffectiveConfig/CustomDisplays/KeyOnlyOrValueDisplay.razor b/src/DnsmasqWebUI/Components/EffectiveConfig/CustomDisplays/KeyOnlyOrValueDisplay.razor index c5088fa..b456d46 100644 --- a/src/DnsmasqWebUI/Components/EffectiveConfig/CustomDisplays/KeyOnlyOrValueDisplay.razor +++ b/src/DnsmasqWebUI/Components/EffectiveConfig/CustomDisplays/KeyOnlyOrValueDisplay.razor @@ -1,5 +1,4 @@ @namespace DnsmasqWebUI.Components.EffectiveConfig.CustomDisplays -@using DnsmasqWebUI.Infrastructure.Helpers.Config @using DnsmasqWebUI.Models.Dnsmasq @inherits EffectiveConfigValueDisplayBase diff --git a/src/DnsmasqWebUI/Components/EffectiveConfig/Fields/EffectiveConfigFieldDisplay.razor b/src/DnsmasqWebUI/Components/EffectiveConfig/Fields/EffectiveConfigFieldDisplay.razor index f1d3614..b6ee156 100644 --- a/src/DnsmasqWebUI/Components/EffectiveConfig/Fields/EffectiveConfigFieldDisplay.razor +++ b/src/DnsmasqWebUI/Components/EffectiveConfig/Fields/EffectiveConfigFieldDisplay.razor @@ -2,7 +2,6 @@ @using DnsmasqWebUI.Models.Dnsmasq @using DnsmasqWebUI.Models.Dnsmasq.EffectiveConfig @using DnsmasqWebUI.Models.Config -@using DnsmasqWebUI.Infrastructure.Helpers.Config @using DnsmasqWebUI.Infrastructure.Services.EffectiveConfig.Abstractions @using DnsmasqWebUI.Infrastructure.Services.UI.Notifications.Abstractions @inject IEffectiveConfigRenderFragmentRegistry RenderFragmentRegistry diff --git a/src/DnsmasqWebUI/Components/EffectiveConfig/Fields/EffectiveConfigMultiValueListEditor.razor b/src/DnsmasqWebUI/Components/EffectiveConfig/Fields/EffectiveConfigMultiValueListEditor.razor index eee82fa..ad9eff4 100644 --- a/src/DnsmasqWebUI/Components/EffectiveConfig/Fields/EffectiveConfigMultiValueListEditor.razor +++ b/src/DnsmasqWebUI/Components/EffectiveConfig/Fields/EffectiveConfigMultiValueListEditor.razor @@ -1,5 +1,4 @@ @namespace DnsmasqWebUI.Components.EffectiveConfig -@using DnsmasqWebUI.Infrastructure.Helpers.Config @using DnsmasqWebUI.Models.Dnsmasq @using DnsmasqWebUI.Models.Dnsmasq.EffectiveConfig @using Microsoft.AspNetCore.Components.Web diff --git a/src/DnsmasqWebUI/Components/EffectiveConfig/Fields/EffectiveConfigOptionItem.razor b/src/DnsmasqWebUI/Components/EffectiveConfig/Fields/EffectiveConfigOptionItem.razor index 7cac9cf..1026919 100644 --- a/src/DnsmasqWebUI/Components/EffectiveConfig/Fields/EffectiveConfigOptionItem.razor +++ b/src/DnsmasqWebUI/Components/EffectiveConfig/Fields/EffectiveConfigOptionItem.razor @@ -1,5 +1,4 @@ @namespace DnsmasqWebUI.Components.EffectiveConfig -@using DnsmasqWebUI.Infrastructure.Helpers.Config @using DnsmasqWebUI.Models.Dnsmasq @using DnsmasqWebUI.Models.Dnsmasq.EffectiveConfig diff --git a/src/DnsmasqWebUI/Components/EffectiveConfig/Modals/EffectiveConfigSaveModal.razor b/src/DnsmasqWebUI/Components/EffectiveConfig/Modals/EffectiveConfigSaveModal.razor index 344320e..8645f93 100644 --- a/src/DnsmasqWebUI/Components/EffectiveConfig/Modals/EffectiveConfigSaveModal.razor +++ b/src/DnsmasqWebUI/Components/EffectiveConfig/Modals/EffectiveConfigSaveModal.razor @@ -2,7 +2,6 @@ @using DnsmasqWebUI.Models.Dnsmasq @using DnsmasqWebUI.Models.Dnsmasq.EffectiveConfig @using DnsmasqWebUI.Infrastructure.Services.EffectiveConfig.Abstractions -@using DnsmasqWebUI.Infrastructure.Helpers.Config