28 lines
		
	
	
		
			740 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
		
		
			
		
	
	
			28 lines
		
	
	
		
			740 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
| 
								 | 
							
								import ./make-test.nix {
							 | 
						||
| 
								 | 
							
								  name = "bind";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  machine = { pkgs, lib, ... }: {
							 | 
						||
| 
								 | 
							
								    services.bind.enable = true;
							 | 
						||
| 
								 | 
							
								    services.bind.extraOptions = "empty-zones-enable no;";
							 | 
						||
| 
								 | 
							
								    services.bind.zones = lib.singleton {
							 | 
						||
| 
								 | 
							
								      name = ".";
							 | 
						||
| 
								 | 
							
								      file = pkgs.writeText "root.zone" ''
							 | 
						||
| 
								 | 
							
								        $TTL 3600
							 | 
						||
| 
								 | 
							
								        . IN SOA ns.example.org. admin.example.org. ( 1 3h 1h 1w 1d )
							 | 
						||
| 
								 | 
							
								        . IN NS ns.example.org.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        ns.example.org. IN A    192.168.0.1
							 | 
						||
| 
								 | 
							
								        ns.example.org. IN AAAA abcd::1
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        1.0.168.192.in-addr.arpa IN PTR ns.example.org.
							 | 
						||
| 
								 | 
							
								      '';
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  testScript = ''
							 | 
						||
| 
								 | 
							
								    $machine->waitForUnit('bind.service');
							 | 
						||
| 
								 | 
							
								    $machine->waitForOpenPort(53);
							 | 
						||
| 
								 | 
							
								    $machine->succeed('host 192.168.0.1 127.0.0.1 | grep -qF ns.example.org');
							 | 
						||
| 
								 | 
							
								  '';
							 | 
						||
| 
								 | 
							
								}
							 |