53 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| import ./make-test.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.stdenv.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 = ''
 | |
|     startAll;
 | |
| 
 | |
|     $default->waitForUnit('miniflux.service');
 | |
|     $default->waitForOpenPort(${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->waitForUnit('miniflux.service');
 | |
|     $customized->waitForOpenPort(${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'");
 | |
|   '';
 | |
| })
 | 
