blob: 1e21ec009662ef4915f39e5308c32a2f99352cb7 (
plain)
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
43
44
45
|
{ pkgs, lib, ... }:
let
port = 1080;
uploadDir = "/var/lib/tusd/data";
in
{
name = "tusd";
meta.maintainers = with lib.maintainers; [
m1-s
nh2
kalbasit
];
nodes = {
client = {
environment.systemPackages = [ pkgs.curl ];
};
server = {
services.tusd = {
enable = true;
inherit port uploadDir;
openFirewall = true;
};
};
};
testScript = ''
server.wait_for_unit("tusd.service")
server.wait_for_open_port(${toString port})
# Create large file.
client.succeed("${pkgs.coreutils}/bin/truncate --size=100M file-100M.bin")
# Upload it.
client.wait_for_unit("network.target")
client.succeed("${./tus-curl-upload.sh} file-100M.bin http://server:${toString port}/files/")
# Verify file was created in uploadDir
server.succeed("test -n \"$(ls -A ${uploadDir})\"")
print("Upload succeeded")
'';
}
|