 25bef2d8f9
			
		
	
	
		25bef2d8f9
		
	
	
	
	
		
			
			The library does not depend on stdenv, that `stdenv` exposes `lib` is an artifact of the ancient origins of nixpkgs.
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| import ./make-test-python.nix ({ pkgs, lib, ... }:
 | |
| 
 | |
| let
 | |
|   port = 3142;
 | |
|   username = "alice";
 | |
|   password = "correcthorsebatterystaple";
 | |
|   defaultPort = 8080;
 | |
|   defaultUsername = "admin";
 | |
|   defaultPassword = "password";
 | |
| in
 | |
| with lib;
 | |
| {
 | |
|   name = "miniflux";
 | |
|   meta.maintainers = with pkgs.lib.maintainers; [ bricewge ];
 | |
| 
 | |
|   nodes = {
 | |
|     default =
 | |
|       { ... }:
 | |
|       {
 | |
|         services.miniflux.enable = true;
 | |
|       };
 | |
| 
 | |
|     customized =
 | |
|       { ... }:
 | |
|       {
 | |
|         services.miniflux = {
 | |
|           enable = true;
 | |
|           config = {
 | |
|             CLEANUP_FREQUENCY = "48";
 | |
|             LISTEN_ADDR = "localhost:${toString port}";
 | |
|           };
 | |
|           adminCredentialsFile = pkgs.writeText "admin-credentials" ''
 | |
|             ADMIN_USERNAME=${username}
 | |
|             ADMIN_PASSWORD=${password}
 | |
|           '';
 | |
|         };
 | |
|       };
 | |
|   };
 | |
|   testScript = ''
 | |
|     start_all()
 | |
| 
 | |
|     default.wait_for_unit("miniflux.service")
 | |
|     default.wait_for_open_port(${toString defaultPort})
 | |
|     default.succeed("curl --fail 'http://localhost:${toString defaultPort}/healthcheck' | grep -q OK")
 | |
|     default.succeed(
 | |
|         "curl 'http://localhost:${toString defaultPort}/v1/me' -u '${defaultUsername}:${defaultPassword}' -H Content-Type:application/json | grep -q '\"is_admin\":true'"
 | |
|     )
 | |
| 
 | |
|     customized.wait_for_unit("miniflux.service")
 | |
|     customized.wait_for_open_port(${toString port})
 | |
|     customized.succeed("curl --fail 'http://localhost:${toString port}/healthcheck' | grep -q OK")
 | |
|     customized.succeed(
 | |
|         "curl 'http://localhost:${toString port}/v1/me' -u '${username}:${password}' -H Content-Type:application/json | grep -q '\"is_admin\":true'"
 | |
|     )
 | |
|   '';
 | |
| })
 |