at 23.11-pre 944 B view raw
1import ./make-test-python.nix ({ pkgs, lib, ... }: { 2 name = "systemd-userdbd"; 3 nodes.machine = { config, pkgs, ... }: { 4 services.userdbd.enable = true; 5 6 users.users.test-user-nss = { 7 isNormalUser = true; 8 }; 9 10 environment.etc."userdb/test-user-dropin.user".text = builtins.toJSON { 11 userName = "test-user-dropin"; 12 }; 13 14 environment.systemPackages = with pkgs; [ libvarlink ]; 15 }; 16 testScript = '' 17 import json 18 from shlex import quote 19 20 def getUserRecord(name): 21 Interface = "unix:/run/systemd/userdb/io.systemd.Multiplexer/io.systemd.UserDatabase" 22 payload = json.dumps({ 23 "service": "io.systemd.Multiplexer", 24 "userName": name 25 }) 26 return json.loads(machine.succeed(f"varlink call {Interface}.GetUserRecord {quote(payload)}")) 27 28 machine.wait_for_unit("systemd-userdbd.socket") 29 getUserRecord("test-user-nss") 30 getUserRecord("test-user-dropin") 31 ''; 32})