https://github.com/epinter/dnsjava-fakeresolver
A dnsjava resolver for unit testing
https://github.com/epinter/dnsjava-fakeresolver
Last synced: about 1 year ago
JSON representation
A dnsjava resolver for unit testing
- Host: GitHub
- URL: https://github.com/epinter/dnsjava-fakeresolver
- Owner: epinter
- License: apache-2.0
- Created: 2025-01-23T04:19:06.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-23T04:25:47.000Z (over 1 year ago)
- Last Synced: 2025-01-23T05:25:51.132Z (over 1 year ago)
- Language: Java
- Size: 69.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# A 'Fake' resolver for dnsjava
To be used with unit tests. Generate DNS records at runtime, or import from zonefiles. External records are resolved by
normal dnsjava resolvers.
### Usage
```
FakeResolver fakeResolver = new FakeResolver();
fakeResolver.addRecord(
new MXRecord(Name.fromString("xyz.aaa."), DClass.IN, 30L, 10, Name.fromString("mx.xyz.aaa."))
);
fakeResolver.fromZoneFile("xyz.aaa", "filename.zone");
Lookup query1 = new Lookup(Name.fromString("xyz.aaa."), Type.MX);
Lookup query2 = new Lookup(Name.fromString("www.xyz.aaa."), Type.A);
query1.setResolver(fakeResolver);
query2.setResolver(fakeResolver);
System.out.println(Arrays.toString(query1.run()));
System.out.println(Arrays.toString(query2.run()));
```
Example of zonefile
```
$TTL 30
@ 30 IN SOA ns1.fakeresolver.demo. hostmaster.fakeresolver.demo. 1 30 30 30 30
@ 30 IN NS ns1.fakeresolver.demo.
www IN A 192.0.2.200
```
Output:
```
[xyz.aaa. 30 IN MX 10 mx.xyz.aaa.]
[www.xyz.aaa. 30 IN A 192.0.2.200]
```