Create legal documents

This commit is contained in:
Martin Lensment 2014-12-29 17:19:27 +02:00
parent 4f10cccdfa
commit e09ddd3138
10 changed files with 274 additions and 7 deletions

View file

@ -99,7 +99,7 @@ group :development, :test do
gem 'epp', '~> 1.4.0'
# EPP XMLs
gem 'epp-xml', '~> 0.10.1'
gem 'epp-xml', '~> 0.10.2'
# Replacement for fixtures
gem 'fabrication', '~> 2.11.3'

View file

@ -107,7 +107,7 @@ GEM
epp (1.4.0)
hpricot
libxml-ruby
epp-xml (0.10.1)
epp-xml (0.10.2)
activesupport (~> 4.1)
builder (~> 3.2)
equalizer (0.0.9)
@ -148,7 +148,7 @@ GEM
hike (1.2.3)
hitimes (1.2.2)
hpricot (0.8.6)
i18n (0.6.11)
i18n (0.7.0)
ice_nine (0.11.0)
isikukood (0.1.2)
iso8601 (0.8.2)
@ -388,7 +388,7 @@ DEPENDENCIES
delayed_job_active_record (~> 4.0.2)
devise (~> 3.3.0)
epp (~> 1.4.0)
epp-xml (~> 0.10.1)
epp-xml (~> 0.10.2)
fabrication (~> 2.11.3)
faker (~> 1.3.0)
guard (~> 2.6.1)

View file

@ -35,6 +35,8 @@ class Domain < ActiveRecord::Base
accepts_nested_attributes_for :dnskeys, allow_destroy: true,
reject_if: proc { |attrs| attrs[:public_key].blank? }
has_many :legal_documents, as: :documentable
delegate :code, to: :owner_contact, prefix: true
delegate :email, to: :owner_contact, prefix: true
delegate :ident, to: :owner_contact, prefix: true

View file

@ -54,6 +54,7 @@ class Epp::EppDomain < Domain
attach_contacts(self.class.parse_contacts_from_frame(parsed_frame))
attach_nameservers(self.class.parse_nameservers_from_frame(parsed_frame))
attach_statuses(self.class.parse_statuses_from_frame(parsed_frame))
attach_legal_document(self.class.parse_legal_document_from_frame(parsed_frame))
errors.empty?
end
@ -92,6 +93,15 @@ class Epp::EppDomain < Domain
errors.empty?
end
def attach_legal_document(legal_document_data)
return unless legal_document_data
legal_documents.build(
document_type: legal_document_data[:type],
body: legal_document_data[:body]
)
end
def attach_owner_contact(code)
return unless code
self.owner_contact = Contact.find_by(code: code)
@ -528,6 +538,16 @@ class Epp::EppDomain < Domain
res
end
def parse_legal_document_from_frame(parsed_frame)
ld = parsed_frame.css('legalDocument').first
return nil unless ld
{
body: ld.text,
type: ld['type']
}
end
def check_availability(domains)
domains = [domains] if domains.is_a?(String)

View file

@ -0,0 +1,3 @@
class LegalDocument < ActiveRecord::Base
belongs_to :documentable, polymorphic: true
end

View file

@ -0,0 +1,11 @@
class CreateLegalDocuments < ActiveRecord::Migration
def change
create_table :legal_documents do |t|
t.string :document_type
t.text :body
t.references :documentable, polymorphic: true
t.timestamps
end
end
end

View file

@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 20141218154829) do
ActiveRecord::Schema.define(version: 20141229115619) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@ -245,6 +245,15 @@ ActiveRecord::Schema.define(version: 20141218154829) do
t.datetime "updated_at"
end
create_table "legal_documents", force: true do |t|
t.string "document_type"
t.text "body"
t.integer "documentable_id"
t.string "documentable_type"
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "messages", force: true do |t|
t.integer "registrar_id"
t.string "body"

View file

