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