at 25.11-pre 1.1 kB view raw
1import ./make-test-python.nix ( 2 { pkgs, ... }: 3 4 { 5 name = "ifm"; 6 meta = with pkgs.lib.maintainers; { 7 maintainers = [ litchipi ]; 8 }; 9 10 nodes = { 11 server = rec { 12 services.ifm = { 13 enable = true; 14 port = 9001; 15 dataDir = "/data"; 16 }; 17 18 system.activationScripts.ifm-setup-dir = '' 19 mkdir -p ${services.ifm.dataDir} 20 chmod u+w,g+w,o+w ${services.ifm.dataDir} 21 ''; 22 }; 23 }; 24 25 testScript = '' 26 start_all() 27 server.wait_for_unit("ifm.service") 28 server.wait_for_open_port(9001) 29 server.succeed("curl --fail http://localhost:9001") 30 31 server.succeed("echo \"testfile\" > testfile && shasum testfile >> checksums") 32 server.succeed("curl --fail http://localhost:9001 -X POST -F \"api=upload\" -F \"dir=\" -F \"file=@testfile\" | grep \"OK\""); 33 server.succeed("rm testfile") 34 server.succeed("curl --fail http://localhost:9001 -X POST -F \"api=download\" -F \"filename=testfile\" -F \"dir=\" --output testfile"); 35 server.succeed("shasum testfile >> checksums && shasum --check checksums") 36 ''; 37 } 38)