Loading nixos/tests/all-tests.nix +1 −0 Original line number Diff line number Diff line Loading @@ -392,6 +392,7 @@ in { man = handleTest ./man.nix {}; mariadb-galera = handleTest ./mysql/mariadb-galera.nix {}; mastodon = discoverTests (import ./web-apps/mastodon { inherit handleTestOn; }); pixelfed = discoverTests (import ./web-apps/pixelfed { inherit handleTestOn; }); mate = handleTest ./mate.nix {}; matomo = handleTest ./matomo.nix {}; matrix-appservice-irc = handleTest ./matrix/appservice-irc.nix {}; Loading nixos/tests/web-apps/pixelfed/default.nix 0 → 100644 +8 −0 Original line number Diff line number Diff line { system ? builtins.currentSystem, handleTestOn }: let supportedSystems = [ "x86_64-linux" "i686-linux" ]; in { standard = handleTestOn supportedSystems ./standard.nix { inherit system; }; } nixos/tests/web-apps/pixelfed/standard.nix 0 → 100644 +38 −0 Original line number Diff line number Diff line import ../../make-test-python.nix ({pkgs, ...}: { name = "pixelfed-standard"; meta.maintainers = with pkgs.lib.maintainers; [ raitobezarius ]; nodes = { server = { pkgs, ... }: { services.pixelfed = { enable = true; domain = "pixelfed.local"; # Configure NGINX. nginx = {}; secretFile = (pkgs.writeText "secrets.env" '' # Snakeoil secret, can be any random 32-chars secret via CSPRNG. APP_KEY=adKK9EcY8Hcj3PLU7rzG9rJ6KKTOtYfA ''); settings."FORCE_HTTPS_URLS" = false; }; }; }; testScript = '' # Wait for Pixelfed PHP pool server.wait_for_unit("phpfpm-pixelfed.service") # Wait for NGINX server.wait_for_unit("nginx.service") # Wait for HTTP port server.wait_for_open_port(80) # Access the homepage. server.succeed("curl -H 'Host: pixelfed.local' http://localhost") # Create an account server.succeed("pixelfed-manage user:create --name=test --username=test --email=test@test.com --password=test") # Create a OAuth token. # TODO: figure out how to use it to send a image/toot # server.succeed("pixelfed-manage passport:client --personal") # server.succeed("curl -H 'Host: pixefed.local' -H 'Accept: application/json' -H 'Authorization: Bearer secret' -F'status'='test' http://localhost/api/v1/statuses") ''; }) pkgs/servers/web-apps/pixelfed/default.nix +3 −0 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ , fetchFromGitHub , php , pkgs , nixosTests , dataDir ? "/var/lib/pixelfed" , runtimeDir ? "/run/pixelfed" }: Loading Loading @@ -37,6 +38,8 @@ in package.override rec { hash = "sha256-ZrvYKMSx5WymWR46/UKr5jCsclXXzBeY21ju22zeqN0="; }; passthru.tests = { inherit (nixosTests) pixelfed; }; meta = with lib; { description = "A federated image sharing platform"; license = licenses.agpl3Only; Loading Loading
nixos/tests/all-tests.nix +1 −0 Original line number Diff line number Diff line Loading @@ -392,6 +392,7 @@ in { man = handleTest ./man.nix {}; mariadb-galera = handleTest ./mysql/mariadb-galera.nix {}; mastodon = discoverTests (import ./web-apps/mastodon { inherit handleTestOn; }); pixelfed = discoverTests (import ./web-apps/pixelfed { inherit handleTestOn; }); mate = handleTest ./mate.nix {}; matomo = handleTest ./matomo.nix {}; matrix-appservice-irc = handleTest ./matrix/appservice-irc.nix {}; Loading
nixos/tests/web-apps/pixelfed/default.nix 0 → 100644 +8 −0 Original line number Diff line number Diff line { system ? builtins.currentSystem, handleTestOn }: let supportedSystems = [ "x86_64-linux" "i686-linux" ]; in { standard = handleTestOn supportedSystems ./standard.nix { inherit system; }; }
nixos/tests/web-apps/pixelfed/standard.nix 0 → 100644 +38 −0 Original line number Diff line number Diff line import ../../make-test-python.nix ({pkgs, ...}: { name = "pixelfed-standard"; meta.maintainers = with pkgs.lib.maintainers; [ raitobezarius ]; nodes = { server = { pkgs, ... }: { services.pixelfed = { enable = true; domain = "pixelfed.local"; # Configure NGINX. nginx = {}; secretFile = (pkgs.writeText "secrets.env" '' # Snakeoil secret, can be any random 32-chars secret via CSPRNG. APP_KEY=adKK9EcY8Hcj3PLU7rzG9rJ6KKTOtYfA ''); settings."FORCE_HTTPS_URLS" = false; }; }; }; testScript = '' # Wait for Pixelfed PHP pool server.wait_for_unit("phpfpm-pixelfed.service") # Wait for NGINX server.wait_for_unit("nginx.service") # Wait for HTTP port server.wait_for_open_port(80) # Access the homepage. server.succeed("curl -H 'Host: pixelfed.local' http://localhost") # Create an account server.succeed("pixelfed-manage user:create --name=test --username=test --email=test@test.com --password=test") # Create a OAuth token. # TODO: figure out how to use it to send a image/toot # server.succeed("pixelfed-manage passport:client --personal") # server.succeed("curl -H 'Host: pixefed.local' -H 'Accept: application/json' -H 'Authorization: Bearer secret' -F'status'='test' http://localhost/api/v1/statuses") ''; })
pkgs/servers/web-apps/pixelfed/default.nix +3 −0 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ , fetchFromGitHub , php , pkgs , nixosTests , dataDir ? "/var/lib/pixelfed" , runtimeDir ? "/run/pixelfed" }: Loading Loading @@ -37,6 +38,8 @@ in package.override rec { hash = "sha256-ZrvYKMSx5WymWR46/UKr5jCsclXXzBeY21ju22zeqN0="; }; passthru.tests = { inherit (nixosTests) pixelfed; }; meta = with lib; { description = "A federated image sharing platform"; license = licenses.agpl3Only; Loading