summary refs log tree commit diff
path: root/nixos/tests/owncast.nix
diff options
context:
space:
mode:
authorBernardo Meurer <bernardo@meurer.org>2021-11-04 22:30:45 -0700
committerBernardo Meurer <bernardo@meurer.org>2021-11-04 22:30:45 -0700
commit9bd3a51bbacf7e612324750c500aee3df29fd165 (patch)
treee720251b161368a2d626ad3fafdcb6a0d77c4892 /nixos/tests/owncast.nix
parent914813789d3a7b8604881882d991c5d116429827 (diff)
downloadnixpkgs-9bd3a51bbacf7e612324750c500aee3df29fd165.tar
nixpkgs-9bd3a51bbacf7e612324750c500aee3df29fd165.tar.gz
nixpkgs-9bd3a51bbacf7e612324750c500aee3df29fd165.tar.bz2
nixpkgs-9bd3a51bbacf7e612324750c500aee3df29fd165.tar.lz
nixpkgs-9bd3a51bbacf7e612324750c500aee3df29fd165.tar.xz
nixpkgs-9bd3a51bbacf7e612324750c500aee3df29fd165.tar.zst
nixpkgs-9bd3a51bbacf7e612324750c500aee3df29fd165.zip
nixos/tests/owncast: rewrite test
Diffstat (limited to 'nixos/tests/owncast.nix')
-rw-r--r--nixos/tests/owncast.nix45
1 files changed, 33 insertions, 12 deletions
diff --git a/nixos/tests/owncast.nix b/nixos/tests/owncast.nix
index e54d2cc5dd4..debb34f5009 100644
--- a/nixos/tests/owncast.nix
+++ b/nixos/tests/owncast.nix
@@ -1,21 +1,42 @@
-{ system ? builtins.currentSystem, config ? { }
-, pkgs ? import ../.. { inherit system config; } }:
-
-with import (nixpkgs + "/nixos/lib/testing-python.nix") { inherit system; };
-makeTest {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "owncast";
-  meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ MayNiklas ]; };
+  meta = with pkgs.lib.maintainers; { maintainers = [ MayNiklas ]; };
 
   nodes = {
-    client = { ... }: {
-      environment.systemPackages = [ curl ];
-      services.owncast = { enable = true; };
+    client = { pkgs, ... }: with pkgs.lib; {
+      networking = {
+        dhcpcd.enable = false;
+        interfaces.eth1.ipv6.addresses = mkOverride 0 [ { address = "fd00::2"; prefixLength = 64; } ];
+        interfaces.eth1.ipv4.addresses = mkOverride 0 [ { address = "192.168.1.2"; prefixLength = 24; } ];
+      };
+    };
+    server = { pkgs, ... }: with pkgs.lib; {
+      networking = {
+        dhcpcd.enable = false;
+        useNetworkd = true;
+        useDHCP = false;
+        interfaces.eth1.ipv6.addresses = mkOverride 0 [ { address = "fd00::1"; prefixLength = 64; } ];
+        interfaces.eth1.ipv4.addresses = mkOverride 0 [ { address = "192.168.1.1"; prefixLength = 24; } ];
+
+        firewall.allowedTCPPorts = [ 8080 ];
+      };
+
+      services.owncast = {
+        enable = true;
+        listen = "0.0.0.0";
+      };
     };
   };
 
   testScript = ''
     start_all()
-    client.wait_for_unit("owncast.service")
-    client.succeed("curl localhost:8080/api/status")
+
+    client.wait_for_unit("network-online.target")
+    server.wait_for_unit("network-online.target")
+    server.wait_for_unit("owncast.service")
+    server.wait_until_succeeds("ss -ntl | grep -q 8080")
+
+    client.succeed("curl http://192.168.1.1:8080/api/status")
+    client.succeed("curl http://[fd00::1]:8080/api/status")
   '';
-}
+})