summary refs log tree commit diff
path: root/nixos/tests/pleroma.nix
diff options
context:
space:
mode:
authorFélix Baylac-Jacqué <felix@alternativebit.fr>2022-03-16 10:40:25 +0100
committerFélix Baylac-Jacqué <felix@alternativebit.fr>2022-05-06 17:45:42 +0200
commit7f76009e1000c0d0d877996470f2ab2aa565745d (patch)
treea27c494e619ef529a2c7e766384d88062b9d338d /nixos/tests/pleroma.nix
parenta4f017b03512759258a16ca257391ed0f4b94b1d (diff)
downloadnixpkgs-7f76009e1000c0d0d877996470f2ab2aa565745d.tar
nixpkgs-7f76009e1000c0d0d877996470f2ab2aa565745d.tar.gz
nixpkgs-7f76009e1000c0d0d877996470f2ab2aa565745d.tar.bz2
nixpkgs-7f76009e1000c0d0d877996470f2ab2aa565745d.tar.lz
nixpkgs-7f76009e1000c0d0d877996470f2ab2aa565745d.tar.xz
nixpkgs-7f76009e1000c0d0d877996470f2ab2aa565745d.tar.zst
nixpkgs-7f76009e1000c0d0d877996470f2ab2aa565745d.zip
nixosTests.pleroma: fix test, remove toot patch
Initially applied via e7f6370701a3e65082e67cd0f9696bcd32c2e9ec, then
reverted by 96aaf29234d4dd39d3fcd49452039269f4730f4f.

Re-applying this patch: the pleroma NixOS test is broken without it.

It was originally impossible to login in toot without having an
interactive shell. I opened https://github.com/ihabunek/toot/pull/180
upstream to fix that and fetch this patch for this test.

The author decided to fix the issue using a slightly different
approach at https://github.com/ihabunek/toot/commit/a3eb5dca24e3efa8f16ebcdc4b7d635dc9af03b7

Because of this upstream fix, our custom patch does not apply anymore.
Using that stdin-based login upstream feature.

Pointing pleroma_ctl to the right RELEASE_COOKIE as well.
Diffstat (limited to 'nixos/tests/pleroma.nix')
-rw-r--r--nixos/tests/pleroma.nix24
1 files changed, 5 insertions, 19 deletions
diff --git a/nixos/tests/pleroma.nix b/nixos/tests/pleroma.nix
index bf3623fce38..8998716243a 100644
--- a/nixos/tests/pleroma.nix
+++ b/nixos/tests/pleroma.nix
@@ -32,8 +32,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
     # system one. Overriding this pretty bad default behaviour.
     export REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
 
-    export TOOT_LOGIN_CLI_PASSWORD="jamy-password"
-    toot login_cli -i "pleroma.nixos.test" -e "jamy@nixos.test"
+    echo "jamy-password" | toot login_cli -i "pleroma.nixos.test" -e "jamy@nixos.test"
     echo "Login OK"
 
     # Send a toot then verify it's part of the public timeline
@@ -159,7 +158,9 @@ import ./make-test-python.nix ({ pkgs, ... }:
 
     # Waiting for pleroma to be up.
     timeout 5m bash -c 'while [[ "$(curl -s -o /dev/null -w '%{http_code}' https://pleroma.nixos.test/api/v1/instance)" != "200" ]]; do sleep 2; done'
-    pleroma_ctl user new jamy jamy@nixos.test --password 'jamy-password' --moderator --admin -y
+    # Toremove the RELEASE_COOKIE bit when https://github.com/NixOS/nixpkgs/issues/166229 gets fixed.
+    RELEASE_COOKIE="/var/lib/pleroma/.cookie" \
+      pleroma_ctl user new jamy jamy@nixos.test --password 'jamy-password' --moderator --admin -y
   '';
 
   tls-cert = pkgs.runCommand "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } ''
@@ -168,21 +169,6 @@ import ./make-test-python.nix ({ pkgs, ... }:
     cp key.pem cert.pem $out
   '';
 
-  /* Toot is preventing users from feeding login_cli a password non
-     interactively. While it makes sense most of the times, it's
-     preventing us to login in this non-interactive test. This patch
-     introduce a TOOT_LOGIN_CLI_PASSWORD env variable allowing us to
-     provide a password to toot login_cli
-
-     If https://github.com/ihabunek/toot/pull/180 gets merged at some
-     point, feel free to remove this patch. */
-  custom-toot = pkgs.toot.overrideAttrs(old:{
-    patches = [ (pkgs.fetchpatch {
-      url = "https://github.com/NinjaTrappeur/toot/commit/b4a4c30f41c0cb7e336714c2c4af9bc9bfa0c9f2.patch";
-      sha256 = "sha256-0xxNwjR/fStLjjUUhwzCCfrghRVts+fc+fvVJqVcaFg=";
-    }) ];
-  });
-
   hosts = nodes: ''
     ${nodes.pleroma.config.networking.primaryIPAddress} pleroma.nixos.test
     ${nodes.client.config.networking.primaryIPAddress} client.nixos.test
@@ -194,7 +180,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
       security.pki.certificateFiles = [ "${tls-cert}/cert.pem" ];
       networking.extraHosts = hosts nodes;
       environment.systemPackages = with pkgs; [
-        custom-toot
+        toot
         send-toot
       ];
     };