summary refs log tree commit diff
path: root/nixos/tests/ipfs.nix
diff options
context:
space:
mode:
authorMaximilian Güntner <code@sourcediver.org>2017-08-30 15:20:10 +0200
committerMaximilian Güntner <code@sourcediver.org>2017-08-30 15:28:50 +0200
commita1302eab3ad89440edad3e5a360875ba97be1d17 (patch)
treee3d1a992eb31283720e6f5c5d548f995ab0aee40 /nixos/tests/ipfs.nix
parent96457d26dded05bcba8e9fbb9bf0255596654aab (diff)
downloadnixpkgs-a1302eab3ad89440edad3e5a360875ba97be1d17.tar
nixpkgs-a1302eab3ad89440edad3e5a360875ba97be1d17.tar.gz
nixpkgs-a1302eab3ad89440edad3e5a360875ba97be1d17.tar.bz2
nixpkgs-a1302eab3ad89440edad3e5a360875ba97be1d17.tar.lz
nixpkgs-a1302eab3ad89440edad3e5a360875ba97be1d17.tar.xz
nixpkgs-a1302eab3ad89440edad3e5a360875ba97be1d17.tar.zst
nixpkgs-a1302eab3ad89440edad3e5a360875ba97be1d17.zip
tests: fix ipfs test, test actual networking functionality
Diffstat (limited to 'nixos/tests/ipfs.nix')
-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)\" ]");
     '';
 })