| 
									
										
										
										
											2018-08-19 18:09:17 +02:00
										 |  |  | import ./make-test.nix ({ pkgs, lib, ... }: | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |   name = "codimd"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   meta = with lib.maintainers; { | 
					
						
							|  |  |  |     maintainers = [ willibutz ]; | 
					
						
							|  |  |  |   }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   nodes = { | 
					
						
							|  |  |  |     codimdSqlite = { ... }: { | 
					
						
							|  |  |  |       services = { | 
					
						
							|  |  |  |         codimd = { | 
					
						
							|  |  |  |           enable = true; | 
					
						
							|  |  |  |           configuration.dbURL = "sqlite:///var/lib/codimd/codimd.db"; | 
					
						
							|  |  |  |         }; | 
					
						
							|  |  |  |       }; | 
					
						
							|  |  |  |     }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     codimdPostgres = { ... }: { | 
					
						
							|  |  |  |       systemd.services.codimd.after = [ "postgresql.service" ]; | 
					
						
							|  |  |  |       services = { | 
					
						
							|  |  |  |         codimd = { | 
					
						
							|  |  |  |           enable = true; | 
					
						
							|  |  |  |           configuration.dbURL = "postgres://codimd:snakeoilpassword@localhost:5432/codimddb"; | 
					
						
							|  |  |  |         }; | 
					
						
							|  |  |  |         postgresql = { | 
					
						
							|  |  |  |           enable = true; | 
					
						
							|  |  |  |           initialScript = pkgs.writeText "pg-init-script.sql" ''
 | 
					
						
							|  |  |  |             CREATE ROLE codimd LOGIN PASSWORD 'snakeoilpassword'; | 
					
						
							|  |  |  |             CREATE DATABASE codimddb OWNER codimd; | 
					
						
							|  |  |  |           '';
 | 
					
						
							|  |  |  |         }; | 
					
						
							|  |  |  |       }; | 
					
						
							|  |  |  |     }; | 
					
						
							|  |  |  |   }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   testScript = ''
 | 
					
						
							|  |  |  |     startAll(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     subtest "CodiMD sqlite", sub { | 
					
						
							|  |  |  |       $codimdSqlite->waitForUnit("codimd.service"); | 
					
						
							|  |  |  |       $codimdSqlite->waitForOpenPort(3000); | 
					
						
							| 
									
										
										
										
											2018-10-08 22:15:18 +02:00
										 |  |  |       $codimdSqlite->waitUntilSucceeds("curl -sSf http://localhost:3000/new"); | 
					
						
							| 
									
										
										
										
											2018-08-19 18:09:17 +02:00
										 |  |  |     }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     subtest "CodiMD postgres", sub { | 
					
						
							|  |  |  |       $codimdPostgres->waitForUnit("postgresql.service"); | 
					
						
							|  |  |  |       $codimdPostgres->waitForUnit("codimd.service"); | 
					
						
							|  |  |  |       $codimdPostgres->waitForOpenPort(5432); | 
					
						
							|  |  |  |       $codimdPostgres->waitForOpenPort(3000); | 
					
						
							| 
									
										
										
										
											2018-10-08 22:15:18 +02:00
										 |  |  |       $codimdPostgres->waitUntilSucceeds("curl -sSf http://localhost:3000/new"); | 
					
						
							| 
									
										
										
										
											2018-08-19 18:09:17 +02:00
										 |  |  |     }; | 
					
						
							|  |  |  |   '';
 | 
					
						
							|  |  |  | }) |