@ -245,6 +245,15 @@ describe 'EPP Domain', epp: true do
expect(key.public_key).to eq('AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8')
end
it 'creates a domain with legal document' do
response = epp_request(domain_create_xml_with_legal_doc, :xml)
expect(response[:result_code]).to eq('1000')
expect(response[:msg]).to eq('Command completed successfully')
d = Domain.first
expect(d.legal_documents.count).to eq(1)
end
it 'creates ria.ee with valid ds record' do
xml = domain_create_xml({
name: { value: 'ria.ee' }

View file

@ -8,6 +8,7 @@ describe Domain do
it { should have_many(:admin_contacts) }
it { should have_many(:domain_transfers) }
it { should have_many(:dnskeys) }
it { should have_many(:legal_documents) }
context 'with sufficient settings' do
before(:each) do

View file

@ -128,6 +128,208 @@ module Epp
epp_xml.create(xml_params, dnssec_params)
end
def domain_create_xml_with_legal_doc
epp_xml = EppXml::Domain.new(cl_trid: 'ABC-12345')
epp_xml.create({
name: { value: 'example.ee' },
period: { value: '1', attrs: { unit: 'y' } },
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' } } }
]
},
{
hostAttr: {
hostName: { value: 'ns2.example.net' }
}
}
],
registrant: { value: 'jd1234' },
_anonymus: [
{ contact: { value: 'sh8013', attrs: { type: 'admin' } } },
{ contact: { value: 'sh8013', attrs: { type: 'tech' } } },
{ contact: { value: 'sh801333', attrs: { type: 'tech' } } }
]
}, {}, {
_anonymus: [
legalDocument: { value: 'JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp'\
'bHRlci9GbGF0ZURlY29kZT4+CnN0cmVhbQp4nCWKsQrCMBRF9/cVdxaavBfz'\
'mhZCBrEKbsGAg7hZuymNg79vRO5yOOeyEXxoBYMb6ajGYfBiBtSZLhs8/62t'\
'LrQrpH1LIfh2LnfYg0AcyuMaWVIIkV2SyNvUucg+dRpZuefwk0Nqbky3cqKp'\
'UKaMFXY6nhXLG7ZUj/0Lmb7IGR/MCmVuZHN0cmVhbQplbmRvYmoKCjMgMCBv'\
'YmoKMTMwCmVuZG9iagoKNCAwIG9iago8PC9UeXBlL1hPYmplY3QKL1N1YnR5'\
'cGUvRm9ybQovQkJveFsgLTExMiA0MjAgNzA4IDQyMC4xIF0KL0dyb3VwPDwv'\
'Uy9UcmFuc3BhcmVuY3kvQ1MvRGV2aWNlUkdCL0sgdHJ1ZT4+Ci9MZW5ndGgg'\
'OAovRmlsdGVyL0ZsYXRlRGVjb2RlCj4+CnN0cmVhbQp4nAMAAAAAAQplbmRz'\
'dHJlYW0KZW5kb2JqCgo1IDAgb2JqCjw8L0NBIDAuNQogICAvY2EgMC41Cj4+'\
'CmVuZG9iagoKNyAwIG9iago8PC9MZW5ndGggOCAwIFIvRmlsdGVyL0ZsYXRl'\
'RGVjb2RlL0xlbmd0aDEgODQ0ND4+CnN0cmVhbQp4nOVYfVBbV3Y/970noQ9A'\
'EpZknoXRk5/Fh4UkQMZgm4AASQiDgzCQCBxAMhKg2HxYkp11nKzZTZx45bh2'\
's9t81G7jpNtOJtkZP+y0QzZpTKbZdjqbxJvZzW63G2/c2Z1pZ2Jqb5pkduLY'\
'9NwngT822Z3pdqZ/9CK9d87vfNxzzj33vofSyX1xyIdZYME7OhmdWVegVQHA'\
'2wCkaHR/Wlhq9QpIXwJgzGMz45MVnl/8JwD7W4A8xfieA2P/oGu9DqBFE01k'\
'Ih6NHaj/eg2AKYLApgkEum8cyEP+GeTXT0ymv/ZjrnM18q8jX7ZnejS6Rfsf'\
'hcj/GnnzZPRrM3+lPMwh/wXywlR0Mr49/vx3UFQCoOqamU6lY7B+CaB0gspn'\
'kvGZTwefxnhLj2B8acQI/tGRj6SS8gzLKZR5KjX8Px2KY2CCoOIu0MGMfL1t'\
'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'\
'0SzHcns+/5dzs7k3HRvO+CVjTh15g+TR/xLl63nCeQfIpevkwnUiXCeHrpHQ'\
'NTL78YmPmd9crbSeuXr+KtN9ZeTKmSts9RWiu0JUsKhfDC1GFmcWTy8qNbrL'\
'JB8+IoZfXWqwfui52P9Lzwf9cJE0hi7OXpQusvT9bvCiShu4SNj+D1izVb8g'\
'LFQvzCzMLvxo4dLC1QXV7Bsn3mD+/nW3Vfe69XXGeq773KFzbORFonvR+iIT'\
'Ohk5yZw4RXSnrKfcp9g/f9Zlfba91Pr0U+XWS09dfYqh7uueKjAERv6MHHry'\
'+JPMzGOzj514jJ09fOIwc2b/+f1MKlRpnZ5yWKfaN1h5T3F/noftV7JL8ou2'\
'b5e9IhAZ8VpHUGnnYLV1sL3SuspT1K/AYDlU1LFWtpntZqfZ4+x5Nk+1I1Rq'\
'7cHvpdDVEKPrtna7u+X/k6KdNnS0bWbb7Da2I1BpDbY3WHXt1nZ3+4X2D9uv'\
'tCtH2slz+AmcCZwPsN5ApTvgDZTaAiVBS7/ZY+rXe3T9DIF+4oF+t25Jx+h0'\
'I7pDOlaH/8kzs2aiIPPkxFxfr8PROZ+3tKNTUoV2SuSIZO+lV2/PoKQ8IkH/'\
'4M7wHCF/MnD42DFoXdsp1faGpcjagU4phoSXErNI6NfOmaF1IJVKO+jAV20k'\
'9+EVHPsQGk5lQXAsi8GRIqkUpFLEQWUyiQikHBSmCLUhaDmcAnqhUoesRalU'\
'qnj4vwGYP7CyCmVuZHN0cmVhbQplbmRvYmoKCjggMCBvYmoKNTE1NQplbmRv'\
'YmoKCjkgMCBvYmoKPDwvVHlwZS9Gb250RGVzY3JpcHRvci9Gb250TmFtZS9C'\
'QUFBQUErTGliZXJhdGlvblNlcmlmCi9GbGFncyA0Ci9Gb250QkJveFstMTc2'\
'IC0zMDMgMTAwNSA5ODFdL0l0YWxpY0FuZ2xlIDAKL0FzY2VudCA4OTEKL0Rl'\
'c2NlbnQgLTIxNgovQ2FwSGVpZ2h0IDk4MQovU3RlbVYgODAKL0ZvbnRGaWxl'\
'MiA3IDAgUgo+PgplbmRvYmoKCjEwIDAgb2JqCjw8L0xlbmd0aCAyNjMvRmls'\
'dGVyL0ZsYXRlRGVjb2RlPj4Kc3RyZWFtCnicXZDNasQgFIX3PoXL6WLQZCaZ'\
'BoJQUgay6A9N+wBGb1KhUTFmkbevP9MWulC+yz1H77mk6x97rTx5dUYM4PGk'\
'tHSwms0JwCPMSqOixFIJf6vSLRZuEQneYV89LL2eTNsi8hZ6q3c7PjxIM8Id'\
'Ii9OglN6xoePbgj1sFn7BQtojyliDEuYwjtP3D7zBUhyHXsZ2srvx2D5E7zv'\
'FnCZ6iKPIoyE1XIBjusZUEspw+31yhBo+a/XZMc4iU/ugrIISkqrMwtcJq6r'\
'yKfEl1Pkc+akqRKXNHKd9XXkS+Yi8n3mJnKTuUuz3H6NU8W1/aTFYnMuJE27'\
'TRFjOKXhd/3W2OhK5xucIn/9CmVuZHN0cmVhbQplbmRvYmoKCjExIDAgb2Jq'\
'Cjw8L1R5cGUvRm9udC9TdWJ0eXBlL1RydWVUeXBlL0Jhc2VGb250L0JBQUFB'\
'QStMaWJlcmF0aW9uU2VyaWYKL0ZpcnN0Q2hhciAwCi9MYXN0Q2hhciA5Ci9X'\
'aWR0aHNbMzY1IDYxMCA0NDMgMzg5IDI3NyAyNTAgMzMzIDQ0MyAyNzcgMjc3'\
'IF0KL0ZvbnREZXNjcmlwdG9yIDkgMCBSCi9Ub1VuaWNvZGUgMTAgMCBSCj4+'\
'CmVuZG9iagoKMTIgMCBvYmoKPDwvRjEgMTEgMCBSCj4+CmVuZG9iagoKMTMg'\
'MCBvYmoKPDwvRm9udCAxMiAwIFIKL1hPYmplY3Q8PC9UcjQgNCAwIFI+Pgov'\
'RXh0R1N0YXRlPDwvRUdTNSA1IDAgUj4+Ci9Qcm9jU2V0Wy9QREYvVGV4dC9J'\
'bWFnZUMvSW1hZ2VJL0ltYWdlQl0KPj4KZW5kb2JqCgoxIDAgb2JqCjw8L1R5'\
'cGUvUGFnZS9QYXJlbnQgNiAwIFIvUmVzb3VyY2VzIDEzIDAgUi9NZWRpYUJv'\
'eFswIDAgNTk1IDg0Ml0vR3JvdXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZp'\
'Y2VSR0IvSSB0cnVlPj4vQ29udGVudHMgMiAwIFI+PgplbmRvYmoKCjYgMCBv'\
'YmoKPDwvVHlwZS9QYWdlcwovUmVzb3VyY2VzIDEzIDAgUgovTWVkaWFCb3hb'\
'IDAgMCA1OTUgODQyIF0KL0tpZHNbIDEgMCBSIF0KL0NvdW50IDE+PgplbmRv'\
'YmoKCjE0IDAgb2JqCjw8L1R5cGUvQ2F0YWxvZy9QYWdlcyA2IDAgUgovT3Bl'\
'bkFjdGlvblsxIDAgUiAvWFlaIG51bGwgbnVsbCAwXQovTGFuZyhlbi1VUykK'\
'Pj4KZW5kb2JqCgoxNSAwIG9iago8PC9DcmVhdG9yPEZFRkYwMDU3MDA3MjAw'\
'NjkwMDc0MDA2NTAwNzI+Ci9Qcm9kdWNlcjxGRUZGMDA0QzAwNjkwMDYyMDA3'\
'MjAwNjUwMDRGMDA2NjAwNjYwMDY5MDA2MzAwNjUwMDIwMDAzNDAwMkUwMDMy'\
'PgovQ3JlYXRpb25EYXRlKEQ6MjAxNDEyMjkxMjM5MTkrMDInMDAnKT4+CmVu'\
'ZG9iagoKeHJlZgowIDE2CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwNjYw'\
'MiAwMDAwMCBuIAowMDAwMDAwMDE5IDAwMDAwIG4gCjAwMDAwMDAyMjAgMDAw'\
'MDAgbiAKMDAwMDAwMDI0MCAwMDAwMCBuIAowMDAwMDAwNDE5IDAwMDAwIG4g'\
'CjAwMDAwMDY3NDUgMDAwMDAgbiAKMDAwMDAwMDQ1OSAwMDAwMCBuIAowMDAw'\
'MDA1Njk4IDAwMDAwIG4gCjAwMDAwMDU3MTkgMDAwMDAgbiAKMDAwMDAwNTkx'\
'NCAwMDAwMCBuIAowMDAwMDA2MjQ3IDAwMDAwIG4gCjAwMDAwMDY0NDQgMDAw'\
'MDAgbiAKMDAwMDAwNjQ3NyAwMDAwMCBuIAowMDAwMDA2ODQ0IDAwMDAwIG4g'\
'CjAwMDAwMDY5NDEgMDAwMDAgbiAKdHJhaWxlcgo8PC9TaXplIDE2L1Jvb3Qg'\
'MTQgMCBSCi9JbmZvIDE1IDAgUgovSUQgWyA8MTM0NjQ3Qzk5NTQ5RDA2RTZB'\
'RUI5ODBDOERCRENBRUM+CjwxMzQ2NDdDOTk1NDlEMDZFNkFFQjk4MEM4REJE'\
'Q0FFQz4gXQovRG9jQ2hlY2tzdW0gLzFDNzgzNDRCNkIxRTEzQjlBQ0Y0NTlC'\
'OEExMzZDNEY1Cj4+CnN0YXJ0eHJlZgo3MTE2CiUlRU9GCg==', attrs: { type: 'pdf' } }
]
})
end
def domain_create_with_invalid_ns_ip_xml
xml_params = {
name: { value: 'example.ee' },
@ -230,8 +432,18 @@ module Epp
def log(req, res)
return unless ENV['EPP_DOC']
puts "REQUEST:\n\n```xml\n#{Nokogiri(req)}```\n\n"
puts "RESPONSE:\n\n```xml\n#{res}```\n\n"
puts "REQUEST:
```xml
#{Nokogiri(req)}```
"
puts "RESPONSE:
```xml
#{res}```
"
end
end