mirror of
https://github.com/nix-community/home-manager.git
synced 2025-11-08 19:46:05 +01:00
dunst: add tests
This commit is contained in:
parent
174ba89ccb
commit
584fccfdfa
5 changed files with 123 additions and 0 deletions
6
tests/modules/services/dunst/default.nix
Normal file
6
tests/modules/services/dunst/default.nix
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{ lib, pkgs, ... }:
|
||||
|
||||
lib.optionalAttrs pkgs.stdenv.hostPlatform.isLinux {
|
||||
dunst-with-settings = ./with-settings.nix;
|
||||
dunst-without-settings = ./without-settings.nix;
|
||||
}
|
||||
14
tests/modules/services/dunst/with-settings-expected.ini
Normal file
14
tests/modules/services/dunst/with-settings-expected.ini
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
[global]
|
||||
font="Droid Sans 9"
|
||||
frame_color="#eceff1"
|
||||
height=300
|
||||
icon_path="/run/current-system/sw/share/icons/hicolor/32x32/actions:/run/current-system/sw/share/icons/hicolor/32x32/animations:/run/current-system/sw/share/icons/hicolor/32x32/apps:/run/current-system/sw/share/icons/hicolor/32x32/categories:/run/current-system/sw/share/icons/hicolor/32x32/devices:/run/current-system/sw/share/icons/hicolor/32x32/emblems:/run/current-system/sw/share/icons/hicolor/32x32/emotes:/run/current-system/sw/share/icons/hicolor/32x32/filesystem:/run/current-system/sw/share/icons/hicolor/32x32/intl:/run/current-system/sw/share/icons/hicolor/32x32/legacy:/run/current-system/sw/share/icons/hicolor/32x32/mimetypes:/run/current-system/sw/share/icons/hicolor/32x32/places:/run/current-system/sw/share/icons/hicolor/32x32/status:/run/current-system/sw/share/icons/hicolor/32x32/stock:/home/hm-user/.nix-profile/share/icons/hicolor/32x32/actions:/home/hm-user/.nix-profile/share/icons/hicolor/32x32/animations:/home/hm-user/.nix-profile/share/icons/hicolor/32x32/apps:/home/hm-user/.nix-profile/share/icons/hicolor/32x32/categories:/home/hm-user/.nix-profile/share/icons/hicolor/32x32/devices:/home/hm-user/.nix-profile/share/icons/hicolor/32x32/emblems:/home/hm-user/.nix-profile/share/icons/hicolor/32x32/emotes:/home/hm-user/.nix-profile/share/icons/hicolor/32x32/filesystem:/home/hm-user/.nix-profile/share/icons/hicolor/32x32/intl:/home/hm-user/.nix-profile/share/icons/hicolor/32x32/legacy:/home/hm-user/.nix-profile/share/icons/hicolor/32x32/mimetypes:/home/hm-user/.nix-profile/share/icons/hicolor/32x32/places:/home/hm-user/.nix-profile/share/icons/hicolor/32x32/status:/home/hm-user/.nix-profile/share/icons/hicolor/32x32/stock:@hicolor-icon-theme@/share/icons/hicolor/32x32/actions:@hicolor-icon-theme@/share/icons/hicolor/32x32/animations:@hicolor-icon-theme@/share/icons/hicolor/32x32/apps:@hicolor-icon-theme@/share/icons/hicolor/32x32/categories:@hicolor-icon-theme@/share/icons/hicolor/32x32/devices:@hicolor-icon-theme@/share/icons/hicolor/32x32/emblems:@hicolor-icon-theme@/share/icons/hicolor/32x32/emotes:@hicolor-icon-theme@/share/icons/hicolor/32x32/filesystem:@hicolor-icon-theme@/share/icons/hicolor/32x32/intl:@hicolor-icon-theme@/share/icons/hicolor/32x32/legacy:@hicolor-icon-theme@/share/icons/hicolor/32x32/mimetypes:@hicolor-icon-theme@/share/icons/hicolor/32x32/places:@hicolor-icon-theme@/share/icons/hicolor/32x32/status:@hicolor-icon-theme@/share/icons/hicolor/32x32/stock"
|
||||
offset="30x50"
|
||||
origin="top-right"
|
||||
transparency=10
|
||||
width=300
|
||||
|
||||
[urgency_normal]
|
||||
background="#37474f"
|
||||
foreground="#eceff1"
|
||||
timeout=10
|
||||
59
tests/modules/services/dunst/with-settings.nix
Normal file
59
tests/modules/services/dunst/with-settings.nix
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
{ config, ... }:
|
||||
let
|
||||
inherit (config.lib.test) mkStubPackage;
|
||||
in
|
||||
{
|
||||
services.dunst = {
|
||||
enable = true;
|
||||
package = mkStubPackage {
|
||||
name = "dunst";
|
||||
buildScript = ''
|
||||
mkdir -p $out/share/dbus-1/services
|
||||
echo test > $out/share/dbus-1/services/org.knopwob.dunst.service
|
||||
'';
|
||||
};
|
||||
settings = {
|
||||
global = {
|
||||
width = 300;
|
||||
height = 300;
|
||||
offset = "30x50";
|
||||
origin = "top-right";
|
||||
transparency = 10;
|
||||
frame_color = "#eceff1";
|
||||
font = "Droid Sans 9";
|
||||
};
|
||||
|
||||
urgency_normal = {
|
||||
background = "#37474f";
|
||||
foreground = "#eceff1";
|
||||
timeout = 10;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
nmt.script = ''
|
||||
configFile=home-files/.config/dunst/dunstrc
|
||||
serviceFile=home-files/.config/systemd/user/dunst.service
|
||||
|
||||
assertFileExists $configFile
|
||||
assertFileContent $configFile ${./with-settings-expected.ini}
|
||||
|
||||
assertFileExists $serviceFile
|
||||
assertFileContent \
|
||||
$(normalizeStorePaths $serviceFile) \
|
||||
${builtins.toFile "expected.service" ''
|
||||
[Service]
|
||||
BusName=org.freedesktop.Notifications
|
||||
Environment=
|
||||
ExecReload=/nix/store/00000000000000000000000000000000-dunst/bin/dunstctl reload
|
||||
ExecStart=/nix/store/00000000000000000000000000000000-dunst/bin/dunst
|
||||
Type=dbus
|
||||
|
||||
[Unit]
|
||||
After=graphical-session.target
|
||||
Description=Dunst notification daemon
|
||||
PartOf=graphical-session.target
|
||||
X-Reload-Triggers=/nix/store/00000000000000000000000000000000-hm_dunstdunstrc
|
||||
''}
|
||||
'';
|
||||
}
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
[global]
|
||||
icon_path="/run/current-system/sw/share/icons/hicolor/32x32/actions:/run/current-system/sw/share/icons/hicolor/32x32/animations:/run/current-system/sw/share/icons/hicolor/32x32/apps:/run/current-system/sw/share/icons/hicolor/32x32/categories:/run/current-system/sw/share/icons/hicolor/32x32/devices:/run/current-system/sw/share/icons/hicolor/32x32/emblems:/run/current-system/sw/share/icons/hicolor/32x32/emotes:/run/current-system/sw/share/icons/hicolor/32x32/filesystem:/run/current-system/sw/share/icons/hicolor/32x32/intl:/run/current-system/sw/share/icons/hicolor/32x32/legacy:/run/current-system/sw/share/icons/hicolor/32x32/mimetypes:/run/current-system/sw/share/icons/hicolor/32x32/places:/run/current-system/sw/share/icons/hicolor/32x32/status:/run/current-system/sw/share/icons/hicolor/32x32/stock:/home/hm-user/.nix-profile/share/icons/hicolor/32x32/actions:/home/hm-user/.nix-profile/share/icons/hicolor/32x32/animations:/home/hm-user/.nix-profile/share/icons/hicolor/32x32/apps:/home/hm-user/.nix-profile/share/icons/hicolor/32x32/categories:/home/hm-user/.nix-profile/share/icons/hicolor/32x32/devices:/home/hm-user/.nix-profile/share/icons/hicolor/32x32/emblems:/home/hm-user/.nix-profile/share/icons/hicolor/32x32/emotes:/home/hm-user/.nix-profile/share/icons/hicolor/32x32/filesystem:/home/hm-user/.nix-profile/share/icons/hicolor/32x32/intl:/home/hm-user/.nix-profile/share/icons/hicolor/32x32/legacy:/home/hm-user/.nix-profile/share/icons/hicolor/32x32/mimetypes:/home/hm-user/.nix-profile/share/icons/hicolor/32x32/places:/home/hm-user/.nix-profile/share/icons/hicolor/32x32/status:/home/hm-user/.nix-profile/share/icons/hicolor/32x32/stock:@hicolor-icon-theme@/share/icons/hicolor/32x32/actions:@hicolor-icon-theme@/share/icons/hicolor/32x32/animations:@hicolor-icon-theme@/share/icons/hicolor/32x32/apps:@hicolor-icon-theme@/share/icons/hicolor/32x32/categories:@hicolor-icon-theme@/share/icons/hicolor/32x32/devices:@hicolor-icon-theme@/share/icons/hicolor/32x32/emblems:@hicolor-icon-theme@/share/icons/hicolor/32x32/emotes:@hicolor-icon-theme@/share/icons/hicolor/32x32/filesystem:@hicolor-icon-theme@/share/icons/hicolor/32x32/intl:@hicolor-icon-theme@/share/icons/hicolor/32x32/legacy:@hicolor-icon-theme@/share/icons/hicolor/32x32/mimetypes:@hicolor-icon-theme@/share/icons/hicolor/32x32/places:@hicolor-icon-theme@/share/icons/hicolor/32x32/status:@hicolor-icon-theme@/share/icons/hicolor/32x32/stock"
|
||||
42
tests/modules/services/dunst/without-settings.nix
Normal file
42
tests/modules/services/dunst/without-settings.nix
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
{ config, ... }:
|
||||
let
|
||||
inherit (config.lib.test) mkStubPackage;
|
||||
in
|
||||
{
|
||||
services.dunst = {
|
||||
enable = true;
|
||||
package = mkStubPackage {
|
||||
name = "dunst";
|
||||
buildScript = ''
|
||||
mkdir -p $out/share/dbus-1/services
|
||||
echo test > $out/share/dbus-1/services/org.knopwob.dunst.service
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
nmt.script = ''
|
||||
configFile=home-files/.config/dunst/dunstrc
|
||||
serviceFile=home-files/.config/systemd/user/dunst.service
|
||||
|
||||
assertFileExists $configFile
|
||||
assertFileContent $configFile ${./without-settings-expected.ini}
|
||||
|
||||
assertFileExists $serviceFile
|
||||
assertFileContent \
|
||||
$(normalizeStorePaths $serviceFile) \
|
||||
${builtins.toFile "expected.service" ''
|
||||
[Service]
|
||||
BusName=org.freedesktop.Notifications
|
||||
Environment=
|
||||
ExecReload=/nix/store/00000000000000000000000000000000-dunst/bin/dunstctl reload
|
||||
ExecStart=/nix/store/00000000000000000000000000000000-dunst/bin/dunst
|
||||
Type=dbus
|
||||
|
||||
[Unit]
|
||||
After=graphical-session.target
|
||||
Description=Dunst notification daemon
|
||||
PartOf=graphical-session.target
|
||||
X-Reload-Triggers=/nix/store/00000000000000000000000000000000-hm_dunstdunstrc
|
||||
''}
|
||||
'';
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue