| 
									
										
										
										
											2019-11-24 14:19:36 +01:00
										 |  |  | import ./make-test-python.nix ({ pkgs, lib, ... }: | 
					
						
							| 
									
										
										
										
											2018-08-19 18:09:17 +02:00
										 |  |  | { | 
					
						
							|  |  |  |   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 = ''
 | 
					
						
							| 
									
										
										
										
											2019-11-24 14:19:36 +01:00
										 |  |  |     start_all() | 
					
						
							| 
									
										
										
										
											2018-08-19 18:09:17 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-11-24 14:19:36 +01:00
										 |  |  |     with subtest("CodiMD sqlite"): | 
					
						
							|  |  |  |         codimdSqlite.wait_for_unit("codimd.service") | 
					
						
							|  |  |  |         codimdSqlite.wait_for_open_port(3000) | 
					
						
							|  |  |  |         codimdSqlite.wait_until_succeeds("curl -sSf http://localhost:3000/new") | 
					
						
							| 
									
										
										
										
											2018-08-19 18:09:17 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-11-24 14:19:36 +01:00
										 |  |  |     with subtest("CodiMD postgres"): | 
					
						
							|  |  |  |         codimdPostgres.wait_for_unit("postgresql.service") | 
					
						
							|  |  |  |         codimdPostgres.wait_for_unit("codimd.service") | 
					
						
							|  |  |  |         codimdPostgres.wait_for_open_port(5432) | 
					
						
							|  |  |  |         codimdPostgres.wait_for_open_port(3000) | 
					
						
							|  |  |  |         codimdPostgres.wait_until_succeeds("curl -sSf http://localhost:3000/new") | 
					
						
							| 
									
										
										
										
											2018-08-19 18:09:17 +02:00
										 |  |  |   '';
 | 
					
						
							|  |  |  | }) |