nixos/tests/pixelfed: init test
This commit is contained in:
parent
51c5aae874
commit
f341151cfa
4 changed files with 50 additions and 0 deletions
|
@ -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 {};
|
||||
|
|
8
nixos/tests/web-apps/pixelfed/default.nix
Normal file
8
nixos/tests/web-apps/pixelfed/default.nix
Normal file
|
@ -0,0 +1,8 @@
|
|||
{ system ? builtins.currentSystem, handleTestOn }:
|
||||
let
|
||||
supportedSystems = [ "x86_64-linux" "i686-linux" ];
|
||||
|
||||
in
|
||||
{
|
||||
standard = handleTestOn supportedSystems ./standard.nix { inherit system; };
|
||||
}
|
38
nixos/tests/web-apps/pixelfed/standard.nix
Normal file
38
nixos/tests/web-apps/pixelfed/standard.nix
Normal file
|
@ -0,0 +1,38 @@
|
|||
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")
|
||||
'';
|
||||
})
|
|
@ -3,6 +3,7 @@
|
|||
, fetchFromGitHub
|
||||
, php
|
||||
, pkgs
|
||||
, nixosTests
|
||||
, dataDir ? "/var/lib/pixelfed"
|
||||
, runtimeDir ? "/run/pixelfed"
|
||||
}:
|
||||
|
@ -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…
Reference in a new issue