nixpkgs/nixos/tests/samba.nix
2024-09-06 17:53:22 +02:00

47 lines
1 KiB
Nix

import ./make-test-python.nix ({ pkgs, lib, ... }: {
name = "samba";
meta.maintainers = [ lib.maintainers.anthonyroussel ];
nodes = {
client =
{ ... }:
{
virtualisation.fileSystems = {
"/public" = {
fsType = "cifs";
device = "//server/public";
options = [ "guest" ];
};
};
};
server =
{ ... }:
{
services.samba = {
enable = true;
openFirewall = true;
settings = {
"public" = {
"path" = "/public";
"read only" = true;
"browseable" = "yes";
"guest ok" = "yes";
"comment" = "Public samba share.";
};
};
};
};
};
testScript = ''
server.start()
server.wait_for_unit("samba.target")
server.succeed("mkdir -p /public; echo bar > /public/foo")
client.start()
client.wait_for_unit("remote-fs.target")
client.succeed("[[ $(cat /public/foo) = bar ]]")
'';
})