about summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authorMarek Mahut <marek.mahut@gmail.com>2019-08-25 18:07:59 +0200
committerMarek Mahut <marek.mahut@gmail.com>2019-08-25 18:33:13 +0200
commit1a6d3f5bc25a1cd8879f25d1086aa63eb810d4ff (patch)
tree2ba6da823b4090063a8d05db564df17e54db38db /nixos
parentf6ced211e68cd1b00cb3df98504d778d191fdd58 (diff)
downloadnixlib-1a6d3f5bc25a1cd8879f25d1086aa63eb810d4ff.tar
nixlib-1a6d3f5bc25a1cd8879f25d1086aa63eb810d4ff.tar.gz
nixlib-1a6d3f5bc25a1cd8879f25d1086aa63eb810d4ff.tar.bz2
nixlib-1a6d3f5bc25a1cd8879f25d1086aa63eb810d4ff.tar.lz
nixlib-1a6d3f5bc25a1cd8879f25d1086aa63eb810d4ff.tar.xz
nixlib-1a6d3f5bc25a1cd8879f25d1086aa63eb810d4ff.tar.zst
nixlib-1a6d3f5bc25a1cd8879f25d1086aa63eb810d4ff.zip
nixos/jormungandr: adding genesis tests
Diffstat (limited to 'nixos')
-rw-r--r--nixos/tests/jormungandr.nix28
1 files changed, 28 insertions, 0 deletions
diff --git a/nixos/tests/jormungandr.nix b/nixos/tests/jormungandr.nix
index ab4edf0506aa..2abafc53ce51 100644
--- a/nixos/tests/jormungandr.nix
+++ b/nixos/tests/jormungandr.nix
@@ -5,9 +5,17 @@ import ./make-test.nix ({ pkgs, ... }: {
   };
 
   nodes = {
+    # Testing the Byzantine Fault Tolerant protocol
     bft = { ... }: {
       environment.systemPackages = [ pkgs.jormungandr ];
+      services.jormungandr.enable = true;
+      services.jormungandr.genesisBlockFile = "/var/lib/jormungandr/block-0.bin";
+      services.jormungandr.secretFile = "/etc/secrets/jormungandr.yaml";
+    };
 
+    # Testing the Ouroboros Genesis Praos protocol
+    genesis = { ... }: {
+      environment.systemPackages = [ pkgs.jormungandr ];
       services.jormungandr.enable = true;
       services.jormungandr.genesisBlockFile = "/var/lib/jormungandr/block-0.bin";
       services.jormungandr.secretFile = "/etc/secrets/jormungandr.yaml";
@@ -17,6 +25,7 @@ import ./make-test.nix ({ pkgs, ... }: {
   testScript = ''
     startAll;
 
+    ## Testing BFT
     # Let's wait for the StateDirectory
     $bft->waitForFile("/var/lib/jormungandr/");
 
@@ -45,5 +54,24 @@ import ./make-test.nix ({ pkgs, ... }: {
 
     # Now we can test if we are able to reach the REST API
     $bft->waitUntilSucceeds("curl -L http://localhost:8607/api/v0/node/stats | grep uptime");
+
+    ## Testing Genesis
+    # Let's wait for the StateDirectory
+    $genesis->waitForFile("/var/lib/jormungandr/");
+
+    # Bootstraping the configuration
+    $genesis->succeed("jormungandr-bootstrap -g -p 8607 -s 1");
+
+    # Moving generated files in place
+    $genesis->succeed("mkdir -p /etc/secrets");
+    $genesis->succeed("mv pool-secret1.yaml /etc/secrets/jormungandr.yaml");
+    $genesis->succeed("mv block-0.bin /var/lib/jormungandr/");
+
+    # We should have everything to start the service now
+    $genesis->succeed("systemctl restart jormungandr");
+    $genesis->waitForUnit("jormungandr.service");
+
+    # Now we can create and delegate an account
+    $genesis->succeed("./create-account-and-delegate.sh | tee -a /tmp/delegate.log");
   '';
 })