python313Packages.libknot: 3.4.3 -> 3.4.4 (#377359)
[NixPkgs.git] / nixos / tests / web-servers / unit-perl.nix
blobe632221747cf5dbce8dbbc8aa6b60dad6d2b1650
1 import ../make-test-python.nix (
2   { pkgs, ... }:
3   let
4     testdir = pkgs.writeTextDir "www/app.psgi" ''
5       my $app = sub {
6           return [
7               "200",
8               [ "Content-Type" => "text/plain" ],
9               [ "Hello, Perl on Unit!" ],
10           ];
11       };
12     '';
14   in
15   {
16     name = "unit-perl-test";
17     meta.maintainers = with pkgs.lib.maintainers; [ sgo ];
19     nodes.machine =
20       {
21         config,
22         lib,
23         pkgs,
24         ...
25       }:
26       {
27         services.unit = {
28           enable = true;
29           config = pkgs.lib.strings.toJSON {
30             listeners."*:8080".application = "perl";
31             applications.perl = {
32               type = "perl";
33               script = "${testdir}/www/app.psgi";
34             };
35           };
36         };
37       };
38     testScript = ''
39       machine.wait_for_unit("unit.service")
40       machine.wait_for_open_port(8080)
42       response = machine.succeed("curl -f -vvv -s http://127.0.0.1:8080/")
43       assert "Hello, Perl on Unit!" in response, "Hello world"
44     '';
45   }