nixos: add test for uwsgi

wip/yesman
Daiderd Jordan 5 years ago
parent 915085c6de
commit 8ce93e26b0
No known key found for this signature in database
GPG Key ID: D02435D05B810C96
  1. 1
      nixos/tests/all-tests.nix
  2. 38
      nixos/tests/uwsgi.nix

@ -246,6 +246,7 @@ in
transmission = handleTest ./transmission.nix {};
udisks2 = handleTest ./udisks2.nix {};
upnp = handleTest ./upnp.nix {};
uwsgi = handleTest ./uwsgi.nix {};
vault = handleTest ./vault.nix {};
virtualbox = handleTestOn ["x86_64-linux"] ./virtualbox.nix {};
wireguard = handleTest ./wireguard {};

@ -0,0 +1,38 @@
import ./make-test.nix ({ pkgs, ... }:
{
name = "uwsgi";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ lnl7 ];
};
machine = { pkgs, ... }: {
services.uwsgi.enable = true;
services.uwsgi.plugins = [ "python3" ];
services.uwsgi.instance = {
type = "emperor";
vassals.hello = {
type = "normal";
master = true;
workers = 2;
http = ":8000";
module = "wsgi:application";
chdir = pkgs.writeTextDir "wsgi.py" ''
from flask import Flask
application = Flask(__name__)
@application.route("/")
def hello():
return "Hello World!"
'';
pythonPackages = self: with self; [ flask ];
};
};
};
testScript =
''
$machine->waitForUnit('multi-user.target');
$machine->waitForUnit('uwsgi.service');
$machine->waitForOpenPort(8000);
$machine->succeed('curl -v 127.0.0.1:8000 | grep "Hello World!"');
'';
})
Loading…
Cancel
Save