summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaiderd Jordan <daiderd@gmail.com>2018-03-05 23:00:50 +0100
committerDaiderd Jordan <daiderd@gmail.com>2018-03-05 23:00:50 +0100
commit84a3fcadd06c35a91eb84a5739452c53be55d8ea (patch)
treef9d22f6590bc168464151065961359a94820b46b
parent2bcccfab29d806d3999fe3181ca8dcab21b7dd0e (diff)
ofborg: add basic test
-rw-r--r--modules/services/ofborg/default.nix12
-rw-r--r--release.nix1
-rw-r--r--tests/services-ofborg.nix30
3 files changed, 37 insertions, 6 deletions
diff --git a/modules/services/ofborg/default.nix b/modules/services/ofborg/default.nix
index ff691e8..eedb625 100644
--- a/modules/services/ofborg/default.nix
+++ b/modules/services/ofborg/default.nix
@@ -91,18 +91,18 @@ in
# FIXME: create logfiles automatically if defined.
system.activationScripts.preActivation.text = ''
- mkdir -p "${user.home}"
- touch "${cfg.logFile}"
- chown ${toString user.uid}:${toString user.gid} "${user.home}" "${cfg.logFile}"
+ mkdir -p '${user.home}'
+ touch '${cfg.logFile}'
+ chown ${toString user.uid}:${toString user.gid} '${user.home}' '${cfg.logFile}'
'';
system.activationScripts.postActivation.text = ''
- if ! test -f "${cfg.configFile}"; then
+ if ! test -f '${cfg.configFile}'; then
echo >&2 "warning: ofborg config \"${cfg.configFile}\" does not exist"
fi
- chmod 600 "${cfg.configFile}"
- chown ${toString user.uid}:${toString user.gid} "${cfg.configFile}"
+ chmod 600 '${cfg.configFile}'
+ chown ${toString user.uid}:${toString user.gid} '${cfg.configFile}'
'';
};
diff --git a/release.nix b/release.nix
index 6d50d57..662b7d1 100644
--- a/release.nix
+++ b/release.nix
@@ -99,6 +99,7 @@ let
tests.programs-zsh = makeTest ./tests/programs-zsh.nix;
tests.services-activate-system = makeTest ./tests/services-activate-system.nix;
tests.services-buildkite-agent = makeTest ./tests/services-buildkite-agent.nix;
+ tests.services-ofborg = makeTest ./tests/services-ofborg.nix;
tests.services-skhd = makeTest ./tests/services-skhd.nix;
tests.system-defaults-write = makeTest ./tests/system-defaults-write.nix;
tests.system-keyboard-mapping = makeTest ./tests/system-keyboard-mapping.nix;
diff --git a/tests/services-ofborg.nix b/tests/services-ofborg.nix
new file mode 100644
index 0000000..fc7d9b5
--- /dev/null
+++ b/tests/services-ofborg.nix
@@ -0,0 +1,30 @@
+{ config, pkgs, ... }:
+
+let
+ ofborg = pkgs.runCommand "ofborg-0.0.0" {} "mkdir $out";
+in
+
+{
+ services.ofborg.enable = true;
+ services.ofborg.package = ofborg;
+
+ users.knownGroups = [ "ofborg" ];
+ users.knownUsers = [ "ofborg" ];
+
+ test = ''
+ echo >&2 "checking ofborg service in /Library/LaunchDaemons"
+ grep "org.nixos.ofborg" ${config.out}/Library/LaunchDaemons/org.nixos.ofborg.plist
+ grep "<string>ofborg</string>" ${config.out}/Library/LaunchDaemons/org.nixos.ofborg.plist
+
+ echo >&2 "checking for user in /activate"
+ grep "OfBorg service user" ${config.out}/activate
+
+ echo >&2 "checking for logfile permissions in /activate"
+ grep "touch '/var/log/ofborg.log'" ${config.out}/activate
+ grep "chown .* '/var/log/ofborg.log'" ${config.out}/activate
+
+ echo >&2 "checking config.json permissions in /activate"
+ grep "chmod 600 '/var/lib/ofborg/config.json'" ${config.out}/activate
+ grep "chown .* '/var/lib/ofborg/config.json'" ${config.out}/activate
+ '';
+}