at 25.11-pre 1.2 kB view raw
1import ./make-test-python.nix ( 2 { pkgs, ... }: 3 { 4 name = "vault-dev"; 5 meta = with pkgs.lib.maintainers; { 6 maintainers = [ 7 lnl7 8 mic92 9 ]; 10 }; 11 nodes.machine = 12 { pkgs, config, ... }: 13 { 14 environment.systemPackages = [ pkgs.vault ]; 15 environment.variables.VAULT_ADDR = "http://127.0.0.1:8200"; 16 environment.variables.VAULT_TOKEN = "phony-secret"; 17 18 services.vault = { 19 enable = true; 20 dev = true; 21 devRootTokenID = config.environment.variables.VAULT_TOKEN; 22 }; 23 }; 24 25 testScript = '' 26 import json 27 start_all() 28 machine.wait_for_unit("multi-user.target") 29 machine.wait_for_unit("vault.service") 30 machine.wait_for_open_port(8200) 31 out = machine.succeed("vault status -format=json") 32 print(out) 33 status = json.loads(out) 34 assert status.get("initialized") == True 35 machine.succeed("vault kv put secret/foo bar=baz") 36 out = machine.succeed("vault kv get -format=json secret/foo") 37 print(out) 38 status = json.loads(out) 39 assert status.get("data", {}).get("data", {}).get("bar") == "baz" 40 ''; 41 } 42)