mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-06-05 21:03:40 +00:00
49 lines
1.2 KiB
Nix
49 lines
1.2 KiB
Nix
{ pkgs, ... }:
|
|
|
|
{
|
|
name = "ifm";
|
|
meta = with pkgs.lib.maintainers; {
|
|
maintainers = [ litchipi ];
|
|
};
|
|
|
|
nodes = {
|
|
server =
|
|
{ config, ... }:
|
|
{
|
|
services.ifm = {
|
|
enable = true;
|
|
port = 9001;
|
|
dataDir = "/data";
|
|
};
|
|
|
|
systemd.tmpfiles.settings = {
|
|
ifm-data-dir = {
|
|
${config.services.ifm.dataDir}.d = {
|
|
mode = "0777";
|
|
user = "root";
|
|
group = "root";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
testScript =
|
|
# python
|
|
''
|
|
start_all()
|
|
server.wait_for_unit("ifm.service")
|
|
server.wait_for_open_port(9001)
|
|
server.succeed("curl --fail http://localhost:9001")
|
|
|
|
server.succeed('echo "testfile" > testfile')
|
|
server.succeed("shasum testfile | tee checksums")
|
|
|
|
server.succeed('curl --fail http://localhost:9001 -X POST -F "api=upload" -F "dir=" -F "file=@testfile" | grep "OK"');
|
|
server.succeed("rm testfile")
|
|
|
|
server.succeed('curl --fail http://localhost:9001 -X POST -F "api=download" -F "filename=testfile" -F "dir=" --output testfile');
|
|
server.succeed("shasum --check checksums")
|
|
'';
|
|
}
|