dns_monkey 0.1.0 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|