at 22.05-pre 1.0 kB view raw
1import ./make-test-python.nix ({ pkgs, ...} : { 2 name = "ipfs"; 3 meta = with pkgs.lib.maintainers; { 4 maintainers = [ mguentner ]; 5 }; 6 7 nodes.machine = { ... }: { 8 services.ipfs = { 9 enable = true; 10 # Also will add a unix domain socket socket API address, see module. 11 startWhenNeeded = true; 12 apiAddress = "/ip4/127.0.0.1/tcp/2324"; 13 }; 14 }; 15 16 testScript = '' 17 start_all() 18 19 # IPv4 activation 20 21 machine.succeed("ipfs --api /ip4/127.0.0.1/tcp/2324 id") 22 ipfs_hash = machine.succeed( 23 "echo fnord | ipfs --api /ip4/127.0.0.1/tcp/2324 add | awk '{ print $2 }'" 24 ) 25 26 machine.succeed(f"ipfs cat /ipfs/{ipfs_hash.strip()} | grep fnord") 27 28 # Unix domain socket activation 29 30 machine.stop_job("ipfs") 31 32 ipfs_hash = machine.succeed( 33 "echo fnord2 | ipfs --api /unix/run/ipfs.sock add | awk '{ print $2 }'" 34 ) 35 machine.succeed( 36 f"ipfs --api /unix/run/ipfs.sock cat /ipfs/{ipfs_hash.strip()} | grep fnord2" 37 ) 38 ''; 39})