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
|