mirror of
https://github.com/internetee/registry.git
synced 2025-07-03 09:43:36 +02:00
Refactor
This commit is contained in:
parent
9b4f0a067e
commit
a7e1ee1866
2 changed files with 129 additions and 10 deletions
|
@ -228,6 +228,115 @@ describe 'EPP Helper', epp: true do
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'generates valid update xml' do
|
it 'generates valid update xml' do
|
||||||
|
# Detailed update
|
||||||
|
expected = Nokogiri::XML('<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||||
|
<command>
|
||||||
|
<update>
|
||||||
|
<domain:update
|
||||||
|
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||||
|
<domain:name>example.ee</domain:name>
|
||||||
|
<domain:add>
|
||||||
|
<domain:ns>
|
||||||
|
<domain:hostObj>ns2.example.com</domain:hostObj>
|
||||||
|
</domain:ns>
|
||||||
|
<domain:contact type="tech">mak21</domain:contact>
|
||||||
|
<domain:status s="clientUpdateProhibited"/>
|
||||||
|
<domain:status s="clientHold"
|
||||||
|
lang="en">Payment overdue.</domain:status>
|
||||||
|
</domain:add>
|
||||||
|
<domain:rem>
|
||||||
|
<domain:ns>
|
||||||
|
<domain:hostObj>ns1.example.com</domain:hostObj>
|
||||||
|
</domain:ns>
|
||||||
|
<domain:contact type="tech">sh8013</domain:contact>
|
||||||
|
<domain:status s="clientUpdateProhibited"></domain:status>
|
||||||
|
</domain:rem>
|
||||||
|
<domain:chg>
|
||||||
|
<domain:registrant>mak21</domain:registrant>
|
||||||
|
<domain:authInfo>
|
||||||
|
<domain:pw>2BARfoo</domain:pw>
|
||||||
|
</domain:authInfo>
|
||||||
|
</domain:chg>
|
||||||
|
</domain:update>
|
||||||
|
</update>
|
||||||
|
<clTRID>ABC-12345</clTRID>
|
||||||
|
</command>
|
||||||
|
</epp>
|
||||||
|
').to_s.squish
|
||||||
|
|
||||||
|
generated = Nokogiri::XML(domain_update_xml).to_s.squish
|
||||||
|
expect(generated).to eq(expected)
|
||||||
|
|
||||||
|
# Edited detailed update
|
||||||
|
|
||||||
|
expected = Nokogiri::XML('<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||||
|
<command>
|
||||||
|
<update>
|
||||||
|
<domain:update
|
||||||
|
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||||
|
<domain:name>one.ee</domain:name>
|
||||||
|
<domain:add>
|
||||||
|
<domain:contact type="admin">sh8013</domain:contact>
|
||||||
|
<domain:status s="testStatus"
|
||||||
|
lang="et">Payment overdue.</domain:status>
|
||||||
|
</domain:add>
|
||||||
|
<domain:rem>
|
||||||
|
<domain:ns>
|
||||||
|
<domain:hostAttr>
|
||||||
|
<domain:hostName>ns1.example.net</domain:hostName>
|
||||||
|
<domain:hostAddr ip="v4">192.0.2.2</domain:hostAddr>
|
||||||
|
<domain:hostAddr ip="v6">1080:0:0:0:8:800:200C:417A</domain:hostAddr>
|
||||||
|
</domain:hostAttr>
|
||||||
|
</domain:ns>
|
||||||
|
<domain:contact type="tech">sh8013</domain:contact>
|
||||||
|
<domain:status s="clientUpdateProhibited"></domain:status>
|
||||||
|
</domain:rem>
|
||||||
|
<domain:chg>
|
||||||
|
<domain:registrant>sh8013</domain:registrant>
|
||||||
|
<domain:authInfo>
|
||||||
|
<domain:pw>b3rafsla</domain:pw>
|
||||||
|
</domain:authInfo>
|
||||||
|
</domain:chg>
|
||||||
|
</domain:update>
|
||||||
|
</update>
|
||||||
|
<clTRID>ABC-12345</clTRID>
|
||||||
|
</command>
|
||||||
|
</epp>
|
||||||
|
').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' },
|
||||||
|
authInfo: [
|
||||||
|
pw: { value: 'b3rafsla' }
|
||||||
|
]
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
generated = Nokogiri::XML(xml).to_s.squish
|
||||||
|
expect(generated).to eq(expected)
|
||||||
|
|
||||||
|
## Update without add and rem
|
||||||
|
|
||||||
expected = Nokogiri::XML('<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
expected = Nokogiri::XML('<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||||
<command>
|
<command>
|
||||||
|
@ -248,7 +357,7 @@ describe 'EPP Helper', epp: true do
|
||||||
</epp>
|
</epp>
|
||||||
').to_s.squish
|
').to_s.squish
|
||||||
|
|
||||||
xml = domain_update_xml(add: nil)
|
xml = domain_update_xml(add: nil, rem: nil)
|
||||||
generated = Nokogiri::XML(xml).to_s.squish
|
generated = Nokogiri::XML(xml).to_s.squish
|
||||||
expect(generated).to eq(expected)
|
expect(generated).to eq(expected)
|
||||||
|
|
||||||
|
@ -275,6 +384,7 @@ describe 'EPP Helper', epp: true do
|
||||||
xml = domain_update_xml(
|
xml = domain_update_xml(
|
||||||
name: { value: 'one.ee' },
|
name: { value: 'one.ee' },
|
||||||
add: nil,
|
add: nil,
|
||||||
|
rem: nil,
|
||||||
chg: [
|
chg: [
|
||||||
registrant: { value: 'sh8013' },
|
registrant: { value: 'sh8013' },
|
||||||
authInfo: [
|
authInfo: [
|
||||||
|
|
|
@ -163,20 +163,29 @@ module Epp
|
||||||
def domain_update_xml(xml_params = {})
|
def domain_update_xml(xml_params = {})
|
||||||
defaults = {
|
defaults = {
|
||||||
name: { value: 'example.ee' },
|
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: [
|
chg: [
|
||||||
registrant: { value: 'mak21' },
|
registrant: { value: 'mak21' },
|
||||||
authInfo: [
|
authInfo: [
|
||||||
pw: { value: '2BARfoo' }
|
pw: { value: '2BARfoo' }
|
||||||
]
|
]
|
||||||
],
|
|
||||||
add: [
|
|
||||||
ns: [
|
|
||||||
hostObj: { value: 'ns1.example.com' },
|
|
||||||
hostObj: { value: 'ns2.example.com' }
|
|
||||||
],
|
|
||||||
status: { attrs: { s: 'clientHold', lang: 'en' }, value: 'Payment overdue.' },
|
|
||||||
status: { attrs: { s: 'clientUpdateProhibited' }, value: '' },
|
|
||||||
contact: { attrs: { type: 'tech' }, value: 'mak21' }
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue