summaryrefslogtreecommitdiff
path: root/tests/integration/packaging.rs
diff options
context:
space:
mode:
authorDawid Rycerz <dawid@rycerz.xyz>2026-01-22 22:07:32 +0100
committerDawid Rycerz <dawid@rycerz.xyz>2026-02-10 18:44:26 +0100
commit064a1d01c5c14f5ecc032fa9b8346a4a88b893f6 (patch)
treea2023f9ccd297ed8a41a3a0cc5699c2add09244d /tests/integration/packaging.rs
witryna 0.1.0 — initial releasev0.1.0
Minimalist Git-based static site deployment orchestrator. Webhook-triggered builds in Podman/Docker containers with atomic symlink publishing, SIGHUP hot-reload, and zero-downtime deploys. See README.md for usage, CHANGELOG.md for details.
Diffstat (limited to 'tests/integration/packaging.rs')
-rw-r--r--tests/integration/packaging.rs49
1 files changed, 49 insertions, 0 deletions
diff --git a/tests/integration/packaging.rs b/tests/integration/packaging.rs
new file mode 100644
index 0000000..6a86bc5
--- /dev/null
+++ b/tests/integration/packaging.rs
@@ -0,0 +1,49 @@
+use std::path::Path;
+
+#[test]
+fn docker_override_exists_and_valid() {
+ let path = Path::new(env!("CARGO_MANIFEST_DIR")).join("examples/systemd/docker.conf");
+ assert!(path.exists(), "docker.conf template missing");
+ let content = std::fs::read_to_string(&path).unwrap();
+ assert!(
+ content.contains("SupplementaryGroups=docker"),
+ "docker.conf must grant docker group"
+ );
+ assert!(
+ content.contains("ReadWritePaths=/var/run/docker.sock"),
+ "docker.conf must allow docker socket access"
+ );
+ assert!(
+ content.contains("[Service]"),
+ "docker.conf must be a systemd unit override"
+ );
+}
+
+#[test]
+fn podman_override_exists_and_valid() {
+ let path = Path::new(env!("CARGO_MANIFEST_DIR")).join("examples/systemd/podman.conf");
+ assert!(path.exists(), "podman.conf template missing");
+ let content = std::fs::read_to_string(&path).unwrap();
+ assert!(
+ content.contains("RestrictNamespaces=no"),
+ "podman.conf must disable RestrictNamespaces"
+ );
+ assert!(
+ content.contains("XDG_RUNTIME_DIR=/run/user/%U"),
+ "podman.conf must set XDG_RUNTIME_DIR with %U"
+ );
+ assert!(
+ content.contains("[Service]"),
+ "podman.conf must be a systemd unit override"
+ );
+}
+
+#[test]
+fn override_templates_are_not_empty() {
+ let dir = Path::new(env!("CARGO_MANIFEST_DIR")).join("examples/systemd");
+ for name in ["docker.conf", "podman.conf"] {
+ let path = dir.join(name);
+ let meta = std::fs::metadata(&path).unwrap();
+ assert!(meta.len() > 0, "{name} must not be empty");
+ }
+}