dns_monkey 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/dns_monkey.rb +2 -5
- data/lib/dns_monkey/version.rb +1 -1
- data/spec/unit/dns_monkey_spec.rb +11 -41
- metadata +1 -1
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: b100dd3944b4c70296e2ca97efe3ebde2e2cca0e4e5f72a962c4c28b31c1410e
         | 
| 4 | 
            +
              data.tar.gz: 66bf30794c0854c56304309fa768b3e69adbb0228ead121f98dba1b8aeda4e9e
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 95fbc64f2c8ae87e7d9c6326b28cd75abd802dc85e8d7c13127987ad20ef99a02e0424d9225346eb2e0f26a41804551de70758634db634699733b93910a95e3d
         | 
| 7 | 
            +
              data.tar.gz: 798842f39c09c47197b9f7fb9477792bd95767570da5fd89ee62dfe38889f23a91b2a604ac94133045de17a2e905b3adf5e530698924a1f926542d5539b64a03
         | 
    
        data/lib/dns_monkey.rb
    CHANGED
    
    | @@ -16,11 +16,8 @@ class DNSMonkey | |
| 16 16 | 
             
              #   exist
         | 
| 17 17 | 
             
              #
         | 
| 18 18 | 
             
              def a_record_name(name)
         | 
| 19 | 
            -
                if cname_record?(name)
         | 
| 20 | 
            -
             | 
| 21 | 
            -
                elsif a_record?(name)
         | 
| 22 | 
            -
                  name.to_s
         | 
| 23 | 
            -
                end
         | 
| 19 | 
            +
                return a_record_name(resolv_cname_record(name).name) if cname_record?(name)
         | 
| 20 | 
            +
                return name.to_s if a_record?(name)
         | 
| 24 21 | 
             
              end
         | 
| 25 22 |  | 
| 26 23 | 
             
              private
         | 
    
        data/lib/dns_monkey/version.rb
    CHANGED
    
    
| @@ -2,6 +2,7 @@ require 'dns_monkey' | |
| 2 2 |  | 
| 3 3 | 
             
            describe DNSMonkey do
         | 
| 4 4 | 
             
              subject { DNSMonkey.new(resolver: resolver) }
         | 
| 5 | 
            +
             | 
| 5 6 | 
             
              let(:resolver) { Resolv::DNS.new }
         | 
| 6 7 |  | 
| 7 8 | 
             
              it 'responds to #a_record_name' do
         | 
| @@ -9,54 +10,23 @@ describe DNSMonkey do | |
| 9 10 | 
             
              end
         | 
| 10 11 |  | 
| 11 12 | 
             
              describe '#a_record_name' do
         | 
| 12 | 
            -
                let(:bad_record_name) { 'bad-record.domain.com' }
         | 
| 13 | 
            -
                let(:a_record_name) { 'a-record.domain.com' }
         | 
| 14 | 
            -
                let(:a_record_ip) { '8.8.4.4' }
         | 
| 15 | 
            -
                let(:cname_record_name) { 'cname-record.domain.com' }
         | 
| 16 | 
            -
                let(:a_record) { Resolv::DNS::Resource::IN::A.new(a_record_ip) }
         | 
| 17 | 
            -
                let(:cname_record_dns_name) { Resolv::DNS::Name.create(a_record_name) }
         | 
| 18 | 
            -
                let(:cname_record) { Resolv::DNS::Resource::IN::CNAME.new(cname_record_dns_name) }
         | 
| 19 | 
            -
             | 
| 20 | 
            -
                before do
         | 
| 21 | 
            -
                  allow(resolver).to receive(:getresource)
         | 
| 22 | 
            -
                    .with(cname_record_name, Resolv::DNS::Resource::IN::CNAME)
         | 
| 23 | 
            -
                    .and_return(cname_record)
         | 
| 24 | 
            -
             | 
| 25 | 
            -
                  allow(resolver).to receive(:getresource)
         | 
| 26 | 
            -
                    .with(cname_record.name, Resolv::DNS::Resource::IN::CNAME)
         | 
| 27 | 
            -
                    .and_raise(Resolv::ResolvError)
         | 
| 28 | 
            -
             | 
| 29 | 
            -
                  allow(resolver).to receive(:getresource)
         | 
| 30 | 
            -
                    .with(cname_record.name, Resolv::DNS::Resource::IN::A)
         | 
| 31 | 
            -
                    .and_return(a_record)
         | 
| 32 | 
            -
             | 
| 33 | 
            -
                  allow(resolver).to receive(:getresource)
         | 
| 34 | 
            -
                    .with(a_record_name, Resolv::DNS::Resource::IN::CNAME)
         | 
| 35 | 
            -
                    .and_raise(Resolv::ResolvError)
         | 
| 36 | 
            -
             | 
| 37 | 
            -
                  allow(resolver).to receive(:getresource)
         | 
| 38 | 
            -
                    .with(a_record_name, Resolv::DNS::Resource::IN::A)
         | 
| 39 | 
            -
                    .and_return(a_record)
         | 
| 40 | 
            -
             | 
| 41 | 
            -
                  allow(resolver).to receive(:getresource)
         | 
| 42 | 
            -
                    .with(bad_record_name, Resolv::DNS::Resource::IN::CNAME)
         | 
| 43 | 
            -
                    .and_raise(Resolv::ResolvError)
         | 
| 44 | 
            -
             | 
| 45 | 
            -
                  allow(resolver).to receive(:getresource)
         | 
| 46 | 
            -
                    .with(bad_record_name, Resolv::DNS::Resource::IN::A)
         | 
| 47 | 
            -
                    .and_raise(Resolv::ResolvError)
         | 
| 48 | 
            -
                end
         | 
| 49 13 |  | 
| 50 | 
            -
                 | 
| 14 | 
            +
                let(:non_existent_record_name) { 'non-existent.dns-monkey.knowitnot.com' }
         | 
| 15 | 
            +
                let(:a_record_name) { 'my-a-record.dns-monkey.knowitnot.com' }
         | 
| 16 | 
            +
                let(:cname_record_name) { 'my-cname-record.dns-monkey.knowitnot.com' }
         | 
| 17 | 
            +
                let(:other_cname_record_name) { 'my-other-cname-record.dns-monkey.knowitnot.com' }
         | 
| 18 | 
            +
             | 
| 19 | 
            +
                it 'returns name of A record, when passed an A record name' do
         | 
| 51 20 | 
             
                  expect(subject.a_record_name(a_record_name)).to eq(a_record_name)
         | 
| 52 21 | 
             
                end
         | 
| 53 22 |  | 
| 54 | 
            -
                it 'returns name of  | 
| 23 | 
            +
                it 'returns name of A record, when passed a CNAME record name' do
         | 
| 55 24 | 
             
                  expect(subject.a_record_name(cname_record_name)).to eq(a_record_name)
         | 
| 25 | 
            +
                  expect(subject.a_record_name(other_cname_record_name)).to eq(a_record_name)
         | 
| 56 26 | 
             
                end
         | 
| 57 27 |  | 
| 58 | 
            -
                it 'returns nil when passed  | 
| 59 | 
            -
                  expect(subject.a_record_name( | 
| 28 | 
            +
                it 'returns nil when passed a non-existent record name' do
         | 
| 29 | 
            +
                  expect(subject.a_record_name(non_existent_record_name)).to be nil
         | 
| 60 30 | 
             
                end
         | 
| 61 31 | 
             
              end
         | 
| 62 32 | 
             
            end
         |