diff options
author | ajs124 <ajs124@users.noreply.github.com> | 2022-03-01 04:03:47 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-01 11:03:47 +0800 |
commit | 8289e6478beea99d7278891526d93bca62266509 (patch) | |
tree | a45bc21d98e98de7e3d9a3b04a841ef283fd475f /nixos/tests/vsftpd.nix | |
parent | e78a5bc15a0f32c6a2a203b1d759968b83f78bb0 (diff) |
vsftpd: enable seccomp (#158974)
* vsftpd: enable seccomp * nixos/tests/vsftpd: add basic test * vsftpd: add test to passthru
Diffstat (limited to 'nixos/tests/vsftpd.nix')
-rw-r--r-- | nixos/tests/vsftpd.nix | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/nixos/tests/vsftpd.nix b/nixos/tests/vsftpd.nix new file mode 100644 index 0000000000000..4bea27f0eb109 --- /dev/null +++ b/nixos/tests/vsftpd.nix @@ -0,0 +1,42 @@ +import ./make-test-python.nix ({ pkgs, ... }: { + name = "vsftpd"; + + nodes = { + server = { + services.vsftpd = { + enable = true; + userlistDeny = false; + localUsers = true; + userlist = [ "ftp-test-user" ]; + writeEnable = true; + localRoot = "/tmp"; + }; + networking.firewall.enable = false; + + users = { + users.ftp-test-user = { + isSystemUser = true; + password = "ftp-test-password"; + group = "ftp-test-group"; + }; + groups.ftp-test-group = {}; + }; + }; + + client = {}; + }; + + testScript = '' + client.start() + server.wait_for_unit("vsftpd") + server.wait_for_open_port("21") + + client.succeed("curl -u ftp-test-user:ftp-test-password ftp://server") + client.succeed('echo "this is a test" > /tmp/test.file.up') + client.succeed("curl -v -T /tmp/test.file.up -u ftp-test-user:ftp-test-password ftp://server") + client.succeed("curl -u ftp-test-user:ftp-test-password ftp://server/test.file.up > /tmp/test.file.down") + client.succeed("diff /tmp/test.file.up /tmp/test.file.down") + assert client.succeed("cat /tmp/test.file.up") == server.succeed("cat /tmp/test.file.up") + assert client.succeed("cat /tmp/test.file.down") == server.succeed("cat /tmp/test.file.up") + ''; +}) |