test: add network configuration service unit tests - #84
Merged
Conversation
Signed-off-by: Jan Zachmann <50990105+JanZachmann@users.noreply.github.com>
Signed-off-by: Jan Zachmann <50990105+JanZachmann@users.noreply.github.com>
Signed-off-by: Jan Zachmann <50990105+JanZachmann@users.noreply.github.com>
- Implemented auth.spec.ts, device.spec.ts, network.spec.ts - Added centrifugo fixture helper - Fixed Centrifugo subscription in App.vue - Improved test scripts for argument forwarding - Configured playwright to ignore HTTPS errors - Added jsonwebtoken for test token generation Signed-off-by: Jan Zachmann <50990105+JanZachmann@users.noreply.github.com>
Add comprehensive unit tests for NetworkConfigService covering: - Request validation (DHCP, static IP, netmask boundaries) - INI file generation for systemd-networkd - Rollback response structure - camelCase serialization/deserialization - enable_rollback field handling Tests use tempfile for filesystem operations and replicate production INI generation logic in isolation. Note: Rollback file I/O tests not included due to hardcoded paths (/network/, /tmp/). Would require path injection refactor. 14 tests added, bringing total backend tests from 40 to 54. Signed-off-by: Jan Zachmann <50990105+JanZachmann@users.noreply.github.com>
…e-tests Signed-off-by: Jan Zachmann <50990105+JanZachmann@users.noreply.github.com>
JanZachmann
force-pushed
the
test/network-service-tests
branch
from
January 14, 2026 15:46
6a951ff to
ee96288
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add comprehensive unit tests for
NetworkConfigServiceto validate network configuration logic, INI file generation, and request/response handling.Tests Added (14)
Validation (6 tests)
INI Generation (2 tests)
Rollback Response (3 tests)
Serialization (3 tests)
Implementation Details
tempfilefor testing INI file generationserde_validvalidation rules (min_length, max/min netmask)Limitations
Tests for rollback file I/O operations (
create_rollback,process_pending_rollback,cancel_rollback) are not included due to hardcoded filesystem paths:/network/for network config files/tmp/for rollback state filesThese would require:
The validation, INI generation, and serialization logic represents the testable subset without architectural changes.
Test Results
cargo test --features mock services::network::testsAll 14 tests pass ✅
Impact
Checklist
cargo fmtSigned-off-by: Jan Zachmann 50990105+JanZachmann@users.noreply.github.com