summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nixos/tests/ipfs.nix38
1 files changed, 29 insertions, 9 deletions
diff --git a/nixos/tests/ipfs.nix b/nixos/tests/ipfs.nix
index 92d742e4f37..a93f8f175c5 100644
--- a/nixos/tests/ipfs.nix
+++ b/nixos/tests/ipfs.nix
@@ -11,27 +11,47 @@ import ./make-test.nix ({ pkgs, ...} : {
       {
         services.ipfs = {
           enable = true;
+          defaultMode = "norouting";
           gatewayAddress = "/ip4/127.0.0.1/tcp/2323";
           apiAddress = "/ip4/127.0.0.1/tcp/2324";
         };
+        networking.firewall.allowedTCPPorts = [ 4001 ];
       };
     getter =
       { config, pkgs, ... }:
       {
-         services.ipfs.enable = true;
+        services.ipfs = {
+          enable = true;
+          defaultMode = "norouting";
+          # not yet. See #28621
+          #autoMount = true;
+        };
+        networking.firewall.allowedTCPPorts = [ 4001 ];
       };
   };
 
   testScript = ''
     startAll;
-    $adder->waitForUnit("ipfs");
-    # * => needs ipfs dht (internet)
-    # $getter->waitForUnit("ipfs");
+    $adder->waitForUnit("ipfs-norouting");
+    $getter->waitForUnit("ipfs-norouting");
+
+    # wait until api is available
     $adder->waitUntilSucceeds("ipfs --api /ip4/127.0.0.1/tcp/2324 id");
-    $adder->mustSucceed("([[ -n '$(ipfs --api /ip4/127.0.0.1/tcp/2324 config Addresses.gatewayAddress | grep /ip4/127.0.0.1/tcp/2323)' ]])");
-    # * $getter->waitUntilSucceeds("ipfs --api /ip4/127.0.0.1/tcp/5001 id");
-    # * my $ipfsHash = $adder->mustSucceed("echo fnord | ipfs --api /ip4/127.0.0.1/tcp/2324 add | cut -d' ' -f2");
-    $adder->mustSucceed("([[ -n '$(echo fnord | ipfs --api /ip4/127.0.0.1/tcp/2324 add | grep added)' ]])");
-    # * $getter->mustSucceed("ipfs --api /ip4/127.0.0.1/tcp/5001 cat $ipfsHash");
+    my $addrId = $adder->succeed("ipfs --api /ip4/127.0.0.1/tcp/2324 id -f=\"<id>\"");
+    my $addrIp = (split /[ \/]+/, $adder->succeed("ip -o -4 addr show dev eth1"))[3];
+
+    $adder->mustSucceed("[ -n \"\$(ipfs --api /ip4/127.0.0.1/tcp/2324 config Addresses.Gateway | grep /ip4/127.0.0.1/tcp/2323)\" ]");
+
+    # wait until api is available
+    $getter->waitUntilSucceeds("ipfs --api /ip4/127.0.0.1/tcp/5001 id");
+    my $ipfsHash = $adder->mustSucceed("echo fnord | ipfs --api /ip4/127.0.0.1/tcp/2324 add | cut -d' ' -f2");
+    chomp($ipfsHash);
+
+    $adder->mustSucceed("[ -n \"\$(echo fnord | ipfs --api /ip4/127.0.0.1/tcp/2324 add | grep added)\" ]");
+
+    $getter->mustSucceed("ipfs --api /ip4/127.0.0.1/tcp/5001 swarm connect /ip4/$addrIp/tcp/4001/ipfs/$addrId");
+    $getter->mustSucceed("[ -n \"\$(ipfs --api /ip4/127.0.0.1/tcp/5001 cat /ipfs/$ipfsHash | grep fnord)\" ]");
+    # not yet. See #28621
+    # $getter->mustSucceed("[ -n \"$(cat /ipfs/$ipfsHash | grep fnord)\" ]");
     '';
 })