forked from coolaj86/digd.js
		
	
		
			
				
	
	
		
			71 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| Tests todo:
 | |
| 
 | |
| A - SERVFAIL - should return empty response, ra 0
 | |
| A - NXDOMAIN - should return SOA
 | |
| A - NOERROR - should return A record
 | |
|             - or delegated NS record
 | |
| 
 | |
| Record delegated to self should return SOA record rather than NS delegation
 | |
| 
 | |
| Casing should match on question section, always.
 | |
| 
 | |
| Casing should match on other sections if a direct match? (not required, but efficient for compression pointers)
 | |
|   - www.EXample.COm + example.com = EXample.COm
 | |
|   - EXample.COm + www.example.com = www.EXample.COm
 | |
|   - (this should be taken care of by compression pointer logic, once implemented)
 | |
| 
 | |
| Send malformed packets (both as queries and as answers):
 | |
|   - bad question count, answer count, etc
 | |
|   - bad rdata (too long, too short)
 | |
|   - proper packets, truncated
 | |
|   - randomly twiddled bits
 | |
|   - forward compression pointers
 | |
|   - compression pointers to wrong bits (throw error on non-ascii / unsafe chars)
 | |
| 
 | |
| Test that ANY queries return records of all types matching the domain
 | |
| Test that A queries only return A records, not others matching the domain
 | |
| 
 | |
| 
 | |
| ```
 | |
| # Sample Data:
 | |
| #   no A records for delegated.daplie.me
 | |
| #   two external NS records for delegted.daplie.me
 | |
| #   zone daplie.me exists
 | |
| 
 | |
| # Test:
 | |
| #   should return NS records in AUTHORITY section, nothing else
 | |
| node bin/dig.js @localhost -p 65053 A delegated.daplie.me
 | |
| 
 | |
| #   should return NS records in ANSWER section, nothing else
 | |
| node bin/dig.js @localhost -p 65053 NS delegated.daplie.me
 | |
| 
 | |
| 
 | |
| # Sample Data:
 | |
| #   two A records for daplie.me
 | |
| #   no NS records
 | |
| 
 | |
| # Test:
 | |
| #   should return A records in ANSWER section, nothing else
 | |
| node bin/dig.js @localhost -p 65053 A daplie.me
 | |
| 
 | |
| #   should return SOA records in AUTHORITY section, nothing else
 | |
| node bin/dig.js @localhost -p 65053 A doesntexist.daplie.me
 | |
| node bin/dig.js @localhost -p 65053 NS doesntexist.daplie.me
 | |
| 
 | |
| 
 | |
| # Sample Data:
 | |
| #   two A records for a.daplie.me
 | |
| #   has **internal** NS records
 | |
| 
 | |
| # Test:
 | |
| #   should return A record in ANSWER section, nothing else
 | |
| node bin/dig.js @localhost -p 65053 A a.daplie.me
 | |
| 
 | |
| #   should return SOA record in AUTHORITY section, nothing else
 | |
| node bin/dig.js @localhost -p 65053 A doesntexist.a.daplie.me
 | |
| 
 | |
| #   should return NS records in ANSWER section, nothing else
 | |
| node bin/dig.js @localhost -p 65053 NS a.daplie.me
 | |
| 
 | |
| ```
 |