diff options
Diffstat (limited to 'nixpkgs/nixos/tests/uwsgi.nix')
-rw-r--r-- | nixpkgs/nixos/tests/uwsgi.nix | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/nixpkgs/nixos/tests/uwsgi.nix b/nixpkgs/nixos/tests/uwsgi.nix new file mode 100644 index 000000000000..afc03e74ed7e --- /dev/null +++ b/nixpkgs/nixos/tests/uwsgi.nix @@ -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!"'); + ''; +}) |