at master 1.2 kB view raw
1{ 2 lib, 3 pkgs, 4 ... 5}: 6 7{ 8 name = "froide-govplan"; 9 meta.maintainers = with lib.maintainers; [ onny ]; 10 11 nodes = { 12 machine = { 13 virtualisation.memorySize = 2048; 14 services.froide-govplan.enable = true; 15 }; 16 }; 17 18 testScript = 19 let 20 changePassword = pkgs.writeText "change-password.py" '' 21 from django.contrib.auth.models import User 22 u = User.objects.get(username='govplan') 23 u.set_password('govplan') 24 u.save() 25 ''; 26 in 27 '' 28 start_all() 29 machine.wait_for_unit("froide-govplan.service") 30 machine.wait_for_file("/run/froide-govplan/froide-govplan.socket") 31 32 with subtest("Home screen loads"): 33 machine.succeed( 34 "curl -sSfL http://[::1]:80 | grep '<title>django CMS</title>'" 35 ) 36 37 with subtest("Superuser can be created"): 38 machine.succeed( 39 "froide-govplan createsuperuser --noinput --username govplan --email govplan@example.com" 40 ) 41 # Django doesn't have a "clean" way of inputting the password from the command line 42 machine.succeed("cat '${changePassword}' | froide-govplan shell") 43 ''; 44}