With this option it's possible to specify a custom expression for `roundcube`, i.e. a roundcube environment with third-party plugins as shown in the testcase.
		
			
				
	
	
		
			31 lines
		
	
	
		
			875 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			875 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
import ./make-test.nix ({ pkgs, ...} : {
 | 
						|
  name = "roundcube";
 | 
						|
  meta = with pkgs.stdenv.lib.maintainers; {
 | 
						|
    maintainers = [ globin ];
 | 
						|
  };
 | 
						|
 | 
						|
  nodes = {
 | 
						|
    roundcube = { config, pkgs, ... }: {
 | 
						|
      services.roundcube = {
 | 
						|
        enable = true;
 | 
						|
        hostName = "roundcube";
 | 
						|
        database.password = "notproduction";
 | 
						|
        package = pkgs.roundcube.withPlugins (plugins: [ plugins.persistent_login ]);
 | 
						|
        plugins = [ "persistent_login" ];
 | 
						|
      };
 | 
						|
      services.nginx.virtualHosts.roundcube = {
 | 
						|
        forceSSL = false;
 | 
						|
        enableACME = false;
 | 
						|
      };
 | 
						|
    };
 | 
						|
  };
 | 
						|
 | 
						|
  testScript = ''
 | 
						|
    $roundcube->start;
 | 
						|
    $roundcube->waitForUnit("postgresql.service");
 | 
						|
    $roundcube->waitForUnit("phpfpm-roundcube.service");
 | 
						|
    $roundcube->waitForUnit("nginx.service");
 | 
						|
    $roundcube->succeed("curl -sSfL http://roundcube/ | grep 'Keep me logged in'");
 | 
						|
  '';
 | 
						|
})
 |