require 'rails_helper'
describe 'EPP Helper', epp: true do
context 'in context of Domain' do
it 'generates valid create xml' do
expected = Nokogiri::XML('
example.ee
1
ns1.example.net
ns2.example.net
jd1234
257
3
5
AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8
sh8013
sh8013
sh801333
ABC-12345
').to_s.squish
generated = Nokogiri::XML(domain_create_xml).to_s.squish
expect(generated).to eq(expected)
###
expected = Nokogiri::XML('
one.ee
345
ns1.test.net
ns2.test.net
32fsdaf
257
3
5
AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8
2323rafaf
3dgxx
345xxv
ABC-12345
').to_s.squish
xml = domain_create_xml({
name: { value: 'one.ee' },
period: {value: '345', attrs: { unit: 'd' } },
ns: [
{ hostObj: {value: 'ns1.test.net' } },
{ hostObj: {value: 'ns2.test.net' } }
],
registrant: { value: '32fsdaf' },
_other: [
{ contact: {value: '2323rafaf', attrs: { type: 'admin' } } },
{ contact: {value: '3dgxx', attrs: { type: 'tech' } } },
{ contact: {value: '345xxv', attrs: { type: 'tech' } } }
]
})
generated = Nokogiri::XML(xml).to_s.squish
expect(generated).to eq(expected)
###
expected = Nokogiri::XML('
one.ee
ABC-12345
').to_s.squish
xml = domain_create_xml({
name: { value: 'one.ee' },
period: nil,
ns: nil,
registrant: nil,
_other: nil,
dnssec: nil
})
generated = Nokogiri::XML(xml).to_s.squish
expect(generated).to eq(expected)
end
it 'generates valid info xml' do
expected = Nokogiri::XML('
example.ee
2fooBAR
ABC-12345
').to_s.squish
generated = Nokogiri::XML(domain_info_xml).to_s.squish
expect(generated).to eq(expected)
expected = Nokogiri::XML('
one.ee
b3rafsla
ABC-12345
').to_s.squish
generated = Nokogiri::XML(domain_info_xml(name_value: 'one.ee', name_hosts: 'sub', pw: 'b3rafsla')).to_s.squish
expect(generated).to eq(expected)
end
it 'generates valid check xml' do
expected = Nokogiri::XML('
example.ee
ABC-12345
').to_s.squish
generated = Nokogiri::XML(domain_check_xml).to_s.squish
expect(generated).to eq(expected)
expected = Nokogiri::XML('
example.ee
example2.ee
example3.ee
ABC-12345
').to_s.squish
generated = Nokogiri::XML(domain_check_xml(names: ['example.ee', 'example2.ee', 'example3.ee'])).to_s.squish
expect(generated).to eq(expected)
end
it 'generates valid renew xml' do
expected = Nokogiri::XML('
example.ee
2014-08-07
1
ABC-12345
').to_s.squish
generated = Nokogiri::XML(domain_renew_xml).to_s.squish
expect(generated).to eq(expected)
expected = Nokogiri::XML('
one.ee
2009-11-15
365
ABC-12345
').to_s.squish
generated = Nokogiri::XML(domain_renew_xml(name: 'one.ee', curExpDate: '2009-11-15',
period_value: '365', period_unit: 'd')).to_s.squish
expect(generated).to eq(expected)
end
it 'generates valid update xml' do
# Detailed update
expected = Nokogiri::XML('
example.ee
ns2.example.com
mak21
Payment overdue.
ns1.example.com
sh8013
mak21
ABC-12345
').to_s.squish
xml = domain_update_xml(
name: { value: 'example.ee' },
add: [
{ ns:
[
hostObj: { value: 'ns1.example.com' },
hostObj: { value: 'ns2.example.com' }
]
},
{ contact: { attrs: { type: 'tech' }, value: 'mak21' } },
{ status: { attrs: { s: 'clientUpdateProhibited' }, value: '' } },
{ status: { attrs: { s: 'clientHold', lang: 'en' }, value: 'Payment overdue.' } }
],
rem: [
ns: [
hostObj: { value: 'ns1.example.com' }
],
contact: { attrs: { type: 'tech' }, value: 'sh8013' },
status: { attrs: { s: 'clientUpdateProhibited' }, value: '' }
],
chg: [
registrant: { value: 'mak21' }
]
)
generated = Nokogiri::XML(xml).to_s.squish
expect(generated).to eq(expected)
# Update with NS IP-s
expected = Nokogiri::XML('
one.ee
sh8013
Payment overdue.
ns1.example.net
192.0.2.2
1080:0:0:0:8:800:200C:417A
sh8013
sh8013
ABC-12345
').to_s.squish
xml = domain_update_xml(
name: { value: 'one.ee' },
add: [
ns: nil,
contact: { value: 'sh8013', attrs: { type: 'admin' } },
status: { value: 'Payment overdue.', attrs: { s: 'testStatus', lang: 'et' } }
],
rem: [
ns: [
hostAttr: [
{ hostName: { value: 'ns1.example.net' } },
{ hostAddr: { value: '192.0.2.2', attrs: { ip: 'v4' } } },
{ hostAddr: { value: '1080:0:0:0:8:800:200C:417A', attrs: { ip: 'v6' } } }
]
],
contact: { attrs: { type: 'tech' }, value: 'sh8013' },
status: { attrs: { s: 'clientUpdateProhibited' }, value: '' }
],
chg: [
registrant: { value: 'sh8013' }
]
)
generated = Nokogiri::XML(xml).to_s.squish
expect(generated).to eq(expected)
## Update with chg
expected = Nokogiri::XML('
example.ee
mak21
ABC-12345
').to_s.squish
xml = domain_update_xml(
chg: [
registrant: { value: 'mak21' }
]
)
generated = Nokogiri::XML(xml).to_s.squish
expect(generated).to eq(expected)
end
it 'generates valid transfer xml' do
expected = Nokogiri::XML('
example.ee
98oiewslkfkd
ABC-12345
').to_s.squish
generated = Nokogiri::XML(domain_transfer_xml).to_s.squish
expect(generated).to eq(expected)
expected = Nokogiri::XML('
one.ee
test
ABC-12345
').to_s.squish
xml = domain_transfer_xml(name: 'one.ee', op: 'approve', pw: 'test', roid: 'askdf')
generated = Nokogiri::XML(xml).to_s.squish
expect(generated).to eq(expected)
end
it 'generates valid delete xml' do
expected = Nokogiri::XML('
example.ee
ABC-12345
').to_s.squish
generated = Nokogiri::XML(domain_delete_xml).to_s.squish
expect(generated).to eq(expected)
expected = Nokogiri::XML('
one.ee
ABC-12345
').to_s.squish
generated = Nokogiri::XML(domain_delete_xml(name: 'one.ee')).to_s.squish
expect(generated).to eq(expected)
end
end
end