at 25.11-pre 1.6 kB view raw
1import ./make-test-python.nix ( 2 { ... }: 3 { 4 name = "taskchampion-sync-server"; 5 6 nodes = { 7 server = { 8 services.taskchampion-sync-server.enable = true; 9 services.taskchampion-sync-server.host = "0.0.0.0"; 10 services.taskchampion-sync-server.openFirewall = true; 11 }; 12 client = 13 { pkgs, ... }: 14 { 15 environment.systemPackages = [ pkgs.taskwarrior3 ]; 16 }; 17 }; 18 testScript = 19 { nodes, ... }: 20 let 21 cfg = nodes.server.services.taskchampion-sync-server; 22 port = builtins.toString cfg.port; 23 # Generated with uuidgen 24 uuid = "bf01376e-04a4-435a-9263-608567531af3"; 25 password = "nixos-test"; 26 in 27 '' 28 # Explicitly start the VMs so that we don't accidentally start newServer 29 server.start() 30 client.start() 31 32 server.wait_for_unit("taskchampion-sync-server.service") 33 server.wait_for_open_port(${port}) 34 35 # See man task-sync(5) 36 client.succeed("mkdir ~/.task") 37 client.succeed("touch ~/.taskrc") 38 client.succeed("echo sync.server.origin=http://server:${port} >> ~/.taskrc") 39 client.succeed("echo sync.server.client_id=${uuid} >> ~/.taskrc") 40 client.succeed("echo sync.encryption_secret=${password} >> ~/.taskrc") 41 client.succeed("task add hello world") 42 client.succeed("task sync") 43 44 # Useful for debugging 45 client.copy_from_vm("/root/.task", "client") 46 server.copy_from_vm("${cfg.dataDir}", "server") 47 ''; 48 } 49)