summary refs log tree commit diff
path: root/nixos/tests/sogo.nix
diff options
context:
space:
mode:
authorajs124 <git@ajs124.de>2020-05-12 18:32:39 +0200
committerajs124 <git@ajs124.de>2020-05-12 18:49:43 +0200
commite001f5760e4b342e20ba4d91f54a1745f2d4cc53 (patch)
tree926fe0176a48cfa9e992233a66b17c1c21fc9f8c /nixos/tests/sogo.nix
parent511b578c9312a36e70c33c46dc6d1f72d04ca842 (diff)
downloadnixpkgs-e001f5760e4b342e20ba4d91f54a1745f2d4cc53.tar
nixpkgs-e001f5760e4b342e20ba4d91f54a1745f2d4cc53.tar.gz
nixpkgs-e001f5760e4b342e20ba4d91f54a1745f2d4cc53.tar.bz2
nixpkgs-e001f5760e4b342e20ba4d91f54a1745f2d4cc53.tar.lz
nixpkgs-e001f5760e4b342e20ba4d91f54a1745f2d4cc53.tar.xz
nixpkgs-e001f5760e4b342e20ba4d91f54a1745f2d4cc53.tar.zst
nixpkgs-e001f5760e4b342e20ba4d91f54a1745f2d4cc53.zip
nixosTests.sogo: init test
Diffstat (limited to 'nixos/tests/sogo.nix')
-rw-r--r--nixos/tests/sogo.nix58
1 files changed, 58 insertions, 0 deletions
diff --git a/nixos/tests/sogo.nix b/nixos/tests/sogo.nix
new file mode 100644
index 00000000000..016331a9eed
--- /dev/null
+++ b/nixos/tests/sogo.nix
@@ -0,0 +1,58 @@
+import ./make-test-python.nix ({ pkgs, ... }: {
+  name = "sogo";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ ajs124 das_j ];
+  };
+
+  nodes = {
+    sogo = { config, pkgs, ... }: {
+      services.nginx.enable = true;
+
+      services.mysql = {
+        enable = true;
+        package = pkgs.mysql;
+        ensureDatabases = [ "sogo" ];
+        ensureUsers = [{
+          name = "sogo";
+          ensurePermissions = {
+            "sogo.*" = "ALL PRIVILEGES";
+          };
+        }];
+      };
+
+      services.sogo = {
+        enable = true;
+        timezone = "Europe/Berlin";
+        extraConfig = ''
+          WOWorkersCount = 1;
+
+          SOGoUserSources = (
+            {
+              type = sql;
+              userPasswordAlgorithm = md5;
+              viewURL = "mysql://sogo@%2Frun%2Fmysqld%2Fmysqld.sock/sogo/sogo_users";
+              canAuthenticate = YES;
+              id = users;
+            }
+          );
+
+          SOGoProfileURL = "mysql://sogo@%2Frun%2Fmysqld%2Fmysqld.sock/sogo/sogo_user_profile";
+          OCSFolderInfoURL = "mysql://sogo@%2Frun%2Fmysqld%2Fmysqld.sock/sogo/sogo_folder_info";
+          OCSSessionsFolderURL = "mysql://sogo@%2Frun%2Fmysqld%2Fmysqld.sock/sogo/sogo_sessions_folder";
+          OCSEMailAlarmsFolderURL = "mysql://sogo@%2Frun%2Fmysqld%2Fmysqld.sock/sogo/sogo_alarms_folder";
+          OCSStoreURL = "mysql://sogo@%2Frun%2Fmysqld%2Fmysqld.sock/sogo/sogo_store";
+          OCSAclURL = "mysql://sogo@%2Frun%2Fmysqld%2Fmysqld.sock/sogo/sogo_acl";
+          OCSCacheFolderURL = "mysql://sogo@%2Frun%2Fmysqld%2Fmysqld.sock/sogo/sogo_cache_folder";
+        '';
+      };
+    };
+  };
+
+  testScript = ''
+    start_all()
+    sogo.wait_for_unit("multi-user.target")
+    sogo.wait_for_open_port(20000)
+    sogo.wait_for_open_port(80)
+    sogo.succeed("curl -sSfL http://sogo/SOGo")
+  '';
+})