mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-11-09 16:18:34 +01:00
61 lines
1.5 KiB
Nix
61 lines
1.5 KiB
Nix
{ pkgs, ... }:
|
|
{
|
|
name = "svnserve";
|
|
|
|
nodes = {
|
|
server = {
|
|
virtualisation.vlans = [ 1 ];
|
|
|
|
networking = {
|
|
useNetworkd = true;
|
|
useDHCP = false;
|
|
firewall.allowedTCPPorts = [ 3690 ];
|
|
};
|
|
|
|
systemd.network.networks."01-eth1" = {
|
|
name = "eth1";
|
|
networkConfig.Address = "10.0.0.1/24";
|
|
};
|
|
|
|
services.svnserve.enable = true;
|
|
|
|
environment.systemPackages = [ pkgs.subversion ];
|
|
};
|
|
|
|
client =
|
|
{ pkgs, ... }:
|
|
{
|
|
virtualisation.vlans = [ 1 ];
|
|
|
|
networking = {
|
|
useNetworkd = true;
|
|
useDHCP = false;
|
|
};
|
|
|
|
systemd.network.networks."01-eth1" = {
|
|
name = "eth1";
|
|
networkConfig.Address = "10.0.0.2/24";
|
|
};
|
|
|
|
environment.systemPackages = [ pkgs.subversion ];
|
|
};
|
|
};
|
|
|
|
testScript =
|
|
{ nodes, ... }:
|
|
''
|
|
start_all()
|
|
|
|
server.wait_for_unit("svnserve")
|
|
server.wait_for_open_port(3690)
|
|
server.succeed("svnadmin create '${nodes.server.services.svnserve.svnBaseDir}/project'")
|
|
server.succeed("sed -i 's/# anon-access = read/anon-access = write/' '${nodes.server.services.svnserve.svnBaseDir}/project/conf/svnserve.conf'")
|
|
|
|
client.succeed("svn checkout svn://10.0.0.1/project")
|
|
client.succeed("cd ./project && echo hello > ./file.txt && svn add ./file.txt && svn commit -m 'Added file.txt'")
|
|
|
|
client.succeed("svn checkout svn://10.0.0.1/project project-copy")
|
|
client.succeed("grep hello project-copy/file.txt")
|
|
'';
|
|
}
|