import ./make-test-python.nix ({ pkgs, ...} : { name = "ifm"; meta = with pkgs.lib.maintainers; { maintainers = [ litchipi ]; }; nodes = { server = rec { services.ifm = { enable = true; port = 9001; dataDir = "/data"; }; system.activationScripts.ifm-setup-dir = '' mkdir -p ${services.ifm.dataDir} chmod u+w,g+w,o+w ${services.ifm.dataDir} ''; }; }; testScript = '' 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 && shasum testfile >> 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 testfile >> checksums && shasum --check checksums") ''; })