at master 2.6 kB view raw
1import ./make-test-python.nix ( 2 let 3 host = "127.0.0.1"; 4 port = 1234; 5 dataDir = "/stash"; 6 in 7 { pkgs, ... }: 8 { 9 name = "stash"; 10 meta.maintainers = pkgs.stash.meta.maintainers; 11 12 nodes.machine = { 13 services.stash = { 14 inherit dataDir; 15 enable = true; 16 17 username = "test"; 18 passwordFile = pkgs.writeText "stash-password" "MyPassword"; 19 20 jwtSecretKeyFile = pkgs.writeText "jwt_secret_key" "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; 21 sessionStoreKeyFile = pkgs.writeText "session_store_key" "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"; 22 23 plugins = 24 let 25 src = pkgs.fetchFromGitHub { 26 owner = "stashapp"; 27 repo = "CommunityScripts"; 28 rev = "9b6fac4934c2fac2ef0859ea68ebee5111fc5be5"; 29 hash = "sha256-PO3J15vaA7SD4r/LyHlXjnpaeYAN9Q++O94bIWdz7OA="; 30 }; 31 in 32 [ 33 (pkgs.runCommand "stashNotes" { inherit src; } '' 34 mkdir -p $out/plugins 35 cp -r $src/plugins/stashNotes $out/plugins/stashNotes 36 '') 37 (pkgs.runCommand "Theme-Plex" { inherit src; } '' 38 mkdir -p $out/plugins 39 cp -r $src/themes/Theme-Plex $out/plugins/Theme-Plex 40 '') 41 ]; 42 43 mutableScrapers = true; 44 scrapers = 45 let 46 src = pkgs.fetchFromGitHub { 47 owner = "stashapp"; 48 repo = "CommunityScrapers"; 49 rev = "2ece82d17ddb0952c16842b0775274bcda598d81"; 50 hash = "sha256-AEmnvM8Nikhue9LNF9dkbleYgabCvjKHtzFpMse4otM="; 51 }; 52 in 53 [ 54 (pkgs.runCommand "FTV" { inherit src; } '' 55 mkdir -p $out/scrapers/FTV 56 cp -r $src/scrapers/FTV.yml $out/scrapers/FTV 57 '') 58 ]; 59 60 settings = { 61 inherit host port; 62 63 stash = [ { path = "/srv"; } ]; 64 }; 65 }; 66 }; 67 68 testScript = '' 69 machine.wait_for_unit("stash.service") 70 machine.wait_for_open_port(${toString port}, "${host}") 71 machine.succeed("curl --fail http://${host}:${toString port}/") 72 73 with subtest("Test plugins/scrapers"): 74 with subtest("mutable plugins directory should not exist"): 75 machine.fail("test -d ${dataDir}/plugins") 76 with subtest("mutable scrapers directory should exist and scraper FTV should be linked"): 77 machine.succeed("test -L ${dataDir}/scrapers/FTV") 78 ''; 79 } 80)