From dd5dcc65ac3b71bc65f884b8be175aa535ef6074 Mon Sep 17 00:00:00 2001 From: WilliButz Date: Sun, 19 Aug 2018 18:09:17 +0200 Subject: nixos/tests: add test for codimd --- nixos/release.nix | 1 + nixos/tests/codimd.nix | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 nixos/tests/codimd.nix (limited to 'nixos') diff --git a/nixos/release.nix b/nixos/release.nix index 0fd8d694641f..ee31564bcf74 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -261,6 +261,7 @@ in rec { tests.chromium = (callSubTestsOnMatchingSystems ["x86_64-linux"] tests/chromium.nix {}).stable or {}; tests.cjdns = callTest tests/cjdns.nix {}; tests.cloud-init = callTest tests/cloud-init.nix {}; + tests.codimd = callTest tests/codimd.nix {}; tests.containers-ipv4 = callTest tests/containers-ipv4.nix {}; tests.containers-ipv6 = callTest tests/containers-ipv6.nix {}; tests.containers-bridge = callTest tests/containers-bridge.nix {}; diff --git a/nixos/tests/codimd.nix b/nixos/tests/codimd.nix new file mode 100644 index 000000000000..8f98d9f3fa72 --- /dev/null +++ b/nixos/tests/codimd.nix @@ -0,0 +1,56 @@ +import ./make-test.nix ({ pkgs, lib, ... }: +{ + name = "codimd"; + + meta = with lib.maintainers; { + maintainers = [ willibutz ]; + }; + + nodes = { + codimdSqlite = { ... }: { + services = { + codimd = { + enable = true; + configuration.dbURL = "sqlite:///var/lib/codimd/codimd.db"; + }; + }; + }; + + codimdPostgres = { ... }: { + systemd.services.codimd.after = [ "postgresql.service" ]; + services = { + codimd = { + enable = true; + configuration.dbURL = "postgres://codimd:snakeoilpassword@localhost:5432/codimddb"; + }; + postgresql = { + enable = true; + initialScript = pkgs.writeText "pg-init-script.sql" '' + CREATE ROLE codimd LOGIN PASSWORD 'snakeoilpassword'; + CREATE DATABASE codimddb OWNER codimd; + ''; + }; + }; + }; + }; + + testScript = '' + startAll(); + + subtest "CodiMD sqlite", sub { + $codimdSqlite->waitForUnit("codimd.service"); + $codimdSqlite->waitForOpenPort(3000); + $codimdPostgres->succeed("sleep 2"); # avoid 503 during startup + $codimdSqlite->succeed("curl -sSf http://localhost:3000/new"); + }; + + subtest "CodiMD postgres", sub { + $codimdPostgres->waitForUnit("postgresql.service"); + $codimdPostgres->waitForUnit("codimd.service"); + $codimdPostgres->waitForOpenPort(5432); + $codimdPostgres->waitForOpenPort(3000); + $codimdPostgres->succeed("sleep 2"); # avoid 503 during startup + $codimdPostgres->succeed("curl -sSf http://localhost:3000/new"); + }; + ''; +}) -- cgit 1.4.1