tests: added basic ipfs test

$getter can be used once ipfs supports private/local networks
and or internet gets routed to the VMs

Signed-off-by: Maximilian Güntner <code@klandest.in>
This commit is contained in:
Maximilian Güntner 2016-11-26 20:07:01 +01:00
parent 0526a5c90a
commit f7c099bd8c
No known key found for this signature in database
GPG key ID: 96126664034A9D85

37
nixos/tests/ipfs.nix Normal file
View file

@ -0,0 +1,37 @@
import ./make-test.nix ({ pkgs, ...} : {
name = "ipfs";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ mguentner ];
};
nodes = {
adder =
{ config, pkgs, ... }:
{
services.ipfs = {
enable = true;
gatewayAddress = "/ip4/127.0.0.1/tcp/2323";
apiAddress = "/ip4/127.0.0.1/tcp/2324";
};
};
getter =
{ config, pkgs, ... }:
{
services.ipfs.enable = true;
};
};
testScript = ''
startAll;
$adder->waitForUnit("ipfs");
# * => needs ipfs dht (internet)
# $getter->waitForUnit("ipfs");
$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");
'';
})