nixosTests.stunnel: handleTest -> runTest

Changed files
+14 -17
nixos
+1 -1
nixos/tests/all-tests.nix
···
stratis = handleTest ./stratis { };
strongswan-swanctl = runTest ./strongswan-swanctl.nix;
stub-ld = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./stub-ld.nix { };
-
stunnel = handleTest ./stunnel.nix { };
sudo = runTest ./sudo.nix;
sudo-rs = runTest ./sudo-rs.nix;
sunshine = runTest ./sunshine.nix;
···
stratis = handleTest ./stratis { };
strongswan-swanctl = runTest ./strongswan-swanctl.nix;
stub-ld = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./stub-ld.nix { };
+
stunnel = import ./stunnel.nix { inherit runTest; };
sudo = runTest ./sudo.nix;
sudo-rs = runTest ./sudo-rs.nix;
sunshine = runTest ./sunshine.nix;
+13 -16
nixos/tests/stunnel.nix
···
-
{
-
system ? builtins.currentSystem,
-
config ? { },
-
pkgs ? import ../.. { inherit system config; },
-
}:
-
-
with import ../lib/testing-python.nix { inherit system pkgs; };
-
with pkgs.lib;
let
stunnelCommon = {
···
};
};
makeCert =
-
{ config, pkgs, ... }:
{
systemd.services.create-test-cert = {
wantedBy = [ "sysinit.target" ];
···
unitConfig.DefaultDependencies = false;
serviceConfig.Type = "oneshot";
script = ''
-
${pkgs.openssl}/bin/openssl req -batch -x509 -newkey rsa -nodes -out /test-cert.pem -keyout /test-key.pem -subj /CN=${config.networking.hostName}
( umask 077; cat /test-key.pem /test-cert.pem > /test-key-and-cert.pem )
chown stunnel /test-key.pem /test-key-and-cert.pem
'';
};
};
serverCommon =
-
{ pkgs, ... }:
{
networking.firewall.allowedTCPPorts = [ 443 ];
services.stunnel.servers.https = {
···
wantedBy = [ "multi-user.target" ];
script = ''
cd /etc/webroot
-
${pkgs.python3}/bin/python -m http.server 80
'';
};
};
···
server_cert = ${src}.succeed("cat /test-cert.pem")
${dest}.succeed("echo %s > ${filename}" % quote(server_cert))
'';
-
in
{
-
basicServer = makeTest {
name = "basicServer";
nodes = {
···
'';
};
-
serverAndClient = makeTest {
name = "serverAndClient";
nodes = {
···
'';
};
-
mutualAuth = makeTest {
name = "mutualAuth";
nodes = rec {
···
+
{ runTest }:
let
stunnelCommon = {
···
};
};
makeCert =
+
{
+
config,
+
lib,
+
pkgs,
+
...
+
}:
{
systemd.services.create-test-cert = {
wantedBy = [ "sysinit.target" ];
···
unitConfig.DefaultDependencies = false;
serviceConfig.Type = "oneshot";
script = ''
+
${lib.getExe pkgs.openssl} req -batch -x509 -newkey rsa -nodes -out /test-cert.pem -keyout /test-key.pem -subj /CN=${config.networking.hostName}
( umask 077; cat /test-key.pem /test-cert.pem > /test-key-and-cert.pem )
chown stunnel /test-key.pem /test-key-and-cert.pem
'';
};
};
serverCommon =
+
{ lib, pkgs, ... }:
{
networking.firewall.allowedTCPPorts = [ 443 ];
services.stunnel.servers.https = {
···
wantedBy = [ "multi-user.target" ];
script = ''
cd /etc/webroot
+
${lib.getExe' pkgs.python3 "python"} -m http.server 80
'';
};
};
···
server_cert = ${src}.succeed("cat /test-cert.pem")
${dest}.succeed("echo %s > ${filename}" % quote(server_cert))
'';
in
{
+
basicServer = runTest {
name = "basicServer";
nodes = {
···
'';
};
+
serverAndClient = runTest {
name = "serverAndClient";
nodes = {
···
'';
};
+
mutualAuth = runTest {
name = "mutualAuth";
nodes = rec {