From e3a14a44533e8304507728bad72bc1d8a4a4270a Mon Sep 17 00:00:00 2001 From: Gabriel Arazas Date: Sat, 9 Mar 2024 11:24:20 +0800 Subject: [PATCH] tests/modules/home-manager: init services.archivebox --- tests/modules/home-manager/default.nix | 1 + .../services/archivebox/basic-job.nix | 23 +++++++++ .../services/archivebox/default.nix | 5 ++ .../services/archivebox/multiple-jobs.nix | 50 +++++++++++++++++++ .../services/archivebox/webserver.nix | 30 +++++++++++ 5 files changed, 109 insertions(+) create mode 100644 tests/modules/home-manager/services/archivebox/basic-job.nix create mode 100644 tests/modules/home-manager/services/archivebox/default.nix create mode 100644 tests/modules/home-manager/services/archivebox/multiple-jobs.nix create mode 100644 tests/modules/home-manager/services/archivebox/webserver.nix diff --git a/tests/modules/home-manager/default.nix b/tests/modules/home-manager/default.nix index c63f463a..14eea902 100644 --- a/tests/modules/home-manager/default.nix +++ b/tests/modules/home-manager/default.nix @@ -56,6 +56,7 @@ import nmt { ./programs/pop-launcher ] ++ lib.optionals isLinux [ + ./services/archivebox ./services/matcha ./services/plover ./services/yt-dlp diff --git a/tests/modules/home-manager/services/archivebox/basic-job.nix b/tests/modules/home-manager/services/archivebox/basic-job.nix new file mode 100644 index 00000000..1b9c754d --- /dev/null +++ b/tests/modules/home-manager/services/archivebox/basic-job.nix @@ -0,0 +1,23 @@ +{ config, ... }: + +{ + services.archivebox = { + enable = true; + archivePath = "${config.xdg.userDirs.documents}/ArchiveBox"; + + jobs.art = { + links = [ + "https://www.davidrevoy.com/" + "https://www.youtube.com/c/ronillust" + ]; + startAt = "weekly"; + }; + }; + + test.stubs.archivebox = { }; + + nmt.script = '' + assertFileExists home-files/.config/systemd/user/archivebox-job-art.service + assertFileExists home-files/.config/systemd/user/archivebox-job-art.timer + ''; +} diff --git a/tests/modules/home-manager/services/archivebox/default.nix b/tests/modules/home-manager/services/archivebox/default.nix new file mode 100644 index 00000000..6af353a1 --- /dev/null +++ b/tests/modules/home-manager/services/archivebox/default.nix @@ -0,0 +1,5 @@ +{ + archivebox-basic-job = ./basic-job.nix; + archivebox-multiple-jobs = ./multiple-jobs.nix; + archivebox-webserver = ./webserver.nix; +} diff --git a/tests/modules/home-manager/services/archivebox/multiple-jobs.nix b/tests/modules/home-manager/services/archivebox/multiple-jobs.nix new file mode 100644 index 00000000..564de5b3 --- /dev/null +++ b/tests/modules/home-manager/services/archivebox/multiple-jobs.nix @@ -0,0 +1,50 @@ +{ config, ... }: + +{ + services.archivebox = { + enable = true; + archivePath = "${config.xdg.userDirs.documents}/ArchiveBox"; + + jobs = { + art = { + links = [ + "https://www.davidrevoy.com/" + "https://www.youtube.com/c/ronillust" + ]; + startAt = "weekly"; + }; + + research = { + links = [ + "https://arxiv.org/rss/cs" + "https://distill.pub/" + ]; + extraArgs = [ "--depth" "1" ]; + startAt = "daily"; + }; + + tech = { + links = [ + "https://thisweek.gnome.org/index.xml" + "https://pointieststick.com/feed" + "https://planet.gnome.org/atom.xml" + "https://planet.kde.org/atom.xml" + ]; + startAt = "daily"; + }; + }; + }; + + test.stubs.archivebox = { }; + + nmt.script = '' + assertFileExists home-files/.config/systemd/user/archivebox-job-art.service + assertFileExists home-files/.config/systemd/user/archivebox-job-art.timer + + assertFileExists home-files/.config/systemd/user/archivebox-job-research.service + assertFileExists home-files/.config/systemd/user/archivebox-job-research.timer + + assertFileExists home-files/.config/systemd/user/archivebox-job-tech.service + assertFileExists home-files/.config/systemd/user/archivebox-job-tech.timer + ''; +} diff --git a/tests/modules/home-manager/services/archivebox/webserver.nix b/tests/modules/home-manager/services/archivebox/webserver.nix new file mode 100644 index 00000000..33d4f48d --- /dev/null +++ b/tests/modules/home-manager/services/archivebox/webserver.nix @@ -0,0 +1,30 @@ +{ config, ... }: + +{ + services.archivebox = { + enable = true; + archivePath = "${config.xdg.userDirs.documents}/ArchiveBox"; + + jobs.art = { + links = [ + "https://www.davidrevoy.com/" + "https://www.youtube.com/c/ronillust" + ]; + startAt = "weekly"; + }; + + webserver = { + enable = true; + port = 8888; + }; + }; + + test.stubs.archivebox = { }; + + nmt.script = '' + assertFileExists home-files/.config/systemd/user/archivebox-job-art.service + assertFileExists home-files/.config/systemd/user/archivebox-job-art.timer + + assertFileExists home-files/.config/systemd/user/archivebox-server.service + ''; +}