All Versions
23
Latest Version
Avg Release Cycle
28 days
Latest Release
717 days ago

Changelog History
Page 2

  • v1.4.0 Changes

    July 13, 2021

    ➕ Added

    • ➕ Added ability to use internationalized hostnames. All hostnames in UTF-8 will be represented as Punycode
    • ➕ Added simpleidn as runtime dependency
    • ➕ Added DnsMock::Representer::Punycode, tests
    records = {
      'mañana.com' => {
        mx: %w[másletras.mañana.com]
      }
    }
    
    DnsMock.start_server(port: 5300, records: records)
    
    dig @localhost -p 5300 MX xn--maana-pta.com
    
    ; <<>> DiG 9.10.6 <<>> @localhost -p 5300 MX xn--maana-pta.com
    ; (2 servers found)
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4612
    ;; flags: rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
    ;; WARNING: recursion requested but not available
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ;; QUESTION SECTION:
    ;xn--maana-pta.com.     IN  MX
    
    ;; ANSWER SECTION:
    xn--maana-pta.com.  1   IN  MX  10 xn--msletras-8ya.xn--maana-pta.com.
    
    ;; Query time: 0 msec
    ;; SERVER: 127.0.0.1#5300(127.0.0.1)
    ;; WHEN: Tue Jul 13 15:38:47 EEST 2021
    ;; MSG SIZE  rcvd: 79
    

    🔄 Changed

    • 🔨 Refactored DnsMock::Representer::RdnsLookup, tests
    • ⚡️ Updated DnsMock::Record::Factory::Base
    • ⚡️ Updated DnsMock::Server::RecordsDictionaryBuilder, tests
    • ⚡️ Updated DnsMock::Record::Factory::Cname, tests
    • ⚡️ Updated DnsMock::Record::Factory::Mx, tests
    • ⚡️ Updated DnsMock::Record::Factory::Ns, tests
    • ⚡️ Updated DnsMock::Record::Factory::Ptr, tests
    • ⚡️ Updated DnsMock::Record::Factory::Soa, tests
    • ⚡️ Updated DnsMock::ContextGeneratorHelper, tests
    • ⚡️ Updated reek config
    • 📚 Updated gem documentation, version
  • v1.3.1 Changes

    July 07, 2021

    🔄 Changed

    • ⚡️ Updated gem development dependencies
    • ⚡️ Updated rubocop/codeclimate config
    • 📚 Updated gem documentation, version
  • v1.3.0 Changes

    June 14, 2021

    ➕ Added

    ✂ Removed

    • ✂ Removed DnsMock::Server::RandomAvailablePort, tests

    🔄 Changed

    • ⚡️ Updated DnsMock::Server class
    • ⚡️ Updated tests helpers/tests
    • ⚡️ Updated gem development dependencies

    🛠 Fixed

    • ✅ Test coverage issues
  • v1.2.4 Changes

    May 25, 2021

    🔄 Changed

    • ⚡️ Updated gem development dependencies
    • ⚡️ Updated CircleCI config
  • v1.2.3 Changes

    May 11, 2021

    🔄 Changed

    • ⚡️ Updated gem development dependencies
    • ⚡️ Updated CircleCI config
  • v1.2.2 Changes

    May 06, 2021

    🔄 Changed

    • ⚡️ Updated gem development dependencies
    • ⚡️ Updated rubocop/codeclimate config
    • ⚡️ Updated CircleCI config
  • v1.2.1 Changes

    March 23, 2021

    🔄 Changed

    • ⚡️ Updated gem development dependencies
    • ⚡️ Updated rubocop/codeclimate config
    • 📚 Updated gem documentation
    • ⚡️ Updated tests
  • v1.2.0 Changes

    February 04, 2021

    ➕ Added

    • Ability to specify custom priority of MX record if it needed

    🏗 Now is possible to define null or backup MX records. Please note, if you haven't specified a priority of MX record, it will be assigned automatically. MX records builder is assigning priority with step 10 from first item of defined MX records array.

    records = {
      'example.com' => {
        mx: %w[.:0 mx1.domain.com:10 mx2.domain.com:10 mx3.domain.com] # .:0 - null MX record
      }
    }
    
    DnsMock.start_server(records: records)
    
    dig @localhost -p 5300 MX example.com
    
    ; <<>> DiG 9.10.6 <<>> @localhost -p 5300 MX example.com
    
    ;; ANSWER SECTION:
    example.com.        1   IN  MX  0 .
    example.com.        1   IN  MX  10 mx1.domain.com.
    example.com.        1   IN  MX  10 mx2.domain.com.
    example.com.        1   IN  MX  40 mx3.domain.com.
    
    ;; Query time: 0 msec
    ;; SERVER: 127.0.0.1#5300(127.0.0.1)
    ;; WHEN: Wed Feb 03 20:19:51 EET 2021
    ;; MSG SIZE  rcvd: 102
    
  • v1.1.0 Changes

    February 01, 2021

    ➕ Added

    • 👍 RSpec native support. DnsMock helper help you to simplify integration with RSpec
  • v1.0.0 Changes

    January 29, 2021

    ➕ 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)
    

    🔄 Changed

    • ⚡️ Updated DnsMock.start_server
    • ⚡️ Updated DnsMock::Server
    • ⚡️ Updated DnsMock::Response::Message
    • ⚡️ Updated DnsMock::Response::Answer
    • ⚡️ Updated gem version, readme