nixos/hledger-web: init module and test
This commit is contained in:
@@ -155,6 +155,7 @@ in
|
||||
# not on other platforms.
|
||||
hibernate = handleTestOn ["x86_64-linux"] ./hibernate.nix {};
|
||||
hitch = handleTest ./hitch {};
|
||||
hledger-web = handleTest ./hledger-web.nix {};
|
||||
hocker-fetchdocker = handleTest ./hocker-fetchdocker {};
|
||||
home-assistant = handleTest ./home-assistant.nix {};
|
||||
hostname = handleTest ./hostname.nix {};
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
import ./make-test-python.nix ({ pkgs, lib, ... }:
|
||||
let
|
||||
journal = pkgs.writeText "test.journal" ''
|
||||
2010/01/10 Loan
|
||||
assets:cash 500$
|
||||
income:loan -500$
|
||||
2010/01/10 NixOS Foundation donation
|
||||
expenses:donation 250$
|
||||
assets:cash -250$
|
||||
'';
|
||||
in
|
||||
rec {
|
||||
name = "hledger-web";
|
||||
meta.maintainers = with lib.maintainers; [ marijanp ];
|
||||
|
||||
nodes = {
|
||||
server = { config, pkgs, ... }: rec {
|
||||
services.hledger-web = {
|
||||
host = "127.0.0.1";
|
||||
port = 5000;
|
||||
enable = true;
|
||||
journalFile = journal;
|
||||
};
|
||||
networking.firewall.allowedTCPPorts = [ services.hledger-web.port ];
|
||||
};
|
||||
apiserver = { config, pkgs, ... }: rec {
|
||||
services.hledger-web = {
|
||||
host = "127.0.0.1";
|
||||
port = 5000;
|
||||
enable = true;
|
||||
serveApi = true;
|
||||
journalFile = journal;
|
||||
};
|
||||
networking.firewall.allowedTCPPorts = [ services.hledger-web.port ];
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
server.wait_for_unit("hledger-web.service")
|
||||
server.wait_for_open_port(5000)
|
||||
with subtest("Check if web UI is accessible"):
|
||||
page = server.succeed("curl -L http://127.0.0.1:5000")
|
||||
assert "test.journal" in page
|
||||
|
||||
apiserver.wait_for_unit("hledger-web.service")
|
||||
apiserver.wait_for_open_port(5000)
|
||||
with subtest("Check if the JSON API is served"):
|
||||
transactions = apiserver.succeed("curl -L http://127.0.0.1:5000/transactions")
|
||||
assert "NixOS Foundation donation" in transactions
|
||||
'';
|
||||
})
|
||||
Reference in New Issue
Block a user