From 75e18ab32379377d445ebee04d355125627e3d19 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Sun, 24 May 2020 00:01:06 +0200 Subject: [PATCH] nixosTests.nextcloud: Add davfs2 example to the VM test Some people use davfs2 to mount a NextCloud instance, so make sure this works as well. --- nixos/tests/nextcloud/basic.nix | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/nixos/tests/nextcloud/basic.nix b/nixos/tests/nextcloud/basic.nix index 92ac5c46e8f0..9cbecf01f57b 100644 --- a/nixos/tests/nextcloud/basic.nix +++ b/nixos/tests/nextcloud/basic.nix @@ -9,7 +9,22 @@ in { nodes = { # The only thing the client needs to do is download a file. - client = { ... }: {}; + client = { ... }: { + services.davfs2.enable = true; + system.activationScripts.davfs2-secrets = '' + echo "http://nextcloud/remote.php/webdav/ ${adminuser} ${adminpass}" > /tmp/davfs2-secrets + chmod 600 /tmp/davfs2-secrets + ''; + fileSystems = pkgs.lib.mkVMOverride { + "/mnt/dav" = { + device = "http://nextcloud/remote.php/webdav/"; + fsType = "davfs"; + options = let + davfs2Conf = (pkgs.writeText "davfs2.conf" "secrets /tmp/davfs2-secrets"); + in [ "conf=${davfs2Conf}" "x-systemd.automount" "noauto"]; + }; + }; + }; nextcloud = { config, pkgs, ... }: { networking.firewall.allowedTCPPorts = [ 80 ]; @@ -60,5 +75,6 @@ in { client.succeed( "${withRcloneEnv} ${diffSharedFile}" ) + assert "hi" in client.succeed("cat /mnt/dav/test-shared-file") ''; })