blob: 6eaf32b2258380e0aec02266d829e09dd7cf9735 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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")
'';
})
|