| 
									
										
										
										
											2014-04-14 14:02:44 +02:00
										 |  |  | import ./make-test.nix ({ pkgs, ... }: { | 
					
						
							| 
									
										
										
										
											2014-06-28 16:04:49 +02:00
										 |  |  |   name = "trac"; | 
					
						
							| 
									
										
										
										
											2015-07-12 12:09:40 +02:00
										 |  |  |   meta = with pkgs.stdenv.lib.maintainers; { | 
					
						
							|  |  |  |     maintainers = [ eelco chaoflow ]; | 
					
						
							|  |  |  |   }; | 
					
						
							| 
									
										
										
										
											2009-09-04 11:37:07 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   nodes = { | 
					
						
							| 
									
										
										
										
											2011-09-14 18:20:50 +00:00
										 |  |  |     storage = | 
					
						
							| 
									
										
										
										
											2013-09-04 13:05:09 +02:00
										 |  |  |       { config, pkgs, ... }: | 
					
						
							|  |  |  |       { services.nfs.server.enable = true; | 
					
						
							| 
									
										
										
										
											2012-03-16 20:41:49 +00:00
										 |  |  |         services.nfs.server.exports = ''
 | 
					
						
							| 
									
										
										
										
											2009-09-04 23:04:29 +00:00
										 |  |  |           /repos 192.168.1.0/255.255.255.0(rw,no_root_squash) | 
					
						
							|  |  |  |         '';
 | 
					
						
							| 
									
										
										
										
											2012-03-16 20:41:49 +00:00
										 |  |  |         services.nfs.server.createMountPoints = true; | 
					
						
							| 
									
										
										
										
											2009-09-04 11:37:07 +00:00
										 |  |  |       }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     postgresql = | 
					
						
							| 
									
										
										
										
											2013-09-04 13:05:09 +02:00
										 |  |  |       { config, pkgs, ... }: | 
					
						
							|  |  |  |       { services.postgresql.enable = true; | 
					
						
							| 
									
										
										
										
											2013-06-29 20:25:38 +02:00
										 |  |  |         services.postgresql.package = pkgs.postgresql92; | 
					
						
							| 
									
										
										
										
											2009-11-05 18:21:09 +00:00
										 |  |  |         services.postgresql.enableTCPIP = true; | 
					
						
							| 
									
										
										
										
											2009-09-04 23:04:29 +00:00
										 |  |  |         services.postgresql.authentication = ''
 | 
					
						
							|  |  |  |           # Generated file; do not edit! | 
					
						
							|  |  |  |           local all all                trust | 
					
						
							|  |  |  |           host  all all 127.0.0.1/32   trust | 
					
						
							| 
									
										
										
										
											2009-11-05 18:21:09 +00:00
										 |  |  |           host  all all ::1/128        trust | 
					
						
							|  |  |  |           host  all all 192.168.1.0/24 trust | 
					
						
							| 
									
										
										
										
											2009-09-04 23:04:29 +00:00
										 |  |  |         '';
 | 
					
						
							| 
									
										
										
										
											2009-09-04 11:37:07 +00:00
										 |  |  |       }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-09-14 18:20:50 +00:00
										 |  |  |     webserver = | 
					
						
							| 
									
										
										
										
											2013-09-04 13:05:09 +02:00
										 |  |  |       { config, pkgs, ... }: | 
					
						
							| 
									
										
										
										
											2013-10-29 13:04:52 +01:00
										 |  |  |       { fileSystems = pkgs.lib.mkVMOverride | 
					
						
							| 
									
										
										
										
											2010-01-05 17:42:36 +00:00
										 |  |  |           [ { mountPoint = "/repos"; | 
					
						
							| 
									
										
										
										
											2011-02-04 13:33:52 +00:00
										 |  |  |               device = "storage:/repos"; | 
					
						
							| 
									
										
										
										
											2012-10-24 18:10:58 +02:00
										 |  |  |               fsType = "nfs"; | 
					
						
							| 
									
										
										
										
											2012-03-16 20:41:49 +00:00
										 |  |  |             } | 
					
						
							| 
									
										
										
										
											2010-01-05 17:42:36 +00:00
										 |  |  |           ]; | 
					
						
							| 
									
										
										
										
											2009-09-04 23:04:29 +00:00
										 |  |  |         services.httpd.enable = true; | 
					
						
							|  |  |  |         services.httpd.adminAddr = "root@localhost"; | 
					
						
							|  |  |  |         services.httpd.extraSubservices = [ { serviceType = "trac"; } ]; | 
					
						
							| 
									
										
										
										
											2009-11-05 18:21:09 +00:00
										 |  |  |         environment.systemPackages = [ pkgs.pythonPackages.trac pkgs.subversion ]; | 
					
						
							| 
									
										
										
										
											2009-09-04 11:37:07 +00:00
										 |  |  |       }; | 
					
						
							| 
									
										
										
										
											2011-09-14 18:20:50 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     client = | 
					
						
							| 
									
										
										
										
											2013-09-04 13:05:09 +02:00
										 |  |  |       { config, pkgs, ... }: | 
					
						
							|  |  |  |       { imports = [ ./common/x11.nix ]; | 
					
						
							| 
									
										
										
										
											2017-03-03 07:26:51 -06:00
										 |  |  |         services.xserver.desktopManager.plasma5.enable = true; | 
					
						
							| 
									
										
										
										
											2009-09-04 11:37:07 +00:00
										 |  |  |       }; | 
					
						
							|  |  |  |   }; | 
					
						
							| 
									
										
										
										
											2011-09-14 18:20:50 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-05 11:57:17 +00:00
										 |  |  |   testScript = | 
					
						
							| 
									
										
										
										
											2009-09-04 11:37:07 +00:00
										 |  |  |     ''
 | 
					
						
							|  |  |  |       startAll; | 
					
						
							| 
									
										
										
										
											2011-09-14 18:20:50 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-10-24 18:22:53 +02:00
										 |  |  |       $postgresql->waitForUnit("postgresql"); | 
					
						
							|  |  |  |       $postgresql->succeed("createdb trac"); | 
					
						
							| 
									
										
										
										
											2011-09-14 18:20:50 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-10-24 18:22:53 +02:00
										 |  |  |       $webserver->succeed("mkdir -p /repos/trac"); | 
					
						
							|  |  |  |       $webserver->succeed("svnadmin create /repos/trac"); | 
					
						
							| 
									
										
										
										
											2011-09-14 18:20:50 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-07-17 15:28:36 +02:00
										 |  |  |       $webserver->waitForUnit("httpd"); | 
					
						
							| 
									
										
										
										
											2011-09-14 18:20:50 +00:00
										 |  |  |       $webserver->waitForFile("/var/trac"); | 
					
						
							| 
									
										
										
										
											2012-10-24 18:22:53 +02:00
										 |  |  |       $webserver->succeed("mkdir -p /var/trac/projects/test"); | 
					
						
							|  |  |  |       $webserver->succeed("PYTHONPATH=${pkgs.pythonPackages.psycopg2}/lib/${pkgs.python.libPrefix}/site-packages trac-admin /var/trac/projects/test initenv Test postgres://root\@postgresql/trac svn /repos/trac"); | 
					
						
							| 
									
										
										
										
											2011-09-14 18:20:50 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-05 23:59:29 +00:00
										 |  |  |       $client->waitForX; | 
					
						
							|  |  |  |       $client->execute("konqueror http://webserver/projects/test &"); | 
					
						
							|  |  |  |       $client->waitForWindow(qr/Test.*Konqueror/); | 
					
						
							| 
									
										
										
										
											2011-01-10 14:41:16 +00:00
										 |  |  |       $client->sleep(30); # loading takes a long time | 
					
						
							| 
									
										
										
										
											2011-09-14 18:20:50 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-05 11:57:17 +00:00
										 |  |  |       $client->screenshot("screen"); | 
					
						
							| 
									
										
										
										
											2009-09-04 11:37:07 +00:00
										 |  |  |     '';
 | 
					
						
							| 
									
										
										
										
											2014-04-14 14:02:44 +02:00
										 |  |  | }) |