Merge branch 'master' into alpha

This commit is contained in:
Priit Tark 2015-06-02 11:53:14 +03:00
commit 030f61ce74
9 changed files with 42 additions and 7 deletions

View file

@ -1,3 +1,7 @@
02.06.2015
* Added possibility to overwrite legal document types at application.yml level.
01.06.2015
* Added separate data update, all data migration locate at db/data, more info 'rake -T data'

View file

@ -181,7 +181,7 @@ class Contact < ActiveRecord::Base
if code
self.ident_country_code = code.alpha2
else
errors.add(:ident_country_code, 'is not following ISO_3166-1 alpha 2 format')
errors.add(:ident, :invalid_country_code)
end
end
end

View file

@ -229,7 +229,12 @@ module Depp
end
def extension_xml
ident_xml.merge(legal_document_xml)
xml = { _anonymus: [] }
ident = ident_xml[:_anonymus].try(:first)
legal = legal_document_xml[:_anonymus].try(:first)
xml[:_anonymus] << ident if ident.present?
xml[:_anonymus] << legal if legal.present?
xml
end
def ident_xml

View file

@ -123,7 +123,8 @@ class Epp::Contact < Contact
[:email, :invalid],
[:ident, :invalid],
[:ident, :invalid_EE_identity_format],
[:ident, :invalid_birthday_format]
[:ident, :invalid_birthday_format],
[:ident, :invalid_country_code]
],
'2302' => [ # Object exists
[:code, :epp_id_taken]

View file

@ -2,7 +2,11 @@ class LegalDocument < ActiveRecord::Base
include Versions # version/legal_document_version.rb
belongs_to :documentable, polymorphic: true
TYPES = %w(pdf bdoc ddoc zip rar gz tar 7z)
if ENV['legal_document_types'].present?
TYPES = ENV['legal_document_types'].split(',').map(&:strip)
else
TYPES = %w(pdf bdoc ddoc zip rar gz tar 7z odt doc docx)
end
attr_accessor :body

View file

@ -33,6 +33,9 @@ contact_org_enabled: 'false'
# Enable iptables counter updater
# iptables_counter_enabled: 'true'
# Custom legal document types
# legal_document_types: "pdf,bdoc,ddoc,zip,rar,gz,tar,7z,odt,doc,docx"
# DEPP server configuration (both for Registrar/Registrant servers)
show_ds_data_fields: 'false'
default_nameservers_count: '2'

View file

@ -48,6 +48,7 @@ en:
blank: "Required parameter missing - ident"
invalid_EE_identity_format: "Ident not in valid Estonian identity format."
invalid_birthday_format: "Ident not in valid birthady format, should be YYYY-MM-DD"
invalid_country_code: "Ident country code is not valid, should be in ISO_3166-1 alpha 2 format"
domains:
exist: 'Object association prohibits operation'

View file

@ -100,7 +100,7 @@ describe 'EPP Contact', epp: true do
log.api_user_registrar.should == 'registrar1'
end
it 'successfully saves ident type' do
it 'successfully saves ident type with legal document' do
extension = {
legalDocument: {
value: 'JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==',
@ -116,7 +116,9 @@ describe 'EPP Contact', epp: true do
response[:msg].should == 'Command completed successfully'
response[:result_code].should == '1000'
Contact.last.ident_type.should == 'birthday'
@contact = Contact.last
@contact.ident_type.should == 'birthday'
@contact.legal_documents.size.should == 1
end
it 'successfully adds registrar' do
@ -164,6 +166,19 @@ describe 'EPP Contact', epp: true do
response[:result_code].should == '2005'
end
it 'should not saves ident type with wrong country code' do
extension = {
ident: {
value: '1990-22-12',
attrs: { type: 'birthday', cc: 'WRONG' }
}
}
response = create_request({}, extension)
response[:msg].should ==
'Ident country code is not valid, should be in ISO_3166-1 alpha 2 format [ident]'
response[:result_code].should == '2005'
end
it 'should add registrar prefix for code when legacy prefix present' do
response = create_request({ id: { value: 'CID:FIRST0:abc:ABC:NEW:12345' } })
response[:msg].should == 'Command completed successfully'

View file

@ -73,11 +73,13 @@ describe Contact do
end
it 'should require valid country code' do
@contact.ident = '123'
@contact.ident_type = 'bic'
@contact.ident_country_code = 'INVALID'
@contact.valid?
@contact.errors[:ident_country_code].should == ['is not following ISO_3166-1 alpha 2 format']
@contact.errors[:ident].should ==
['Ident country code is not valid, should be in ISO_3166-1 alpha 2 format']
end
it 'should convert to alpha2 country code' do