depot/third_party/nixpkgs/nixos/tests/uwsgi.nix
Default email ae1b531433 Project import generated by Copybara.
GitOrigin-RevId: 1dc37370c489b610f8b91d7fdd40633163ffbafd
2020-10-27 01:29:36 +01:00

38 lines
1,002 B
Nix

import ./make-test-python.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.wait_for_unit("multi-user.target")
machine.wait_for_unit("uwsgi.service")
machine.wait_for_open_port(8000)
assert "Hello World" in machine.succeed("curl -fv 127.0.0.1:8000")
'';
})