Personal-use NixOS configuration

Add tests (somehow forgotten)

+168
+43
tests/byparr.nix
··· 1 + { 2 + flake, 3 + pkgs, 4 + lib, 5 + ... 6 + }: 7 + 8 + let 9 + byparrPort = 8191; 10 + in 11 + pkgs.testers.nixosTest { 12 + name = "byparr-test"; 13 + 14 + nodes.machine = 15 + { config, ... }: 16 + { 17 + imports = [ 18 + flake.nixosModules.byparr 19 + ]; 20 + 21 + virtualisation.diskSize = 4096; 22 + 23 + networking.firewall.enable = false; 24 + networking.useDHCP = true; 25 + 26 + services.byparr = { 27 + enable = true; 28 + 29 + port = byparrPort; 30 + }; 31 + }; 32 + 33 + testScript = '' 34 + machine.start() 35 + 36 + machine.wait_for_unit("byparr.service") 37 + machine.wait_for_open_port(${toString byparrPort}) 38 + 39 + machine.succeed("curl -L -X POST 'http://localhost:8191/v1' -H 'Content-Type: application/json' --data-raw '{ \"cmd\": \"request.get\", \"url\": \"http://www.google.com/\", \"maxTimeout\": 60000 }'") 40 + ''; 41 + 42 + meta.maintainers = [ lib.maintainers.encode42 ]; 43 + }
+30
tests/cells.nix
··· 1 + { 2 + flake, 3 + pkgs, 4 + lib, 5 + ... 6 + }: 7 + 8 + pkgs.testers.nixosTest { 9 + name = "cells-test"; 10 + 11 + nodes.machine = 12 + { ... }: 13 + { 14 + imports = [ 15 + flake.nixosModules.cells 16 + ]; 17 + 18 + services.cells.enable = true; 19 + }; 20 + 21 + # TODO: This is a very basic test 22 + 23 + testScript = '' 24 + machine.start() 25 + machine.wait_for_unit("cells.service") 26 + machine.succeed("systemctl is-active cells.service") 27 + ''; 28 + 29 + meta.maintainers = [ lib.maintainers.encode42 ]; 30 + }
+17
tests/default.nix
··· 1 + { flake, pkgs }: 2 + 3 + let 4 + mkTest = 5 + path: 6 + import path { 7 + inherit flake pkgs; 8 + 9 + lib = pkgs.lib; 10 + }; 11 + in 12 + { 13 + byparr = mkTest ./byparr.nix; 14 + cells = mkTest ./cells.nix; 15 + network-optimizer = mkTest ./network-optimizer.nix; 16 + omnipoly = mkTest ./omnipoly.nix; 17 + }
+32
tests/network-optimizer.nix
··· 1 + { 2 + flake, 3 + pkgs, 4 + lib, 5 + ... 6 + }: 7 + 8 + pkgs.testers.nixosTest { 9 + name = "network-optimizer-test"; 10 + 11 + nodes.machine = 12 + { config, ... }: 13 + { 14 + imports = [ 15 + flake.nixosModules.network-optimizer 16 + ]; 17 + 18 + services.network-optimizer = { 19 + enable = true; 20 + }; 21 + }; 22 + 23 + # TODO: This is a very basic test 24 + 25 + testScript = '' 26 + machine.start() 27 + machine.wait_for_unit("network-optimizer.service") 28 + machine.succeed("systemctl is-active network-optimizer.service") 29 + ''; 30 + 31 + meta.maintainers = [ lib.maintainers.encode42 ]; 32 + }
+46
tests/omnipoly.nix
··· 1 + { 2 + flake, 3 + pkgs, 4 + lib, 5 + ... 6 + }: 7 + 8 + pkgs.testers.nixosTest { 9 + name = "omnipoly-test"; 10 + 11 + nodes.machine = 12 + { config, ... }: 13 + { 14 + imports = [ 15 + flake.nixosModules.omnipoly 16 + ]; 17 + 18 + services.languagetool = { 19 + enable = true; 20 + 21 + port = 6000; 22 + }; 23 + 24 + services.libretranslate = { 25 + enable = true; 26 + 27 + disableWebUI = true; 28 + 29 + port = 7000; 30 + }; 31 + 32 + services.omnipoly = { 33 + enable = true; 34 + }; 35 + }; 36 + 37 + # TODO: This is a very basic test 38 + 39 + testScript = '' 40 + machine.start() 41 + machine.wait_for_unit("omnipoly.service") 42 + machine.succeed("systemctl is-active omnipoly.service") 43 + ''; 44 + 45 + meta.maintainers = [ lib.maintainers.encode42 ]; 46 + }