diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index bee05ac8b12f..478b0197015c 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -905,7 +905,7 @@ in music-assistant = runTest ./music-assistant.nix; munin = runTest ./munin.nix; mutableUsers = runTest ./mutable-users.nix; - mycelium = handleTest ./mycelium { }; + mycelium = runTest ./mycelium; mympd = runTest ./mympd.nix; mysql = handleTest ./mysql/mysql.nix { }; mysql-autobackup = handleTest ./mysql/mysql-autobackup.nix { }; diff --git a/nixos/tests/mycelium/default.nix b/nixos/tests/mycelium/default.nix index 49184abd223a..0e83ddeb7559 100644 --- a/nixos/tests/mycelium/default.nix +++ b/nixos/tests/mycelium/default.nix @@ -1,73 +1,66 @@ -import ../make-test-python.nix ( - { lib, ... }: - let - peer1-ip = "538:f40f:1c51:9bd9:9569:d3f6:d0a1:b2df"; - peer2-ip = "5b6:6776:fee0:c1f3:db00:b6a8:d013:d38f"; - in - { - name = "mycelium"; - meta.maintainers = with lib.maintainers; [ lassulus ]; +{ lib, ... }: +let + peer1-ip = "538:f40f:1c51:9bd9:9569:d3f6:d0a1:b2df"; + peer2-ip = "5b6:6776:fee0:c1f3:db00:b6a8:d013:d38f"; +in +{ + name = "mycelium"; + meta.maintainers = with lib.maintainers; [ lassulus ]; - nodes = { - - peer1 = - { config, pkgs, ... }: + nodes = { + peer1 = { + virtualisation.vlans = [ 1 ]; + networking.interfaces.eth1.ipv4.addresses = [ { - virtualisation.vlans = [ 1 ]; - networking.interfaces.eth1.ipv4.addresses = [ - { - address = "192.168.1.11"; - prefixLength = 24; - } - ]; + address = "192.168.1.11"; + prefixLength = 24; + } + ]; - services.mycelium = { - enable = true; - addHostedPublicNodes = false; - openFirewall = true; - keyFile = ./peer1.key; - peers = [ - "quic://192.168.1.12:9651" - "tcp://192.168.1.12:9651" - ]; - }; - }; - - peer2 = - { config, pkgs, ... }: - { - virtualisation.vlans = [ 1 ]; - networking.interfaces.eth1.ipv4.addresses = [ - { - address = "192.168.1.12"; - prefixLength = 24; - } - ]; - - services.mycelium = { - enable = true; - addHostedPublicNodes = false; - openFirewall = true; - keyFile = ./peer2.key; - }; - }; + services.mycelium = { + enable = true; + addHostedPublicNodes = false; + openFirewall = true; + keyFile = ./peer1.key; + peers = [ + "quic://192.168.1.12:9651" + "tcp://192.168.1.12:9651" + ]; + }; }; - testScript = '' - start_all() + peer2 = { + virtualisation.vlans = [ 1 ]; + networking.interfaces.eth1.ipv4.addresses = [ + { + address = "192.168.1.12"; + prefixLength = 24; + } + ]; - peer1.wait_for_unit("network-online.target") - peer2.wait_for_unit("network-online.target") - peer1.wait_for_unit("mycelium.service") - peer2.wait_for_unit("mycelium.service") + services.mycelium = { + enable = true; + addHostedPublicNodes = false; + openFirewall = true; + keyFile = ./peer2.key; + }; + }; + }; - # Give mycelium some time to discover the other peer - peer1.wait_until_succeeds("ping -c1 ${peer2-ip}", timeout=10) - peer2.succeed("ping -c1 ${peer1-ip}") + testScript = '' + start_all() - peer1.succeed("mycelium peers list | grep 192.168.1.12") - peer2.succeed("mycelium peers list | grep 192.168.1.11") + peer1.wait_for_unit("network-online.target") + peer2.wait_for_unit("network-online.target") + peer1.wait_for_unit("mycelium.service") + peer2.wait_for_unit("mycelium.service") - ''; - } -) + # Give mycelium some time to discover the other peer + peer1.wait_until_succeeds("ping -c1 ${peer2-ip}", timeout=10) + peer2.succeed("ping -c1 ${peer1-ip}") + + peer1.succeed("mycelium peers list | grep 192.168.1.12") + peer2.succeed("mycelium peers list | grep 192.168.1.11") + + ''; +}