at 23.11-pre 1.4 kB view raw
1import ../../make-test-python.nix ({pkgs, ...}: 2{ 3 name = "pixelfed-standard"; 4 meta.maintainers = with pkgs.lib.maintainers; [ raitobezarius ]; 5 6 nodes = { 7 server = { pkgs, ... }: { 8 services.pixelfed = { 9 enable = true; 10 domain = "pixelfed.local"; 11 # Configure NGINX. 12 nginx = {}; 13 secretFile = (pkgs.writeText "secrets.env" '' 14 # Snakeoil secret, can be any random 32-chars secret via CSPRNG. 15 APP_KEY=adKK9EcY8Hcj3PLU7rzG9rJ6KKTOtYfA 16 ''); 17 settings."FORCE_HTTPS_URLS" = false; 18 }; 19 }; 20 }; 21 22 testScript = '' 23 # Wait for Pixelfed PHP pool 24 server.wait_for_unit("phpfpm-pixelfed.service") 25 # Wait for NGINX 26 server.wait_for_unit("nginx.service") 27 # Wait for HTTP port 28 server.wait_for_open_port(80) 29 # Access the homepage. 30 server.succeed("curl -H 'Host: pixelfed.local' http://localhost") 31 # Create an account 32 server.succeed("pixelfed-manage user:create --name=test --username=test --email=test@test.com --password=test") 33 # Create a OAuth token. 34 # TODO: figure out how to use it to send a image/toot 35 # server.succeed("pixelfed-manage passport:client --personal") 36 # server.succeed("curl -H 'Host: pixefed.local' -H 'Accept: application/json' -H 'Authorization: Bearer secret' -F'status'='test' http://localhost/api/v1/statuses") 37 ''; 38})