Skip to content

v1.0.0: Feature/Configurable record not found behaviour

Choose a tag to compare

@bestwebua bestwebua released this 29 Jan 07:05
· 129 commits to master since this release
130779a

Added configurable strategy for record not found case. By default it won't raise an exception when DNS record not found in mocked records dictionary:

DnsMock.start_server(port: 5300)
dig @localhost -p 5300 A example.com
; <<>> DiG 9.10.6 <<>> @localhost -p 5300 A example.com
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38632
;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;example.com.			IN	A

;; Query time: 0 msec
;; SERVER: 127.0.0.1#5300(127.0.0.1)
;; WHEN: Fri Jan 29 08:21:30 EET 2021
;; MSG SIZE  rcvd: 40

If you want raise an exception when record not found, just start DnsMock with exception_if_not_found: true option:

DnsMock.start_server(exception_if_not_found: true)
  1. Updated DnsMock.start_server
  2. Updated DnsMock::Server
  3. Updated DnsMock::Response::Message
  4. Updated DnsMock::Response::Answer
  5. Updated readme, changelog
  6. Updated gem version to 1.0.0