From 6f17fe5d37ce3bd8b2e121f5ee847c49ca054bd7 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Tue, 29 Nov 2016 00:03:32 +0200 Subject: [PATCH 01/76] Add "webmock" gem --- Gemfile | 1 + Gemfile.lock | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/Gemfile b/Gemfile index f0f2e4395..83ec9b4a7 100644 --- a/Gemfile +++ b/Gemfile @@ -157,4 +157,5 @@ end group :test do gem 'database_cleaner' gem 'factory_girl_rails' + gem 'webmock' end diff --git a/Gemfile.lock b/Gemfile.lock index f608c4c9f..31ecaeb02 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -257,6 +257,7 @@ GEM haml (>= 4.0.6, < 5.0) html2haml (>= 1.0.1) railties (>= 4.0.1) + hashdiff (0.3.1) hashie (3.4.2) hashie-forbidden_attributes (0.1.1) hashie (>= 3.0) @@ -556,6 +557,10 @@ GEM wasabi (3.5.0) httpi (~> 2.0) nokogiri (>= 1.4.2) + webmock (2.1.0) + addressable (>= 2.3.6) + crack (>= 0.3.2) + hashdiff websocket-driver (0.6.2) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.2) @@ -647,6 +652,7 @@ DEPENDENCIES unicorn uuidtools (= 2.1.5) validates_email_format_of (= 1.6.3) + webmock whenever (= 0.9.4) BUNDLED WITH From 5c04681fc0e9a6d0f4134df92603049de21ed76b Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Tue, 29 Nov 2016 00:04:26 +0200 Subject: [PATCH 02/76] Include webmock --- spec/spec_helper.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 9e1e69d61..68a2c0be1 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,3 +1,5 @@ +require 'webmock/rspec' + RSpec.configure do |config| # https://github.com/rspec/rspec-rails/issues/1076 config.around :each, type: :view do |example| From 9c8eba9ea9a094e9a5081f9f02c1b47eaa953517 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Tue, 29 Nov 2016 00:07:28 +0200 Subject: [PATCH 03/76] Add session helper for feature specs --- spec/rails_helper.rb | 2 ++ spec/support/features/session_helpers.rb | 12 ++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 spec/support/features/session_helpers.rb diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb index 9411702f5..ab5842baf 100644 --- a/spec/rails_helper.rb +++ b/spec/rails_helper.rb @@ -5,6 +5,7 @@ require 'rspec/rails' require 'capybara/poltergeist' require 'paper_trail/frameworks/rspec' require 'money-rails/test_helpers' +require 'support/features/session_helpers' if ENV['ROBOT'] require 'simplecov' @@ -23,6 +24,7 @@ ActiveRecord::Migration.maintain_test_schema! RSpec.configure do |config| config.include ActionView::TestCase::Behavior, type: :presenter config.include ActiveSupport::Testing::TimeHelpers + config.include Features::SessionHelpers, type: :feature config.define_derived_metadata(file_path: %r{/spec/presenters/}) do |metadata| metadata[:type] = :presenter diff --git a/spec/support/features/session_helpers.rb b/spec/support/features/session_helpers.rb new file mode 100644 index 000000000..de0203e1a --- /dev/null +++ b/spec/support/features/session_helpers.rb @@ -0,0 +1,12 @@ +module Features + module SessionHelpers + def sign_in_to_registrar_area(user: FactoryGirl.create(:api_user)) + visit registrar_login_path + + fill_in 'depp_user_tag', with: user.username + fill_in 'depp_user_password', with: user.password + + click_button 'Login' + end + end +end From 6071c581067790b0bd1f4dd3838da99fef6a40a3 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Tue, 29 Nov 2016 00:10:11 +0200 Subject: [PATCH 04/76] Admin user model returns mix password length --- app/models/admin_user.rb | 4 ++++ spec/models/admin_user_spec.rb | 40 +++++++++------------------------- 2 files changed, 14 insertions(+), 30 deletions(-) diff --git a/app/models/admin_user.rb b/app/models/admin_user.rb index e062bb1d6..d76c42dec 100644 --- a/app/models/admin_user.rb +++ b/app/models/admin_user.rb @@ -11,6 +11,10 @@ class AdminUser < User devise :database_authenticatable, :rememberable, :trackable, :validatable, :lockable + def self.min_password_length + Devise.password_length.min + end + def to_s username end diff --git a/spec/models/admin_user_spec.rb b/spec/models/admin_user_spec.rb index a6b668a5d..c3dde16bc 100644 --- a/spec/models/admin_user_spec.rb +++ b/spec/models/admin_user_spec.rb @@ -1,24 +1,9 @@ require 'rails_helper' -require 'cancan/matchers' -describe AdminUser do +RSpec.describe AdminUser do context 'with invalid attribute' do - before :all do - @admin_user = AdminUser.new - end - - it 'should not be valid' do - @admin_user.valid? - @admin_user.errors.full_messages.should match_array([ - "Country code is missing", - "Email Email is missing", - "Email Email is missing", - "Password Password is missing", - "Password Password is missing", - "Password confirmation is missing", - "Roles is missing", - "Username Username is missing" - ]) + before do + @admin_user = described_class.new end it 'should not have any versions' do @@ -27,21 +12,10 @@ describe AdminUser do end context 'with valid attributes' do - before :all do + before do @admin_user = Fabricate(:admin_user) end - it 'should be valid' do - @admin_user.valid? - @admin_user.errors.full_messages.should match_array([]) - end - - it 'should be valid twice' do - @admin_user = Fabricate(:admin_user) - @admin_user.valid? - @admin_user.errors.full_messages.should match_array([]) - end - it 'should have one version' do with_versioning do @admin_user.versions.should == [] @@ -61,4 +35,10 @@ describe AdminUser do ]) end end + + describe '#min_password_length' do + it 'returns minimum password length' do + expect(described_class.min_password_length).to eq(8) + end + end end From 19f3d1b5e00130d15741670ca38eb62657501dcf Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Tue, 29 Nov 2016 00:10:32 +0200 Subject: [PATCH 05/76] Add api user factory --- spec/factories/api_user.rb | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 spec/factories/api_user.rb diff --git a/spec/factories/api_user.rb b/spec/factories/api_user.rb new file mode 100644 index 000000000..d5a3c777d --- /dev/null +++ b/spec/factories/api_user.rb @@ -0,0 +1,8 @@ +FactoryGirl.define do + factory :api_user do + sequence(:username) { |n| "test#{n}" } + password 'a' * 6 + roles ['super'] + registrar + end +end From 8858fb48c363571ac909dc0b4bb0c629caebca84 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Tue, 29 Nov 2016 00:14:50 +0200 Subject: [PATCH 06/76] Fix missing translation --- config/locales/en.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/locales/en.yml b/config/locales/en.yml index 0988e1ce0..c4fb88757 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -614,6 +614,7 @@ en: delete: 'Delete' are_you_sure: 'Are you sure?' renew: 'Renew' + new: New renew_domain: 'Renew domain' cur_exp_date: 'curExpDate' transfer: 'Transfer' @@ -952,3 +953,4 @@ en: deleted: 'Deleted' cant_match_version: 'Impossible match version with request' user_not_authenticated: "user not authenticated" + actions: Actions From 9694b3e9f5faaddcae73479d04f8886fc62e743c Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Tue, 29 Nov 2016 01:58:22 +0200 Subject: [PATCH 07/76] Remove registrar session feature specs --- spec/features/registrar/sessions_spec.rb | 151 ----------------------- 1 file changed, 151 deletions(-) delete mode 100644 spec/features/registrar/sessions_spec.rb diff --git a/spec/features/registrar/sessions_spec.rb b/spec/features/registrar/sessions_spec.rb deleted file mode 100644 index 649fac952..000000000 --- a/spec/features/registrar/sessions_spec.rb +++ /dev/null @@ -1,151 +0,0 @@ -require 'rails_helper' - -RSpec.feature 'Sessions', db: true do - context 'with invalid ip' do - it 'should not see login page' do - Setting.registrar_ip_whitelist_enabled = true - WhiteIp.destroy_all - visit registrar_login_path - page.should have_text('Access denied') - end - - it 'should see login page when whitelist disabled' do - Setting.registrar_ip_whitelist_enabled = false - WhiteIp.destroy_all - visit registrar_login_path - page.should_not have_text('Access denied') - Setting.registrar_ip_whitelist_enabled = true - end - - it 'should see Login' do - @fixed_registrar = Fabricate(:registrar, name: 'fixed registrar', code: 'FIXED') - @fixed_registrar.white_ips = [Fabricate(:white_ip_registrar)] - visit registrar_login_path - page.should have_text('Login') - end - - it 'should not get in with invalid ip' do - Fabricate(:registrar, white_ips: [Fabricate(:white_ip), Fabricate(:white_ip_registrar)]) - @api_user_invalid_ip = Fabricate( - :api_user, identity_code: '37810013294', registrar: Fabricate(:registrar, white_ips: []) - ) - visit registrar_login_path - fill_in 'depp_user_tag', with: @api_user_invalid_ip.username - fill_in 'depp_user_password', with: @api_user_invalid_ip.password - click_button 'Login' - page.should have_text('IP is not whitelisted') - end - end - - context 'as unknown user' do - before :example do - Fabricate(:api_user) - end - - it 'should not get in' do - client = instance_double("Digidoc::Client") - allow(client).to receive(:authenticate).and_return( - OpenStruct.new( - user_id_code: '123' - ) - ) - - allow(Digidoc::Client).to receive(:new) { client } - - visit registrar_login_path - page.should have_css('a[href="/registrar/login/mid"]') - - page.find('a[href="/registrar/login/mid"]').click - - fill_in 'user_phone', with: '00007' - click_button 'Login' - page.should have_text('No such user') - end - end - - context 'as known api user' do - before :example do - Fabricate(:api_user) - end - - it 'should not get in when external service fails' do - client = instance_double("Digidoc::Client") - allow(client).to receive(:authenticate).and_return( - OpenStruct.new( - faultcode: 'Fault', - detail: OpenStruct.new( - message: 'Something is wrong' - ) - ) - ) - - allow(Digidoc::Client).to receive(:new) { client } - - visit registrar_login_path - page.should have_css('a[href="/registrar/login/mid"]') - - page.find('a[href="/registrar/login/mid"]').click - - fill_in 'user_phone', with: '00007' - click_button 'Login' - page.should have_text('Something is wrong') - end - - it 'should not get in when there is a sim error', js: true do - client = instance_double("Digidoc::Client", session_code: '123') - - allow(client).to receive('session_code=') - - allow(client).to receive(:authenticate).and_return( - OpenStruct.new( - user_id_code: '14212128025' - ) - ) - - allow(client).to receive('authentication_status').and_return( - OpenStruct.new(status: 'SIM_ERROR') - ) - - allow(Digidoc::Client).to receive(:new) { client } - - visit registrar_login_path - page.should have_css('a[href="/registrar/login/mid"]') - - page.find('a[href="/registrar/login/mid"]').click - - fill_in 'user_phone', with: '00007' - click_button 'Login' - - page.should have_text('Confirmation sms was sent to your phone. Verification code is') - page.should have_text('SIM application error') - end - - it 'should Login successfully', js: true do - client = instance_double("Digidoc::Client", session_code: '123') - - allow(client).to receive('session_code=') - - allow(client).to receive(:authenticate).and_return( - OpenStruct.new( - user_id_code: '14212128025' - ) - ) - - allow(client).to receive('authentication_status').and_return( - OpenStruct.new(status: 'USER_AUTHENTICATED') - ) - - allow(Digidoc::Client).to receive(:new) { client } - - visit registrar_login_path - page.should have_css('a[href="/registrar/login/mid"]') - - page.find('a[href="/registrar/login/mid"]').click - - fill_in 'user_phone', with: '00007' - click_button 'Login' - - page.should have_text('Confirmation sms was sent to your phone. Verification code is') - end - end -end From aa364be8a94c67b2c9b5aba066e3017dca30b721 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Wed, 30 Nov 2016 02:00:48 +0200 Subject: [PATCH 08/76] Update domain presenter --- app/presenters/domain_presenter.rb | 10 +++++++++- spec/presenters/domain_presenter_spec.rb | 19 +++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/app/presenters/domain_presenter.rb b/app/presenters/domain_presenter.rb index b09743c5e..2d0cfd791 100644 --- a/app/presenters/domain_presenter.rb +++ b/app/presenters/domain_presenter.rb @@ -1,11 +1,19 @@ class DomainPresenter - delegate :name, :registrant_name, to: :domain + delegate :name, :registrant_name, :registrant_id, to: :domain def initialize(domain:, view:) @domain = domain @view = view end + def expire_time + view.l(domain.expire_time) + end + + def expire_date + view.l(domain.expire_time, format: :date) + end + def on_hold_date view.l(domain.on_hold_time, format: :date) if domain.on_hold_time end diff --git a/spec/presenters/domain_presenter_spec.rb b/spec/presenters/domain_presenter_spec.rb index 79adcc68f..2209c01aa 100644 --- a/spec/presenters/domain_presenter_spec.rb +++ b/spec/presenters/domain_presenter_spec.rb @@ -3,6 +3,24 @@ require 'rails_helper' RSpec.describe DomainPresenter do let(:presenter) { described_class.new(domain: domain, view: view) } + describe '#expire_time' do + let(:domain) { instance_double(Domain, expire_time: Time.zone.parse('05.07.2010')) } + + it 'returns localized time' do + expect(view).to receive(:l).with(Time.zone.parse('05.07.2010')).and_return('expire time') + expect(presenter.expire_time).to eq('expire time') + end + end + + describe '#expire_date' do + let(:domain) { instance_double(Domain, expire_time: Time.zone.parse('05.07.2010')) } + + it 'returns localized date' do + expect(view).to receive(:l).with(Time.zone.parse('05.07.2010'), format: :date).and_return('expire date') + expect(presenter.expire_date).to eq('expire date') + end + end + describe '#on_hold_date' do subject(:on_hold_date) { presenter.on_hold_date } @@ -100,6 +118,7 @@ RSpec.describe DomainPresenter do domain_delegatable_attributes = %i( name registrant_name + registrant_id ) domain_delegatable_attributes.each do |attribute_name| From 0ec796530c46fe71ec47c68d469ca045a02848e9 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Wed, 30 Nov 2016 02:01:59 +0200 Subject: [PATCH 09/76] Include transaction helper into feature specs --- spec/rails_helper.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb index ab5842baf..c61568179 100644 --- a/spec/rails_helper.rb +++ b/spec/rails_helper.rb @@ -25,6 +25,7 @@ RSpec.configure do |config| config.include ActionView::TestCase::Behavior, type: :presenter config.include ActiveSupport::Testing::TimeHelpers config.include Features::SessionHelpers, type: :feature + config.include AbstractController::Translation, type: :feature config.define_derived_metadata(file_path: %r{/spec/presenters/}) do |metadata| metadata[:type] = :presenter From 32824c194e0f1e03650f9521f5494df331496fe6 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Wed, 30 Nov 2016 02:02:37 +0200 Subject: [PATCH 10/76] Fix session helpers spec support --- spec/support/features/session_helpers.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/support/features/session_helpers.rb b/spec/support/features/session_helpers.rb index de0203e1a..a23609891 100644 --- a/spec/support/features/session_helpers.rb +++ b/spec/support/features/session_helpers.rb @@ -1,7 +1,7 @@ module Features module SessionHelpers def sign_in_to_registrar_area(user: FactoryGirl.create(:api_user)) - visit registrar_login_path + visit registrar_login_url fill_in 'depp_user_tag', with: user.username fill_in 'depp_user_password', with: user.password From 0db62c93112bda5b2b75c5b3578e9ddad213cceb Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Wed, 30 Nov 2016 02:15:49 +0200 Subject: [PATCH 11/76] Update admin user factory --- spec/factories/admin_user.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 spec/factories/admin_user.rb diff --git a/spec/factories/admin_user.rb b/spec/factories/admin_user.rb new file mode 100644 index 000000000..8ee6b93b9 --- /dev/null +++ b/spec/factories/admin_user.rb @@ -0,0 +1,10 @@ +FactoryGirl.define do + factory :admin_user do + username 'test' + email 'test@test.com' + password 'a' * AdminUser.min_password_length + password_confirmation { password } + country_code 'de' + roles ['admin'] + end +end From fb584778fd46a32d023fd277727e4b28a1a2ee7b Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Fri, 2 Dec 2016 00:03:15 +0200 Subject: [PATCH 12/76] Add "address_processing" setting #251 --- app/views/admin/settings/index.haml | 1 + config/initializers/initial_settings.rb | 1 + 2 files changed, 2 insertions(+) diff --git a/app/views/admin/settings/index.haml b/app/views/admin/settings/index.haml index d1cfccc13..42f24877e 100644 --- a/app/views/admin/settings/index.haml +++ b/app/views/admin/settings/index.haml @@ -57,6 +57,7 @@ = render 'setting_row', var: :registrar_ip_whitelist_enabled = render 'setting_row', var: :request_confrimation_on_registrant_change_enabled = render 'setting_row', var: :request_confirmation_on_domain_deletion_enabled + = render 'setting_row', var: :address_processing .panel.panel-default .panel-heading.clearfix diff --git a/config/initializers/initial_settings.rb b/config/initializers/initial_settings.rb index 62037fafb..bdf25e088 100644 --- a/config/initializers/initial_settings.rb +++ b/config/initializers/initial_settings.rb @@ -26,6 +26,7 @@ if con.present? && con.table_exists?('settings') Setting.transfer_wait_time = 0 Setting.save_default(:request_confrimation_on_registrant_change_enabled, true) Setting.save_default(:request_confirmation_on_domain_deletion_enabled, true) + Setting.save_default(:address_processing, true) Setting.save_default(:client_side_status_editing_enabled, false) From e4ae71b30819af7558bd10ff6882de6e13e78771 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Fri, 2 Dec 2016 00:21:52 +0200 Subject: [PATCH 13/76] Add address processing to contact model #251 --- app/models/contact.rb | 14 ++++++++++++++ spec/models/contact_spec.rb | 23 +++++++++++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/app/models/contact.rb b/app/models/contact.rb index 822394d22..db9fc3dc1 100644 --- a/app/models/contact.rb +++ b/app/models/contact.rb @@ -257,6 +257,20 @@ class Contact < ActiveRecord::Base def emails pluck(:email) end + + def address_processing + Setting.address_processing + end + + def address_attributes + %i( + city + street + zip + country_code + state + ) + end end def roid diff --git a/spec/models/contact_spec.rb b/spec/models/contact_spec.rb index b20f4bf60..76c48f0ff 100644 --- a/spec/models/contact_spec.rb +++ b/spec/models/contact_spec.rb @@ -383,4 +383,27 @@ RSpec.describe Contact, db: false do expect(described_class.emails).to eq('emails') end end + + describe '::address_processing' do + before do + Setting.address_processing = 'test' + end + + it 'returns setting value' do + expect(described_class.address_processing).to eq('test') + end + end + + describe '::address_attributes', db: false do + it 'returns address attributes' do + attributes = %i( + city + street + zip + country_code + state + ) + expect(described_class.address_attributes).to eq(attributes) + end + end end From 1b36e93eba00a6edd8a482468d5f1b9d62ebf5b9 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Fri, 2 Dec 2016 00:23:40 +0200 Subject: [PATCH 14/76] Add contact api spec #251 --- spec/api/repp/contact_v1_spec.rb | 48 ++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 spec/api/repp/contact_v1_spec.rb diff --git a/spec/api/repp/contact_v1_spec.rb b/spec/api/repp/contact_v1_spec.rb new file mode 100644 index 000000000..b1d68b0d3 --- /dev/null +++ b/spec/api/repp/contact_v1_spec.rb @@ -0,0 +1,48 @@ +require 'rails_helper' + +RSpec.describe Repp::ContactV1, db: true do + let(:user) { FactoryGirl.create(:api_user, registrar: registrar) } + let(:registrar) { FactoryGirl.create(:registrar) } + + describe '/contacts' do + subject(:fields) { HashWithIndifferentAccess.new(JSON.parse(response.body)['contacts'].first).keys } + + before do + Grape::Endpoint.before_each do |endpoint| + allow(endpoint).to receive(:current_user).and_return(user) + end + + registrar.contacts << FactoryGirl.create(:contact) + + get '/repp/v1/contacts', { limit: 1, details: true }, { 'HTTP_AUTHORIZATION' => http_auth_key } + end + + it 'responds with success' do + expect(response).to have_http_status(:success) + end + + context 'when address processing is enabled' do + before do + expect(Contact).to receive(:address_processing).and_return(true) + end + + it 'returns contact address' do + expect(fields).to include(Contact.address_attributes) + end + end + + context 'when address processing is disabled' do + before do + expect(Contact).to receive(:address_processing).and_return(false) + end + + it 'does not return contact address' do + expect(fields).to_not include(Contact.address_attributes) + end + end + end + + def http_auth_key + ActionController::HttpAuthentication::Basic.encode_credentials(user.username, user.password) + end +end From bf7d8b6636957c27d20d116d9c229a720c7df71f Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Fri, 2 Dec 2016 00:30:18 +0200 Subject: [PATCH 15/76] Treat specs in api folder as requests, allow redefining spec metadata #251 --- spec/rails_helper.rb | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb index c61568179..30f99594d 100644 --- a/spec/rails_helper.rb +++ b/spec/rails_helper.rb @@ -28,8 +28,13 @@ RSpec.configure do |config| config.include AbstractController::Translation, type: :feature config.define_derived_metadata(file_path: %r{/spec/presenters/}) do |metadata| - metadata[:type] = :presenter - metadata[:db] = false + metadata[:type] = :presenter if metadata[:type].nil? + metadata[:db] = false if metadata[:db].nil? + end + + config.define_derived_metadata(file_path: %r{/spec/api/}) do |metadata| + metadata[:type] = :request if metadata[:type].nil? + metadata[:db] = false if metadata[:db].nil? end config.use_transactional_fixtures = false From da2a324a6e7c38b9451f446a9bf4e91faaca1766 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Fri, 2 Dec 2016 00:30:18 +0200 Subject: [PATCH 16/76] Treat specs in api folder as requests, allow redefining spec metadata #251 --- spec/rails_helper.rb | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb index c61568179..30f99594d 100644 --- a/spec/rails_helper.rb +++ b/spec/rails_helper.rb @@ -28,8 +28,13 @@ RSpec.configure do |config| config.include AbstractController::Translation, type: :feature config.define_derived_metadata(file_path: %r{/spec/presenters/}) do |metadata| - metadata[:type] = :presenter - metadata[:db] = false + metadata[:type] = :presenter if metadata[:type].nil? + metadata[:db] = false if metadata[:db].nil? + end + + config.define_derived_metadata(file_path: %r{/spec/api/}) do |metadata| + metadata[:type] = :request if metadata[:type].nil? + metadata[:db] = false if metadata[:db].nil? end config.use_transactional_fixtures = false From 6acc5ca9e216dd410c845d38c99b66fd0617a41c Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Fri, 2 Dec 2016 11:22:56 +0200 Subject: [PATCH 17/76] Do not autload app/validators folder --- config/initializers/load_validators.rb | 1 - 1 file changed, 1 deletion(-) delete mode 100644 config/initializers/load_validators.rb diff --git a/config/initializers/load_validators.rb b/config/initializers/load_validators.rb deleted file mode 100644 index ea84920bf..000000000 --- a/config/initializers/load_validators.rb +++ /dev/null @@ -1 +0,0 @@ -Registry::Application.config.autoload_paths += %W(#{Registry::Application.config.root}/app/validators/) From 5676d2d6efdc24210d536bb4328613444c1e8e7c Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Fri, 18 Nov 2016 01:36:28 +0200 Subject: [PATCH 18/76] Update readme #235 --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6b06c9812..497c0e97a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,11 @@ * Domain expiration emails are now sent out to admin contacts as well. Sending bug is fixed. * Include detailed registrar's contact info in emails +07.11.2016 +* Use app time zone when calculating valid_to, outzone_at and delete_at domain attributes +* Consider domains having current time at expire_time attribute expired +* Improve domain's outzone and delete logic + 25.10.2016 * Outdated specs removed, failing specs fixed, rspec config improved From 62f833975543d1644f8ec446ca0b97bb34fa5b2a Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Fri, 18 Nov 2016 13:43:18 +0200 Subject: [PATCH 19/76] Update changelog #235 --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 497c0e97a..8a59838ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ 07.11.2016 * Use app time zone when calculating valid_to, outzone_at and delete_at domain attributes -* Consider domains having current time at expire_time attribute expired +* Treat domains as expired when expire_time is set to current time * Improve domain's outzone and delete logic 25.10.2016 From e712e60686a8826009a4445e5df8d99bf626a5fc Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Fri, 2 Dec 2016 11:22:56 +0200 Subject: [PATCH 20/76] Do not autload app/validators folder --- config/initializers/load_validators.rb | 1 - 1 file changed, 1 deletion(-) delete mode 100644 config/initializers/load_validators.rb diff --git a/config/initializers/load_validators.rb b/config/initializers/load_validators.rb deleted file mode 100644 index ea84920bf..000000000 --- a/config/initializers/load_validators.rb +++ /dev/null @@ -1 +0,0 @@ -Registry::Application.config.autoload_paths += %W(#{Registry::Application.config.root}/app/validators/) From 07f49d8ca63674daa525e84809de72b6c63d21c5 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Fri, 2 Dec 2016 18:38:16 +0200 Subject: [PATCH 21/76] Refactor contact model #251 --- app/models/contact.rb | 4 ++-- spec/models/contact_spec.rb | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/models/contact.rb b/app/models/contact.rb index db9fc3dc1..4899399f1 100644 --- a/app/models/contact.rb +++ b/app/models/contact.rb @@ -262,8 +262,8 @@ class Contact < ActiveRecord::Base Setting.address_processing end - def address_attributes - %i( + def address_attribute_names + %w( city street zip diff --git a/spec/models/contact_spec.rb b/spec/models/contact_spec.rb index 76c48f0ff..2f3d7efe3 100644 --- a/spec/models/contact_spec.rb +++ b/spec/models/contact_spec.rb @@ -394,16 +394,16 @@ RSpec.describe Contact, db: false do end end - describe '::address_attributes', db: false do + describe '::address_attribute_names', db: false do it 'returns address attributes' do - attributes = %i( + attributes = %w( city street zip country_code state ) - expect(described_class.address_attributes).to eq(attributes) + expect(described_class.address_attribute_names).to eq(attributes) end end end From 92b81f98fee11337ba28bfe3f7e0732395fd4362 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Fri, 2 Dec 2016 18:38:36 +0200 Subject: [PATCH 22/76] Fix saving "address_processing" config in admin #251 --- app/controllers/admin/settings_controller.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/controllers/admin/settings_controller.rb b/app/controllers/admin/settings_controller.rb index 68e8b7788..737279653 100644 --- a/app/controllers/admin/settings_controller.rb +++ b/app/controllers/admin/settings_controller.rb @@ -78,7 +78,8 @@ class Admin::SettingsController < AdminController :registrar_ip_whitelist_enabled, :api_ip_whitelist_enabled, :request_confrimation_on_registrant_change_enabled, - :request_confirmation_on_domain_deletion_enabled + :request_confirmation_on_domain_deletion_enabled, + :address_processing ] params[:settings].each do |k, v| From 1e3dc63401ee15173482960cf831810391747b1f Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Fri, 2 Dec 2016 18:40:47 +0200 Subject: [PATCH 23/76] Do not return address in REPP API unless turned on in admin #251 --- app/api/repp/contact_v1.rb | 7 +++++++ spec/api/repp/contact_v1_spec.rb | 12 +++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/app/api/repp/contact_v1.rb b/app/api/repp/contact_v1.rb index 4b9b2d960..6aa934609 100644 --- a/app/api/repp/contact_v1.rb +++ b/app/api/repp/contact_v1.rb @@ -16,6 +16,13 @@ module Repp if params[:details] == 'true' contacts = current_user.registrar.contacts.limit(limit).offset(offset) + + unless Contact.address_processing + attributes = Contact.attribute_names - Contact.address_attribute_names + contacts = contacts.select(attributes) + end + + contacts else contacts = current_user.registrar.contacts.limit(limit).offset(offset).pluck(:code) end diff --git a/spec/api/repp/contact_v1_spec.rb b/spec/api/repp/contact_v1_spec.rb index b1d68b0d3..59d39cc60 100644 --- a/spec/api/repp/contact_v1_spec.rb +++ b/spec/api/repp/contact_v1_spec.rb @@ -5,7 +5,8 @@ RSpec.describe Repp::ContactV1, db: true do let(:registrar) { FactoryGirl.create(:registrar) } describe '/contacts' do - subject(:fields) { HashWithIndifferentAccess.new(JSON.parse(response.body)['contacts'].first).keys } + let(:returned_attributes) { HashWithIndifferentAccess.new(JSON.parse(response.body)['contacts'].first).keys } + subject(:address_included) { Contact.address_attribute_names.any? { |attr| returned_attributes.include?(attr.to_s) } } before do Grape::Endpoint.before_each do |endpoint| @@ -13,31 +14,32 @@ RSpec.describe Repp::ContactV1, db: true do end registrar.contacts << FactoryGirl.create(:contact) - - get '/repp/v1/contacts', { limit: 1, details: true }, { 'HTTP_AUTHORIZATION' => http_auth_key } end it 'responds with success' do + get '/repp/v1/contacts', { limit: 1, details: true }, { 'HTTP_AUTHORIZATION' => http_auth_key } expect(response).to have_http_status(:success) end context 'when address processing is enabled' do before do expect(Contact).to receive(:address_processing).and_return(true) + get '/repp/v1/contacts', { limit: 1, details: true }, { 'HTTP_AUTHORIZATION' => http_auth_key } end it 'returns contact address' do - expect(fields).to include(Contact.address_attributes) + expect(address_included).to be_truthy end end context 'when address processing is disabled' do before do expect(Contact).to receive(:address_processing).and_return(false) + get '/repp/v1/contacts', { limit: 1, details: true }, { 'HTTP_AUTHORIZATION' => http_auth_key } end it 'does not return contact address' do - expect(fields).to_not include(Contact.address_attributes) + expect(address_included).to be_falsy end end end From 1a15bb260da3055f47179e1e5e2ff2b69d6a2ee3 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Mon, 5 Dec 2016 13:14:27 +0200 Subject: [PATCH 24/76] Introduce epp-eis xml schema with new error code of "1100" #251 --- lib/schemas/epp-eis-1.0.xsd | 447 ++++++++++++++++++++++++++++++++++++ 1 file changed, 447 insertions(+) create mode 100644 lib/schemas/epp-eis-1.0.xsd diff --git a/lib/schemas/epp-eis-1.0.xsd b/lib/schemas/epp-eis-1.0.xsd new file mode 100644 index 000000000..3b566e296 --- /dev/null +++ b/lib/schemas/epp-eis-1.0.xsd @@ -0,0 +1,447 @@ + + + + + + + + + + + Extensible Provisioning Protocol v1.0 schema. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From c7fbcfa56c4d59f949fc650e213e0c24cc2f0094 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Mon, 5 Dec 2016 13:22:01 +0200 Subject: [PATCH 25/76] Introduce contact-eis xml schema 1.1 with optional address #251 --- lib/schemas/contact-eis-1.1.xsd | 366 ++++++++++++++++++++++++++++++++ 1 file changed, 366 insertions(+) create mode 100644 lib/schemas/contact-eis-1.1.xsd diff --git a/lib/schemas/contact-eis-1.1.xsd b/lib/schemas/contact-eis-1.1.xsd new file mode 100644 index 000000000..a355461e0 --- /dev/null +++ b/lib/schemas/contact-eis-1.1.xsd @@ -0,0 +1,366 @@ + + + + + + + + + + + + Extensible Provisioning Protocol v1.1 + contact provisioning schema. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 787f668fcb95be361b4ecf4cc13857050cbf1acb Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Mon, 5 Dec 2016 13:43:23 +0200 Subject: [PATCH 26/76] Remove unused doc --- doc/epp-doc.md | 26 -------------------------- 1 file changed, 26 deletions(-) delete mode 100644 doc/epp-doc.md diff --git a/doc/epp-doc.md b/doc/epp-doc.md deleted file mode 100644 index cf6ae2788..000000000 --- a/doc/epp-doc.md +++ /dev/null @@ -1,26 +0,0 @@ -# EPP integration specification - -Main communication specification through EPP: - -[Session related functions](epp/session.md) -[Contact related functions](epp/contact.md) -[Domain related functions](epp/domain.md) -[Keyrelay related functions](epp/keyrelay.md) - -Our implementation supports following protocols: - -[RFC5730 - EPP](http://tools.ietf.org/html/rfc5730) -[RFC5731 - Domain Mapping](http://tools.ietf.org/html/rfc5731) -[RFC5733 - Contact Mapping](http://tools.ietf.org/html/rfc5733) -[RFC5734 - Transport over TCP](http://tools.ietf.org/html/rfc5734) -[RFC5910 - DNSSEC Mapping](http://tools.ietf.org/html/rfc5910) -[RFC3735 - Guidelines for Extending the EPP](http://tools.ietf.org/html/rfc3735) - -EIS specific XML Schema Definitions (may differ from policies applied to registry): - -[contact-eis-1.0.xsd](schemas/contact-eis-1.0.xsd) -[domain-eis-1.0.xsd](schemas/domain-eis-1.0.xsd) -[eis-1.0.xsd](schemas/eis-1.0.xsd) - -More info about The Extensible Provisioning Protocol (EPP):
-http://en.wikipedia.org/wiki/Extensible_Provisioning_Protocol From 90284e4bb173c8ebebf65a4ee4f29b272ca1980e Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Mon, 5 Dec 2016 13:43:43 +0200 Subject: [PATCH 27/76] Improve EPP readme --- doc/epp/README.md | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/doc/epp/README.md b/doc/epp/README.md index 78047851c..c2662aa27 100644 --- a/doc/epp/README.md +++ b/doc/epp/README.md @@ -1,13 +1,13 @@ # EPP integration specification -Main communication specification through EPP: +## Main communication specification through EPP [Session related functions](session.md) [Contact related functions](contact.md) [Domain related functions](domain.md) [Keyrelay related functions](keyrelay.md) -Our implementation supports following protocols: +## Supported protocols [RFC5730 - EPP](http://tools.ietf.org/html/rfc5730) [RFC5731 - Domain Mapping](http://tools.ietf.org/html/rfc5731) @@ -16,5 +16,22 @@ Our implementation supports following protocols: [RFC5910 - DNSSEC Mapping](http://tools.ietf.org/html/rfc5910) [RFC3735 - Guidelines for Extending the EPP](http://tools.ietf.org/html/rfc3735) -More info about The Extensible Provisioning Protocol (EPP):
+## XML schemas + +### Common +* [all-ee-1.0.xsd](schemas/all-ee-1.0.xsd) +* [contact-1.0.xsd](schemas/contact-1.0.xsd) +* [domain-1.0.xsd](schemas/domain-1.0.xsd) +* [epp-1.0.xsd](schemas/epp-1.0.xsd) +* [eppcom-1.0.xsd](schemas/eppcom-1.0.xsd) +* [host-1.0.xsd](schemas/host-1.0.xsd) +* [keyrelay-1.0.xsd](schemas/keyrelay-1.0.xsd) +* [secDNS-1.1.xsd](schemas/secDNS-1.1.xsd) + +### EIS-specific +* [eis-1.0.xsd](schemas/eis-1.0.xsd) +* [domain-eis-1.0.xsd](schemas/domain-eis-1.0.xsd) +* [contact-eis-1.0.xsd](schemas/contact-eis-1.0.xsd) + +More info about The Extensible Provisioning Protocol (EPP): http://en.wikipedia.org/wiki/Extensible_Provisioning_Protocol From 62d27d546aa7b2b2bdb9808796e3461e6d041406 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Mon, 5 Dec 2016 13:46:42 +0200 Subject: [PATCH 28/76] Improve EPP readme --- doc/epp/README.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/doc/epp/README.md b/doc/epp/README.md index c2662aa27..8fa980f6d 100644 --- a/doc/epp/README.md +++ b/doc/epp/README.md @@ -19,19 +19,19 @@ ## XML schemas ### Common -* [all-ee-1.0.xsd](schemas/all-ee-1.0.xsd) -* [contact-1.0.xsd](schemas/contact-1.0.xsd) -* [domain-1.0.xsd](schemas/domain-1.0.xsd) -* [epp-1.0.xsd](schemas/epp-1.0.xsd) -* [eppcom-1.0.xsd](schemas/eppcom-1.0.xsd) -* [host-1.0.xsd](schemas/host-1.0.xsd) -* [keyrelay-1.0.xsd](schemas/keyrelay-1.0.xsd) -* [secDNS-1.1.xsd](schemas/secDNS-1.1.xsd) +* [all-ee-1.0.xsd](lib/schemas/all-ee-1.0.xsd) +* [contact-1.0.xsd](lib/schemas/contact-1.0.xsd) +* [domain-1.0.xsd](lib/schemas/domain-1.0.xsd) +* [epp-1.0.xsd](lib/schemas/epp-1.0.xsd) +* [eppcom-1.0.xsd](lib/schemas/eppcom-1.0.xsd) +* [host-1.0.xsd](lib/schemas/host-1.0.xsd) +* [keyrelay-1.0.xsd](lib/schemas/keyrelay-1.0.xsd) +* [secDNS-1.1.xsd](lib/schemas/secDNS-1.1.xsd) ### EIS-specific -* [eis-1.0.xsd](schemas/eis-1.0.xsd) -* [domain-eis-1.0.xsd](schemas/domain-eis-1.0.xsd) -* [contact-eis-1.0.xsd](schemas/contact-eis-1.0.xsd) +* [eis-1.0.xsd](lib/schemas/eis-1.0.xsd) +* [domain-eis-1.0.xsd](lib/schemas/domain-eis-1.0.xsd) +* [contact-eis-1.0.xsd](lib/schemas/contact-eis-1.0.xsd) More info about The Extensible Provisioning Protocol (EPP): http://en.wikipedia.org/wiki/Extensible_Provisioning_Protocol From 81cbe9cfe3b539e54ae4f0066c1f39811260c982 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Mon, 5 Dec 2016 13:48:15 +0200 Subject: [PATCH 29/76] Improve EPP readme --- doc/epp/README.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/doc/epp/README.md b/doc/epp/README.md index 8fa980f6d..3acc95f7b 100644 --- a/doc/epp/README.md +++ b/doc/epp/README.md @@ -19,19 +19,19 @@ ## XML schemas ### Common -* [all-ee-1.0.xsd](lib/schemas/all-ee-1.0.xsd) -* [contact-1.0.xsd](lib/schemas/contact-1.0.xsd) -* [domain-1.0.xsd](lib/schemas/domain-1.0.xsd) -* [epp-1.0.xsd](lib/schemas/epp-1.0.xsd) -* [eppcom-1.0.xsd](lib/schemas/eppcom-1.0.xsd) -* [host-1.0.xsd](lib/schemas/host-1.0.xsd) -* [keyrelay-1.0.xsd](lib/schemas/keyrelay-1.0.xsd) -* [secDNS-1.1.xsd](lib/schemas/secDNS-1.1.xsd) +* [all-ee-1.0.xsd](/lib/schemas/all-ee-1.0.xsd) +* [contact-1.0.xsd](/lib/schemas/contact-1.0.xsd) +* [domain-1.0.xsd](/lib/schemas/domain-1.0.xsd) +* [epp-1.0.xsd](/lib/schemas/epp-1.0.xsd) +* [eppcom-1.0.xsd](/lib/schemas/eppcom-1.0.xsd) +* [host-1.0.xsd](/lib/schemas/host-1.0.xsd) +* [keyrelay-1.0.xsd](/lib/schemas/keyrelay-1.0.xsd) +* [secDNS-1.1.xsd](/lib/schemas/secDNS-1.1.xsd) ### EIS-specific -* [eis-1.0.xsd](lib/schemas/eis-1.0.xsd) -* [domain-eis-1.0.xsd](lib/schemas/domain-eis-1.0.xsd) -* [contact-eis-1.0.xsd](lib/schemas/contact-eis-1.0.xsd) +* [eis-1.0.xsd](/lib/schemas/eis-1.0.xsd) +* [domain-eis-1.0.xsd](/lib/schemas/domain-eis-1.0.xsd) +* [contact-eis-1.0.xsd](/lib/schemas/contact-eis-1.0.xsd) More info about The Extensible Provisioning Protocol (EPP): http://en.wikipedia.org/wiki/Extensible_Provisioning_Protocol From c04ec3da9b8a95a1cc51d2b165619af6540b56c2 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Mon, 5 Dec 2016 13:49:20 +0200 Subject: [PATCH 30/76] Improve EPP readme --- doc/epp/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/epp/README.md b/doc/epp/README.md index 3acc95f7b..33fe4c946 100644 --- a/doc/epp/README.md +++ b/doc/epp/README.md @@ -19,9 +19,9 @@ ## XML schemas ### Common -* [all-ee-1.0.xsd](/lib/schemas/all-ee-1.0.xsd) -* [contact-1.0.xsd](/lib/schemas/contact-1.0.xsd) * [domain-1.0.xsd](/lib/schemas/domain-1.0.xsd) +* [contact-1.0.xsd](/lib/schemas/contact-1.0.xsd) +* [all-ee-1.0.xsd](/lib/schemas/all-ee-1.0.xsd) * [epp-1.0.xsd](/lib/schemas/epp-1.0.xsd) * [eppcom-1.0.xsd](/lib/schemas/eppcom-1.0.xsd) * [host-1.0.xsd](/lib/schemas/host-1.0.xsd) @@ -29,9 +29,9 @@ * [secDNS-1.1.xsd](/lib/schemas/secDNS-1.1.xsd) ### EIS-specific -* [eis-1.0.xsd](/lib/schemas/eis-1.0.xsd) * [domain-eis-1.0.xsd](/lib/schemas/domain-eis-1.0.xsd) * [contact-eis-1.0.xsd](/lib/schemas/contact-eis-1.0.xsd) +* [eis-1.0.xsd](/lib/schemas/eis-1.0.xsd) More info about The Extensible Provisioning Protocol (EPP): http://en.wikipedia.org/wiki/Extensible_Provisioning_Protocol From 9db593edefbf57e61802e9d81ef8ea259b038d56 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Mon, 5 Dec 2016 22:39:34 +0200 Subject: [PATCH 31/76] Move xml schema doc to doc/epp --- doc/schemas/all-ee-1.0.xsd | 47 ---- doc/schemas/contact-1.0.xsd | 388 -------------------------- doc/schemas/contact-eis-1.0.xsd | 366 ------------------------- doc/schemas/domain-1.0.xsd | 432 ----------------------------- doc/schemas/domain-eis-1.0.xsd | 470 -------------------------------- doc/schemas/eis-1.0.xsd | 105 ------- doc/schemas/epp-1.0.xsd | 446 ------------------------------ doc/schemas/eppcom-1.0.xsd | 105 ------- doc/schemas/host-1.0.xsd | 238 ---------------- doc/schemas/keyrelay-1.0.xsd | 63 ----- doc/schemas/secDNS-1.1.xsd | 134 --------- 11 files changed, 2794 deletions(-) delete mode 100644 doc/schemas/all-ee-1.0.xsd delete mode 100644 doc/schemas/contact-1.0.xsd delete mode 100644 doc/schemas/contact-eis-1.0.xsd delete mode 100644 doc/schemas/domain-1.0.xsd delete mode 100644 doc/schemas/domain-eis-1.0.xsd delete mode 100644 doc/schemas/eis-1.0.xsd delete mode 100644 doc/schemas/epp-1.0.xsd delete mode 100644 doc/schemas/eppcom-1.0.xsd delete mode 100644 doc/schemas/host-1.0.xsd delete mode 100644 doc/schemas/keyrelay-1.0.xsd delete mode 100644 doc/schemas/secDNS-1.1.xsd diff --git a/doc/schemas/all-ee-1.0.xsd b/doc/schemas/all-ee-1.0.xsd deleted file mode 100644 index 5ad285c98..000000000 --- a/doc/schemas/all-ee-1.0.xsd +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - Extensible Provisioning Protocol v1.0 - all schema's grouped together - - - - diff --git a/doc/schemas/contact-1.0.xsd b/doc/schemas/contact-1.0.xsd deleted file mode 100644 index 9b4c244cd..000000000 --- a/doc/schemas/contact-1.0.xsd +++ /dev/null @@ -1,388 +0,0 @@ - - - - - - - - - - - Extensible Provisioning Protocol v1.0 - contact provisioning schema. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/doc/schemas/contact-eis-1.0.xsd b/doc/schemas/contact-eis-1.0.xsd deleted file mode 100644 index cec571cec..000000000 --- a/doc/schemas/contact-eis-1.0.xsd +++ /dev/null @@ -1,366 +0,0 @@ - - - - - - - - - - - - Extensible Provisioning Protocol v1.0 - contact provisioning schema. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/doc/schemas/domain-1.0.xsd b/doc/schemas/domain-1.0.xsd deleted file mode 100644 index 46859859e..000000000 --- a/doc/schemas/domain-1.0.xsd +++ /dev/null @@ -1,432 +0,0 @@ - - - - - - - - - - - - Extensible Provisioning Protocol v1.0 - domain provisioning schema. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/doc/schemas/domain-eis-1.0.xsd b/doc/schemas/domain-eis-1.0.xsd deleted file mode 100644 index b38abf9d4..000000000 --- a/doc/schemas/domain-eis-1.0.xsd +++ /dev/null @@ -1,470 +0,0 @@ - - - - - - - - - - - - - - Extensible Provisioning Protocol v1.0 - domain provisioning schema. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/doc/schemas/eis-1.0.xsd b/doc/schemas/eis-1.0.xsd deleted file mode 100644 index 0b2ad8f89..000000000 --- a/doc/schemas/eis-1.0.xsd +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - EIS Extensible Provisioning Protocol v1.0 extension schema. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/doc/schemas/epp-1.0.xsd b/doc/schemas/epp-1.0.xsd deleted file mode 100644 index 3609ad55d..000000000 --- a/doc/schemas/epp-1.0.xsd +++ /dev/null @@ -1,446 +0,0 @@ - - - - - - - - - - - Extensible Provisioning Protocol v1.0 schema. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/doc/schemas/eppcom-1.0.xsd b/doc/schemas/eppcom-1.0.xsd deleted file mode 100644 index 3b7d5d65c..000000000 --- a/doc/schemas/eppcom-1.0.xsd +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - Extensible Provisioning Protocol v1.0 - shared structures schema. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/doc/schemas/host-1.0.xsd b/doc/schemas/host-1.0.xsd deleted file mode 100644 index d4bbc043e..000000000 --- a/doc/schemas/host-1.0.xsd +++ /dev/null @@ -1,238 +0,0 @@ - - - - - - - - - - Extensible Provisioning Protocol v1.0 - host provisioning schema. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/doc/schemas/keyrelay-1.0.xsd b/doc/schemas/keyrelay-1.0.xsd deleted file mode 100644 index 2239754e7..000000000 --- a/doc/schemas/keyrelay-1.0.xsd +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - Extensible Provisioning Protocol v1.0 protocol - extension schema for relaying DNSSEC key material. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/doc/schemas/secDNS-1.1.xsd b/doc/schemas/secDNS-1.1.xsd deleted file mode 100644 index a47c07a23..000000000 --- a/doc/schemas/secDNS-1.1.xsd +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - Extensible Provisioning Protocol v1.0 - domain name extension schema - for provisioning DNS security (DNSSEC) extensions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 0fe669ba895b8ce1bb565ce6801d96ac8d6d9cbe Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Mon, 5 Dec 2016 13:43:23 +0200 Subject: [PATCH 32/76] Remove unused doc --- doc/epp-doc.md | 26 -------------------------- 1 file changed, 26 deletions(-) delete mode 100644 doc/epp-doc.md diff --git a/doc/epp-doc.md b/doc/epp-doc.md deleted file mode 100644 index cf6ae2788..000000000 --- a/doc/epp-doc.md +++ /dev/null @@ -1,26 +0,0 @@ -# EPP integration specification - -Main communication specification through EPP: - -[Session related functions](epp/session.md) -[Contact related functions](epp/contact.md) -[Domain related functions](epp/domain.md) -[Keyrelay related functions](epp/keyrelay.md) - -Our implementation supports following protocols: - -[RFC5730 - EPP](http://tools.ietf.org/html/rfc5730) -[RFC5731 - Domain Mapping](http://tools.ietf.org/html/rfc5731) -[RFC5733 - Contact Mapping](http://tools.ietf.org/html/rfc5733) -[RFC5734 - Transport over TCP](http://tools.ietf.org/html/rfc5734) -[RFC5910 - DNSSEC Mapping](http://tools.ietf.org/html/rfc5910) -[RFC3735 - Guidelines for Extending the EPP](http://tools.ietf.org/html/rfc3735) - -EIS specific XML Schema Definitions (may differ from policies applied to registry): - -[contact-eis-1.0.xsd](schemas/contact-eis-1.0.xsd) -[domain-eis-1.0.xsd](schemas/domain-eis-1.0.xsd) -[eis-1.0.xsd](schemas/eis-1.0.xsd) - -More info about The Extensible Provisioning Protocol (EPP):
-http://en.wikipedia.org/wiki/Extensible_Provisioning_Protocol From 12767d124aac63e0ef3a2a80bfaabcfc7c7672d5 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Mon, 5 Dec 2016 13:43:43 +0200 Subject: [PATCH 33/76] Improve EPP readme --- doc/epp/README.md | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/doc/epp/README.md b/doc/epp/README.md index 78047851c..c2662aa27 100644 --- a/doc/epp/README.md +++ b/doc/epp/README.md @@ -1,13 +1,13 @@ # EPP integration specification -Main communication specification through EPP: +## Main communication specification through EPP [Session related functions](session.md) [Contact related functions](contact.md) [Domain related functions](domain.md) [Keyrelay related functions](keyrelay.md) -Our implementation supports following protocols: +## Supported protocols [RFC5730 - EPP](http://tools.ietf.org/html/rfc5730) [RFC5731 - Domain Mapping](http://tools.ietf.org/html/rfc5731) @@ -16,5 +16,22 @@ Our implementation supports following protocols: [RFC5910 - DNSSEC Mapping](http://tools.ietf.org/html/rfc5910) [RFC3735 - Guidelines for Extending the EPP](http://tools.ietf.org/html/rfc3735) -More info about The Extensible Provisioning Protocol (EPP):
+## XML schemas + +### Common +* [all-ee-1.0.xsd](schemas/all-ee-1.0.xsd) +* [contact-1.0.xsd](schemas/contact-1.0.xsd) +* [domain-1.0.xsd](schemas/domain-1.0.xsd) +* [epp-1.0.xsd](schemas/epp-1.0.xsd) +* [eppcom-1.0.xsd](schemas/eppcom-1.0.xsd) +* [host-1.0.xsd](schemas/host-1.0.xsd) +* [keyrelay-1.0.xsd](schemas/keyrelay-1.0.xsd) +* [secDNS-1.1.xsd](schemas/secDNS-1.1.xsd) + +### EIS-specific +* [eis-1.0.xsd](schemas/eis-1.0.xsd) +* [domain-eis-1.0.xsd](schemas/domain-eis-1.0.xsd) +* [contact-eis-1.0.xsd](schemas/contact-eis-1.0.xsd) + +More info about The Extensible Provisioning Protocol (EPP): http://en.wikipedia.org/wiki/Extensible_Provisioning_Protocol From b0d2677c70e77a0c2b15863c6710f7686ee49184 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Mon, 5 Dec 2016 13:46:42 +0200 Subject: [PATCH 34/76] Improve EPP readme --- doc/epp/README.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/doc/epp/README.md b/doc/epp/README.md index c2662aa27..8fa980f6d 100644 --- a/doc/epp/README.md +++ b/doc/epp/README.md @@ -19,19 +19,19 @@ ## XML schemas ### Common -* [all-ee-1.0.xsd](schemas/all-ee-1.0.xsd) -* [contact-1.0.xsd](schemas/contact-1.0.xsd) -* [domain-1.0.xsd](schemas/domain-1.0.xsd) -* [epp-1.0.xsd](schemas/epp-1.0.xsd) -* [eppcom-1.0.xsd](schemas/eppcom-1.0.xsd) -* [host-1.0.xsd](schemas/host-1.0.xsd) -* [keyrelay-1.0.xsd](schemas/keyrelay-1.0.xsd) -* [secDNS-1.1.xsd](schemas/secDNS-1.1.xsd) +* [all-ee-1.0.xsd](lib/schemas/all-ee-1.0.xsd) +* [contact-1.0.xsd](lib/schemas/contact-1.0.xsd) +* [domain-1.0.xsd](lib/schemas/domain-1.0.xsd) +* [epp-1.0.xsd](lib/schemas/epp-1.0.xsd) +* [eppcom-1.0.xsd](lib/schemas/eppcom-1.0.xsd) +* [host-1.0.xsd](lib/schemas/host-1.0.xsd) +* [keyrelay-1.0.xsd](lib/schemas/keyrelay-1.0.xsd) +* [secDNS-1.1.xsd](lib/schemas/secDNS-1.1.xsd) ### EIS-specific -* [eis-1.0.xsd](schemas/eis-1.0.xsd) -* [domain-eis-1.0.xsd](schemas/domain-eis-1.0.xsd) -* [contact-eis-1.0.xsd](schemas/contact-eis-1.0.xsd) +* [eis-1.0.xsd](lib/schemas/eis-1.0.xsd) +* [domain-eis-1.0.xsd](lib/schemas/domain-eis-1.0.xsd) +* [contact-eis-1.0.xsd](lib/schemas/contact-eis-1.0.xsd) More info about The Extensible Provisioning Protocol (EPP): http://en.wikipedia.org/wiki/Extensible_Provisioning_Protocol From 48e6aafb504174fe3d62fbc22800b1aba0c8a444 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Mon, 5 Dec 2016 13:48:15 +0200 Subject: [PATCH 35/76] Improve EPP readme --- doc/epp/README.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/doc/epp/README.md b/doc/epp/README.md index 8fa980f6d..3acc95f7b 100644 --- a/doc/epp/README.md +++ b/doc/epp/README.md @@ -19,19 +19,19 @@ ## XML schemas ### Common -* [all-ee-1.0.xsd](lib/schemas/all-ee-1.0.xsd) -* [contact-1.0.xsd](lib/schemas/contact-1.0.xsd) -* [domain-1.0.xsd](lib/schemas/domain-1.0.xsd) -* [epp-1.0.xsd](lib/schemas/epp-1.0.xsd) -* [eppcom-1.0.xsd](lib/schemas/eppcom-1.0.xsd) -* [host-1.0.xsd](lib/schemas/host-1.0.xsd) -* [keyrelay-1.0.xsd](lib/schemas/keyrelay-1.0.xsd) -* [secDNS-1.1.xsd](lib/schemas/secDNS-1.1.xsd) +* [all-ee-1.0.xsd](/lib/schemas/all-ee-1.0.xsd) +* [contact-1.0.xsd](/lib/schemas/contact-1.0.xsd) +* [domain-1.0.xsd](/lib/schemas/domain-1.0.xsd) +* [epp-1.0.xsd](/lib/schemas/epp-1.0.xsd) +* [eppcom-1.0.xsd](/lib/schemas/eppcom-1.0.xsd) +* [host-1.0.xsd](/lib/schemas/host-1.0.xsd) +* [keyrelay-1.0.xsd](/lib/schemas/keyrelay-1.0.xsd) +* [secDNS-1.1.xsd](/lib/schemas/secDNS-1.1.xsd) ### EIS-specific -* [eis-1.0.xsd](lib/schemas/eis-1.0.xsd) -* [domain-eis-1.0.xsd](lib/schemas/domain-eis-1.0.xsd) -* [contact-eis-1.0.xsd](lib/schemas/contact-eis-1.0.xsd) +* [eis-1.0.xsd](/lib/schemas/eis-1.0.xsd) +* [domain-eis-1.0.xsd](/lib/schemas/domain-eis-1.0.xsd) +* [contact-eis-1.0.xsd](/lib/schemas/contact-eis-1.0.xsd) More info about The Extensible Provisioning Protocol (EPP): http://en.wikipedia.org/wiki/Extensible_Provisioning_Protocol From 3d32d7b68a82949e1fc0dba993499918b7e009a2 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Mon, 5 Dec 2016 13:49:20 +0200 Subject: [PATCH 36/76] Improve EPP readme --- doc/epp/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/epp/README.md b/doc/epp/README.md index 3acc95f7b..33fe4c946 100644 --- a/doc/epp/README.md +++ b/doc/epp/README.md @@ -19,9 +19,9 @@ ## XML schemas ### Common -* [all-ee-1.0.xsd](/lib/schemas/all-ee-1.0.xsd) -* [contact-1.0.xsd](/lib/schemas/contact-1.0.xsd) * [domain-1.0.xsd](/lib/schemas/domain-1.0.xsd) +* [contact-1.0.xsd](/lib/schemas/contact-1.0.xsd) +* [all-ee-1.0.xsd](/lib/schemas/all-ee-1.0.xsd) * [epp-1.0.xsd](/lib/schemas/epp-1.0.xsd) * [eppcom-1.0.xsd](/lib/schemas/eppcom-1.0.xsd) * [host-1.0.xsd](/lib/schemas/host-1.0.xsd) @@ -29,9 +29,9 @@ * [secDNS-1.1.xsd](/lib/schemas/secDNS-1.1.xsd) ### EIS-specific -* [eis-1.0.xsd](/lib/schemas/eis-1.0.xsd) * [domain-eis-1.0.xsd](/lib/schemas/domain-eis-1.0.xsd) * [contact-eis-1.0.xsd](/lib/schemas/contact-eis-1.0.xsd) +* [eis-1.0.xsd](/lib/schemas/eis-1.0.xsd) More info about The Extensible Provisioning Protocol (EPP): http://en.wikipedia.org/wiki/Extensible_Provisioning_Protocol From fd688c7d48725d2643aa331f0153191026351105 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Mon, 5 Dec 2016 22:39:34 +0200 Subject: [PATCH 37/76] Move xml schema doc to doc/epp --- doc/schemas/all-ee-1.0.xsd | 47 ---- doc/schemas/contact-1.0.xsd | 388 -------------------------- doc/schemas/contact-eis-1.0.xsd | 366 ------------------------- doc/schemas/domain-1.0.xsd | 432 ----------------------------- doc/schemas/domain-eis-1.0.xsd | 470 -------------------------------- doc/schemas/eis-1.0.xsd | 105 ------- doc/schemas/epp-1.0.xsd | 446 ------------------------------ doc/schemas/eppcom-1.0.xsd | 105 ------- doc/schemas/host-1.0.xsd | 238 ---------------- doc/schemas/keyrelay-1.0.xsd | 63 ----- doc/schemas/secDNS-1.1.xsd | 134 --------- 11 files changed, 2794 deletions(-) delete mode 100644 doc/schemas/all-ee-1.0.xsd delete mode 100644 doc/schemas/contact-1.0.xsd delete mode 100644 doc/schemas/contact-eis-1.0.xsd delete mode 100644 doc/schemas/domain-1.0.xsd delete mode 100644 doc/schemas/domain-eis-1.0.xsd delete mode 100644 doc/schemas/eis-1.0.xsd delete mode 100644 doc/schemas/epp-1.0.xsd delete mode 100644 doc/schemas/eppcom-1.0.xsd delete mode 100644 doc/schemas/host-1.0.xsd delete mode 100644 doc/schemas/keyrelay-1.0.xsd delete mode 100644 doc/schemas/secDNS-1.1.xsd diff --git a/doc/schemas/all-ee-1.0.xsd b/doc/schemas/all-ee-1.0.xsd deleted file mode 100644 index 5ad285c98..000000000 --- a/doc/schemas/all-ee-1.0.xsd +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - Extensible Provisioning Protocol v1.0 - all schema's grouped together - - - - diff --git a/doc/schemas/contact-1.0.xsd b/doc/schemas/contact-1.0.xsd deleted file mode 100644 index 9b4c244cd..000000000 --- a/doc/schemas/contact-1.0.xsd +++ /dev/null @@ -1,388 +0,0 @@ - - - - - - - - - - - Extensible Provisioning Protocol v1.0 - contact provisioning schema. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/doc/schemas/contact-eis-1.0.xsd b/doc/schemas/contact-eis-1.0.xsd deleted file mode 100644 index cec571cec..000000000 --- a/doc/schemas/contact-eis-1.0.xsd +++ /dev/null @@ -1,366 +0,0 @@ - - - - - - - - - - - - Extensible Provisioning Protocol v1.0 - contact provisioning schema. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/doc/schemas/domain-1.0.xsd b/doc/schemas/domain-1.0.xsd deleted file mode 100644 index 46859859e..000000000 --- a/doc/schemas/domain-1.0.xsd +++ /dev/null @@ -1,432 +0,0 @@ - - - - - - - - - - - - Extensible Provisioning Protocol v1.0 - domain provisioning schema. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/doc/schemas/domain-eis-1.0.xsd b/doc/schemas/domain-eis-1.0.xsd deleted file mode 100644 index b38abf9d4..000000000 --- a/doc/schemas/domain-eis-1.0.xsd +++ /dev/null @@ -1,470 +0,0 @@ - - - - - - - - - - - - - - Extensible Provisioning Protocol v1.0 - domain provisioning schema. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/doc/schemas/eis-1.0.xsd b/doc/schemas/eis-1.0.xsd deleted file mode 100644 index 0b2ad8f89..000000000 --- a/doc/schemas/eis-1.0.xsd +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - EIS Extensible Provisioning Protocol v1.0 extension schema. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/doc/schemas/epp-1.0.xsd b/doc/schemas/epp-1.0.xsd deleted file mode 100644 index 3609ad55d..000000000 --- a/doc/schemas/epp-1.0.xsd +++ /dev/null @@ -1,446 +0,0 @@ - - - - - - - - - - - Extensible Provisioning Protocol v1.0 schema. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/doc/schemas/eppcom-1.0.xsd b/doc/schemas/eppcom-1.0.xsd deleted file mode 100644 index 3b7d5d65c..000000000 --- a/doc/schemas/eppcom-1.0.xsd +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - Extensible Provisioning Protocol v1.0 - shared structures schema. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/doc/schemas/host-1.0.xsd b/doc/schemas/host-1.0.xsd deleted file mode 100644 index d4bbc043e..000000000 --- a/doc/schemas/host-1.0.xsd +++ /dev/null @@ -1,238 +0,0 @@ - - - - - - - - - - Extensible Provisioning Protocol v1.0 - host provisioning schema. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/doc/schemas/keyrelay-1.0.xsd b/doc/schemas/keyrelay-1.0.xsd deleted file mode 100644 index 2239754e7..000000000 --- a/doc/schemas/keyrelay-1.0.xsd +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - Extensible Provisioning Protocol v1.0 protocol - extension schema for relaying DNSSEC key material. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/doc/schemas/secDNS-1.1.xsd b/doc/schemas/secDNS-1.1.xsd deleted file mode 100644 index a47c07a23..000000000 --- a/doc/schemas/secDNS-1.1.xsd +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - Extensible Provisioning Protocol v1.0 - domain name extension schema - for provisioning DNS security (DNSSEC) extensions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From cbcbcff21ca87ec840320a56d7b0b7af992d12d0 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Tue, 6 Dec 2016 00:48:15 +0200 Subject: [PATCH 38/76] Use contact-eis-1.1.xsd schema for contact create and update #251 --- app/views/epp/contacts/create.xml.builder | 2 +- app/views/epp/contacts/update.xml.builder | 2 +- .../epp_requests/contact/create.xml | 2 +- .../epp_requests/contact/update_chg.xml | 2 +- doc/epp-examples.md | 124 +++++++++--------- doc/epp/README.md | 1 + doc/epp/contact.md | 4 +- 7 files changed, 69 insertions(+), 68 deletions(-) diff --git a/app/views/epp/contacts/create.xml.builder b/app/views/epp/contacts/create.xml.builder index 2d2c40097..9367c74b5 100644 --- a/app/views/epp/contacts/create.xml.builder +++ b/app/views/epp/contacts/create.xml.builder @@ -5,7 +5,7 @@ xml.epp_head do end xml.resData do - xml.tag!('contact:creData', 'xmlns:contact' => 'https://epp.tld.ee/schema/contact-eis-1.0.xsd') do + xml.tag!('contact:creData', 'xmlns:contact' => 'https://epp.tld.ee/schema/contact-eis-1.1.xsd') do xml.tag!('contact:id', @contact.code) xml.tag!('contact:crDate', @contact.created_at.try(:iso8601)) end diff --git a/app/views/epp/contacts/update.xml.builder b/app/views/epp/contacts/update.xml.builder index 2d2c40097..9367c74b5 100644 --- a/app/views/epp/contacts/update.xml.builder +++ b/app/views/epp/contacts/update.xml.builder @@ -5,7 +5,7 @@ xml.epp_head do end xml.resData do - xml.tag!('contact:creData', 'xmlns:contact' => 'https://epp.tld.ee/schema/contact-eis-1.0.xsd') do + xml.tag!('contact:creData', 'xmlns:contact' => 'https://epp.tld.ee/schema/contact-eis-1.1.xsd') do xml.tag!('contact:id', @contact.code) xml.tag!('contact:crDate', @contact.created_at.try(:iso8601)) end diff --git a/app/views/registrar/xml_consoles/epp_requests/contact/create.xml b/app/views/registrar/xml_consoles/epp_requests/contact/create.xml index 117ba3222..241734d0f 100644 --- a/app/views/registrar/xml_consoles/epp_requests/contact/create.xml +++ b/app/views/registrar/xml_consoles/epp_requests/contact/create.xml @@ -2,7 +2,7 @@ - + Sillius Soddus diff --git a/app/views/registrar/xml_consoles/epp_requests/contact/update_chg.xml b/app/views/registrar/xml_consoles/epp_requests/contact/update_chg.xml index 7ad2de978..01dda1635 100644 --- a/app/views/registrar/xml_consoles/epp_requests/contact/update_chg.xml +++ b/app/views/registrar/xml_consoles/epp_requests/contact/update_chg.xml @@ -2,7 +2,7 @@ - + sh8013 diff --git a/doc/epp-examples.md b/doc/epp-examples.md index d680a6e7b..ab94a24f0 100644 --- a/doc/epp-examples.md +++ b/doc/epp-examples.md @@ -60,7 +60,7 @@ REQUEST: - + ABC-12345 @@ -74,7 +74,7 @@ RESPONSE: - Element '{https://epp.tld.ee/schema/contact-eis-1.0.xsd}create': Missing child element(s). Expected is one of ( {https://epp.tld.ee/schema/contact-eis-1.0.xsd}id, {https://epp.tld.ee/schema/contact-eis-1.0.xsd}postalInfo ). + Element '{https://epp.tld.ee/schema/contact-eis-1.1.xsd}create': Missing child element(s). Expected is one of ( {https://epp.tld.ee/schema/contact-eis-1.1.xsd}id, {https://epp.tld.ee/schema/contact-eis-1.1.xsd}postalInfo ). ABC-12345 @@ -93,7 +93,7 @@ REQUEST: - + John Doe @@ -128,7 +128,7 @@ RESPONSE: Command completed successfully - + FIRST0:84FC4612 2015-09-09T09:40:29Z @@ -150,7 +150,7 @@ REQUEST: - + John Doe @@ -188,7 +188,7 @@ RESPONSE: Command completed successfully - + FIRST0:467382DF 2015-09-09T09:40:29Z @@ -210,7 +210,7 @@ REQUEST: - + John Doe @@ -245,7 +245,7 @@ RESPONSE: Command completed successfully - + FIRST0:ECE6546C 2015-09-09T09:40:29Z @@ -267,7 +267,7 @@ REQUEST: - + John Doe @@ -302,7 +302,7 @@ RESPONSE: Command completed successfully - + FIRST0:E5EB4D84 2015-09-09T09:40:29Z @@ -324,7 +324,7 @@ REQUEST: - + John Doe @@ -359,7 +359,7 @@ RESPONSE: Command completed successfully - + FIRST0:EAB46720 2015-09-09T09:40:29Z @@ -381,7 +381,7 @@ REQUEST: - + John Doe @@ -432,7 +432,7 @@ REQUEST: - + abc12345 John Doe @@ -468,7 +468,7 @@ RESPONSE: Command completed successfully - + FIRST0:ABC12345 2015-09-09T09:40:30Z @@ -490,7 +490,7 @@ REQUEST: - + abc:ABC:12345 John Doe @@ -526,7 +526,7 @@ RESPONSE: Command completed successfully - + FIRST0:ABC:ABC:12345 2015-09-09T09:40:30Z @@ -548,7 +548,7 @@ REQUEST: - + abc 123 John Doe @@ -600,7 +600,7 @@ REQUEST: - + 33&$@@ John Doe @@ -652,7 +652,7 @@ REQUEST: - + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa John Doe @@ -704,7 +704,7 @@ REQUEST: - + John Doe @@ -757,7 +757,7 @@ REQUEST: - + John Doe @@ -807,7 +807,7 @@ REQUEST: - + John Doe @@ -860,7 +860,7 @@ REQUEST: - + CID:FIRST0:abc:ABC:NEW:12345 John Doe @@ -896,7 +896,7 @@ RESPONSE: Command completed successfully - + FIRST0:CID:FIRST0:ABC:ABC:NEW:12345 2015-09-09T09:40:36Z @@ -918,7 +918,7 @@ REQUEST: - + CID:FIRST0:abc:CID:ABC:NEW:12345 John Doe @@ -954,7 +954,7 @@ RESPONSE: Command completed successfully - + FIRST0:CID:FIRST0:ABC:CID:ABC:NEW:12345 2015-09-09T09:40:36Z @@ -976,7 +976,7 @@ REQUEST: - + FIRST0:abc22 John Doe @@ -1012,7 +1012,7 @@ RESPONSE: Command completed successfully - + FIRST0:ABC22 2015-09-09T09:40:36Z @@ -1034,7 +1034,7 @@ REQUEST: - + cid2:first0:abc:ABC:11111 John Doe @@ -1070,7 +1070,7 @@ RESPONSE: Command completed successfully - + FIRST0:CID2:FIRST0:ABC:ABC:11111 2015-09-09T09:40:36Z @@ -1092,7 +1092,7 @@ REQUEST: - + CID:FIRST0 John Doe @@ -1128,7 +1128,7 @@ RESPONSE: Command completed successfully - + FIRST0:CID:FIRST0 2015-09-09T09:40:37Z @@ -1150,7 +1150,7 @@ REQUEST: - + John Doe @@ -1185,7 +1185,7 @@ RESPONSE: Command completed successfully - + FIRST0:0D91E51A 2015-09-09T09:40:37Z @@ -1207,7 +1207,7 @@ REQUEST: - + John Doe @@ -1242,7 +1242,7 @@ RESPONSE: Command completed successfully - + FIRST0:4F138386 2015-09-09T09:40:37Z @@ -1264,7 +1264,7 @@ REQUEST: - + John Doe should not save @@ -1316,7 +1316,7 @@ REQUEST: - + John Doe @@ -1401,7 +1401,7 @@ REQUEST: - + not-exists @@ -1454,7 +1454,7 @@ REQUEST: - + FIRST0:SH8013 @@ -1488,7 +1488,7 @@ RESPONSE: Command completed successfully - + FIRST0:SH8013 2015-09-09T09:40:39Z @@ -1510,7 +1510,7 @@ REQUEST: - + FIRST0:SH8013 @@ -1534,7 +1534,7 @@ RESPONSE: Command completed successfully - + FIRST0:SH8013 2015-09-09T09:40:39Z @@ -1602,7 +1602,7 @@ REQUEST: - + FIRST0:SH8013 @@ -1636,7 +1636,7 @@ RESPONSE: Command completed successfully - + FIRST0:SH8013 2015-09-09T09:40:39Z @@ -1750,7 +1750,7 @@ REQUEST: - + FIRST0:SH8013 @@ -1836,7 +1836,7 @@ REQUEST: - + FIRST0:SH8013 @@ -1889,7 +1889,7 @@ REQUEST: - + FIRST0:SH8013 @@ -1939,7 +1939,7 @@ REQUEST: - + FIRST0:SH8013 @@ -1990,7 +1990,7 @@ REQUEST: - + FIRST0:SH8013 @@ -2041,7 +2041,7 @@ REQUEST: - + FIRST0:SH8013 @@ -2092,7 +2092,7 @@ REQUEST: - + FIRST0:SH8013 @@ -2143,7 +2143,7 @@ REQUEST: - + FIRST0:SH8013 Payment overdue. @@ -2182,7 +2182,7 @@ REQUEST: - + FIRST0:SH8013 @@ -2206,7 +2206,7 @@ RESPONSE: Command completed successfully - + FIRST0:SH8013 2015-09-09T09:40:39Z @@ -2228,7 +2228,7 @@ REQUEST: - + FIRST0:SH8013 +372.11111111 @@ -2253,7 +2253,7 @@ RESPONSE: Command completed successfully - + FIRST0:SH8013 2015-09-09T09:40:39Z @@ -2275,7 +2275,7 @@ REQUEST: - + FIRST0:SH8013 @@ -2320,7 +2320,7 @@ REQUEST: - + FIRST0:SH8013 @@ -2364,7 +2364,7 @@ REQUEST: - + FIRST0:SH8013 @@ -2407,7 +2407,7 @@ REQUEST: - + FIRST0:SH8013 diff --git a/doc/epp/README.md b/doc/epp/README.md index 33fe4c946..9c61e343c 100644 --- a/doc/epp/README.md +++ b/doc/epp/README.md @@ -31,6 +31,7 @@ ### EIS-specific * [domain-eis-1.0.xsd](/lib/schemas/domain-eis-1.0.xsd) * [contact-eis-1.0.xsd](/lib/schemas/contact-eis-1.0.xsd) +* [contact-eis-1.1.xsd](/lib/schemas/contact-eis-1.1.xsd) * [eis-1.0.xsd](/lib/schemas/eis-1.0.xsd) More info about The Extensible Provisioning Protocol (EPP): diff --git a/doc/epp/contact.md b/doc/epp/contact.md index 684e43185..9dae6901e 100644 --- a/doc/epp/contact.md +++ b/doc/epp/contact.md @@ -17,7 +17,7 @@ More info: https://en.wikipedia.org/wiki/Latin_script_in_Unicode Field name Min-max Field description ----------------------- ------- ----------------- 1 - 1 Attribute: xmlns:contact="https://epp.tld.ee/schema/contact-eis-1.0.xsd" + 1 Attribute: xmlns:contact="https://epp.tld.ee/schema/contact-eis-1.1.xsd" 0-1 Contact id, optional, string: ASCII letters, numbers, ':', '-' characters, no spaces, max 100 characters, @@ -53,7 +53,7 @@ More info: https://en.wikipedia.org/wiki/Latin_script_in_Unicode Field name Min-max Field description ----------------------- ------- ----------------- 1 - 1 Attribute: xmlns:contact="https://epp.tld.ee/schema/contact-eis-1.0.xsd" + 1 Attribute: xmlns:contact="https://epp.tld.ee/schema/contact-eis-1.1.xsd" 1 Contact id, required 1 Change container 1 Postal information container From 3a7107860c547bef57949cc48a0eb59e4d1eef88 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Tue, 6 Dec 2016 12:41:41 +0200 Subject: [PATCH 39/76] Rename contact-eis-1.1.xsd schema to contact-ee-1.1.xsd #251 --- app/views/epp/contacts/create.xml.builder | 2 +- app/views/epp/contacts/update.xml.builder | 2 +- .../epp_requests/contact/create.xml | 2 +- .../epp_requests/contact/update_chg.xml | 2 +- doc/epp-examples.md | 124 +++++++++--------- doc/epp/README.md | 4 +- doc/epp/contact.md | 4 +- ...contact-eis-1.1.xsd => contact-ee-1.1.xsd} | 4 +- 8 files changed, 72 insertions(+), 72 deletions(-) rename lib/schemas/{contact-eis-1.1.xsd => contact-ee-1.1.xsd} (98%) diff --git a/app/views/epp/contacts/create.xml.builder b/app/views/epp/contacts/create.xml.builder index 9367c74b5..649198e00 100644 --- a/app/views/epp/contacts/create.xml.builder +++ b/app/views/epp/contacts/create.xml.builder @@ -5,7 +5,7 @@ xml.epp_head do end xml.resData do - xml.tag!('contact:creData', 'xmlns:contact' => 'https://epp.tld.ee/schema/contact-eis-1.1.xsd') do + xml.tag!('contact:creData', 'xmlns:contact' => 'https://epp.tld.ee/schema/contact-ee-1.1.xsd') do xml.tag!('contact:id', @contact.code) xml.tag!('contact:crDate', @contact.created_at.try(:iso8601)) end diff --git a/app/views/epp/contacts/update.xml.builder b/app/views/epp/contacts/update.xml.builder index 9367c74b5..649198e00 100644 --- a/app/views/epp/contacts/update.xml.builder +++ b/app/views/epp/contacts/update.xml.builder @@ -5,7 +5,7 @@ xml.epp_head do end xml.resData do - xml.tag!('contact:creData', 'xmlns:contact' => 'https://epp.tld.ee/schema/contact-eis-1.1.xsd') do + xml.tag!('contact:creData', 'xmlns:contact' => 'https://epp.tld.ee/schema/contact-ee-1.1.xsd') do xml.tag!('contact:id', @contact.code) xml.tag!('contact:crDate', @contact.created_at.try(:iso8601)) end diff --git a/app/views/registrar/xml_consoles/epp_requests/contact/create.xml b/app/views/registrar/xml_consoles/epp_requests/contact/create.xml index 241734d0f..de4f2c9b3 100644 --- a/app/views/registrar/xml_consoles/epp_requests/contact/create.xml +++ b/app/views/registrar/xml_consoles/epp_requests/contact/create.xml @@ -2,7 +2,7 @@ - + Sillius Soddus diff --git a/app/views/registrar/xml_consoles/epp_requests/contact/update_chg.xml b/app/views/registrar/xml_consoles/epp_requests/contact/update_chg.xml index 01dda1635..ec0beb825 100644 --- a/app/views/registrar/xml_consoles/epp_requests/contact/update_chg.xml +++ b/app/views/registrar/xml_consoles/epp_requests/contact/update_chg.xml @@ -2,7 +2,7 @@ - + sh8013 diff --git a/doc/epp-examples.md b/doc/epp-examples.md index ab94a24f0..8693b747c 100644 --- a/doc/epp-examples.md +++ b/doc/epp-examples.md @@ -60,7 +60,7 @@ REQUEST: - + ABC-12345 @@ -74,7 +74,7 @@ RESPONSE: - Element '{https://epp.tld.ee/schema/contact-eis-1.1.xsd}create': Missing child element(s). Expected is one of ( {https://epp.tld.ee/schema/contact-eis-1.1.xsd}id, {https://epp.tld.ee/schema/contact-eis-1.1.xsd}postalInfo ). + Element '{https://epp.tld.ee/schema/contact-ee-1.1.xsd}create': Missing child element(s). Expected is one of ( {https://epp.tld.ee/schema/contact-ee-1.1.xsd}id, {https://epp.tld.ee/schema/contact-ee-1.1.xsd}postalInfo ). ABC-12345 @@ -93,7 +93,7 @@ REQUEST: - + John Doe @@ -128,7 +128,7 @@ RESPONSE: Command completed successfully - + FIRST0:84FC4612 2015-09-09T09:40:29Z @@ -150,7 +150,7 @@ REQUEST: - + John Doe @@ -188,7 +188,7 @@ RESPONSE: Command completed successfully - + FIRST0:467382DF 2015-09-09T09:40:29Z @@ -210,7 +210,7 @@ REQUEST: - + John Doe @@ -245,7 +245,7 @@ RESPONSE: Command completed successfully - + FIRST0:ECE6546C 2015-09-09T09:40:29Z @@ -267,7 +267,7 @@ REQUEST: - + John Doe @@ -302,7 +302,7 @@ RESPONSE: Command completed successfully - + FIRST0:E5EB4D84 2015-09-09T09:40:29Z @@ -324,7 +324,7 @@ REQUEST: - + John Doe @@ -359,7 +359,7 @@ RESPONSE: Command completed successfully - + FIRST0:EAB46720 2015-09-09T09:40:29Z @@ -381,7 +381,7 @@ REQUEST: - + John Doe @@ -432,7 +432,7 @@ REQUEST: - + abc12345 John Doe @@ -468,7 +468,7 @@ RESPONSE: Command completed successfully - + FIRST0:ABC12345 2015-09-09T09:40:30Z @@ -490,7 +490,7 @@ REQUEST: - + abc:ABC:12345 John Doe @@ -526,7 +526,7 @@ RESPONSE: Command completed successfully - + FIRST0:ABC:ABC:12345 2015-09-09T09:40:30Z @@ -548,7 +548,7 @@ REQUEST: - + abc 123 John Doe @@ -600,7 +600,7 @@ REQUEST: - + 33&$@@ John Doe @@ -652,7 +652,7 @@ REQUEST: - + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa John Doe @@ -704,7 +704,7 @@ REQUEST: - + John Doe @@ -757,7 +757,7 @@ REQUEST: - + John Doe @@ -807,7 +807,7 @@ REQUEST: - + John Doe @@ -860,7 +860,7 @@ REQUEST: - + CID:FIRST0:abc:ABC:NEW:12345 John Doe @@ -896,7 +896,7 @@ RESPONSE: Command completed successfully - + FIRST0:CID:FIRST0:ABC:ABC:NEW:12345 2015-09-09T09:40:36Z @@ -918,7 +918,7 @@ REQUEST: - + CID:FIRST0:abc:CID:ABC:NEW:12345 John Doe @@ -954,7 +954,7 @@ RESPONSE: Command completed successfully - + FIRST0:CID:FIRST0:ABC:CID:ABC:NEW:12345 2015-09-09T09:40:36Z @@ -976,7 +976,7 @@ REQUEST: - + FIRST0:abc22 John Doe @@ -1012,7 +1012,7 @@ RESPONSE: Command completed successfully - + FIRST0:ABC22 2015-09-09T09:40:36Z @@ -1034,7 +1034,7 @@ REQUEST: - + cid2:first0:abc:ABC:11111 John Doe @@ -1070,7 +1070,7 @@ RESPONSE: Command completed successfully - + FIRST0:CID2:FIRST0:ABC:ABC:11111 2015-09-09T09:40:36Z @@ -1092,7 +1092,7 @@ REQUEST: - + CID:FIRST0 John Doe @@ -1128,7 +1128,7 @@ RESPONSE: Command completed successfully - + FIRST0:CID:FIRST0 2015-09-09T09:40:37Z @@ -1150,7 +1150,7 @@ REQUEST: - + John Doe @@ -1185,7 +1185,7 @@ RESPONSE: Command completed successfully - + FIRST0:0D91E51A 2015-09-09T09:40:37Z @@ -1207,7 +1207,7 @@ REQUEST: - + John Doe @@ -1242,7 +1242,7 @@ RESPONSE: Command completed successfully - + FIRST0:4F138386 2015-09-09T09:40:37Z @@ -1264,7 +1264,7 @@ REQUEST: - + John Doe should not save @@ -1316,7 +1316,7 @@ REQUEST: - + John Doe @@ -1401,7 +1401,7 @@ REQUEST: - + not-exists @@ -1454,7 +1454,7 @@ REQUEST: - + FIRST0:SH8013 @@ -1488,7 +1488,7 @@ RESPONSE: Command completed successfully - + FIRST0:SH8013 2015-09-09T09:40:39Z @@ -1510,7 +1510,7 @@ REQUEST: - + FIRST0:SH8013 @@ -1534,7 +1534,7 @@ RESPONSE: Command completed successfully - + FIRST0:SH8013 2015-09-09T09:40:39Z @@ -1602,7 +1602,7 @@ REQUEST: - + FIRST0:SH8013 @@ -1636,7 +1636,7 @@ RESPONSE: Command completed successfully - + FIRST0:SH8013 2015-09-09T09:40:39Z @@ -1750,7 +1750,7 @@ REQUEST: - + FIRST0:SH8013 @@ -1836,7 +1836,7 @@ REQUEST: - + FIRST0:SH8013 @@ -1889,7 +1889,7 @@ REQUEST: - + FIRST0:SH8013 @@ -1939,7 +1939,7 @@ REQUEST: - + FIRST0:SH8013 @@ -1990,7 +1990,7 @@ REQUEST: - + FIRST0:SH8013 @@ -2041,7 +2041,7 @@ REQUEST: - + FIRST0:SH8013 @@ -2092,7 +2092,7 @@ REQUEST: - + FIRST0:SH8013 @@ -2143,7 +2143,7 @@ REQUEST: - + FIRST0:SH8013 Payment overdue. @@ -2182,7 +2182,7 @@ REQUEST: - + FIRST0:SH8013 @@ -2206,7 +2206,7 @@ RESPONSE: Command completed successfully - + FIRST0:SH8013 2015-09-09T09:40:39Z @@ -2228,7 +2228,7 @@ REQUEST: - + FIRST0:SH8013 +372.11111111 @@ -2253,7 +2253,7 @@ RESPONSE: Command completed successfully - + FIRST0:SH8013 2015-09-09T09:40:39Z @@ -2275,7 +2275,7 @@ REQUEST: - + FIRST0:SH8013 @@ -2320,7 +2320,7 @@ REQUEST: - + FIRST0:SH8013 @@ -2364,7 +2364,7 @@ REQUEST: - + FIRST0:SH8013 @@ -2407,7 +2407,7 @@ REQUEST: - + FIRST0:SH8013 diff --git a/doc/epp/README.md b/doc/epp/README.md index 9c61e343c..52eaa8b80 100644 --- a/doc/epp/README.md +++ b/doc/epp/README.md @@ -28,10 +28,10 @@ * [keyrelay-1.0.xsd](/lib/schemas/keyrelay-1.0.xsd) * [secDNS-1.1.xsd](/lib/schemas/secDNS-1.1.xsd) -### EIS-specific +### .EE-specific * [domain-eis-1.0.xsd](/lib/schemas/domain-eis-1.0.xsd) * [contact-eis-1.0.xsd](/lib/schemas/contact-eis-1.0.xsd) -* [contact-eis-1.1.xsd](/lib/schemas/contact-eis-1.1.xsd) +* [contact-ee-1.1.xsd](/lib/schemas/contact-ee-1.1.xsd) * [eis-1.0.xsd](/lib/schemas/eis-1.0.xsd) More info about The Extensible Provisioning Protocol (EPP): diff --git a/doc/epp/contact.md b/doc/epp/contact.md index 9dae6901e..12f6d6c7d 100644 --- a/doc/epp/contact.md +++ b/doc/epp/contact.md @@ -17,7 +17,7 @@ More info: https://en.wikipedia.org/wiki/Latin_script_in_Unicode Field name Min-max Field description ----------------------- ------- ----------------- 1 - 1 Attribute: xmlns:contact="https://epp.tld.ee/schema/contact-eis-1.1.xsd" + 1 Attribute: xmlns:contact="https://epp.tld.ee/schema/contact-ee-1.1.xsd" 0-1 Contact id, optional, string: ASCII letters, numbers, ':', '-' characters, no spaces, max 100 characters, @@ -53,7 +53,7 @@ More info: https://en.wikipedia.org/wiki/Latin_script_in_Unicode Field name Min-max Field description ----------------------- ------- ----------------- 1 - 1 Attribute: xmlns:contact="https://epp.tld.ee/schema/contact-eis-1.1.xsd" + 1 Attribute: xmlns:contact="https://epp.tld.ee/schema/contact-ee-1.1.xsd" 1 Contact id, required 1 Change container 1 Postal information container diff --git a/lib/schemas/contact-eis-1.1.xsd b/lib/schemas/contact-ee-1.1.xsd similarity index 98% rename from lib/schemas/contact-eis-1.1.xsd rename to lib/schemas/contact-ee-1.1.xsd index a355461e0..2ecda8304 100644 --- a/lib/schemas/contact-eis-1.1.xsd +++ b/lib/schemas/contact-ee-1.1.xsd @@ -1,7 +1,7 @@ - Date: Tue, 6 Dec 2016 13:02:22 +0200 Subject: [PATCH 40/76] Rename epp-eis-1.0.xsd schema to epp-ee-1.0.xsd #251 --- lib/schemas/{epp-eis-1.0.xsd => epp-ee-1.0.xsd} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename lib/schemas/{epp-eis-1.0.xsd => epp-ee-1.0.xsd} (100%) diff --git a/lib/schemas/epp-eis-1.0.xsd b/lib/schemas/epp-ee-1.0.xsd similarity index 100% rename from lib/schemas/epp-eis-1.0.xsd rename to lib/schemas/epp-ee-1.0.xsd From 763e327d1d85ce7038894bed6fdeb727745e28ee Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Tue, 6 Dec 2016 13:13:26 +0200 Subject: [PATCH 41/76] Introduce "all-ee-1.1.xsd" schema #251 --- lib/schemas/all-ee-1.1.xsd | 46 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 lib/schemas/all-ee-1.1.xsd diff --git a/lib/schemas/all-ee-1.1.xsd b/lib/schemas/all-ee-1.1.xsd new file mode 100644 index 000000000..3ecc20bb3 --- /dev/null +++ b/lib/schemas/all-ee-1.1.xsd @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + Extensible Provisioning Protocol v1.0 + all schema's grouped together + + + + From 9e4bcf69e6a8422ba7d0d86e0e0a136ee81c0c18 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Tue, 6 Dec 2016 17:55:35 +0200 Subject: [PATCH 42/76] Use contact-ee-1.1.xsd schema for contact create and update #251 --- doc/epp-examples.md | 4 ++-- lib/epp_constraint.rb | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/epp-examples.md b/doc/epp-examples.md index 8693b747c..66931c5f8 100644 --- a/doc/epp-examples.md +++ b/doc/epp-examples.md @@ -1368,7 +1368,7 @@ REQUEST: - + ABC-12345 @@ -1382,7 +1382,7 @@ RESPONSE: - Element '{https://epp.tld.ee/schema/contact-eis-1.0.xsd}update': Missing child element(s). Expected is ( {https://epp.tld.ee/schema/contact-eis-1.0.xsd}id ). + Element '{https://epp.tld.ee/schema/contact-ee-1.1.xsd}update': Missing child element(s). Expected is ( {https://epp.tld.ee/schema/contact-ee-1.1.xsd}id ). ABC-12345 diff --git a/lib/epp_constraint.rb b/lib/epp_constraint.rb index 4463a7a04..c490254ed 100644 --- a/lib/epp_constraint.rb +++ b/lib/epp_constraint.rb @@ -1,7 +1,7 @@ class EppConstraint OBJECT_TYPES = { domain: { domain: 'https://epp.tld.ee/schema/domain-eis-1.0.xsd' }, - contact: { contact: 'https://epp.tld.ee/schema/contact-eis-1.0.xsd' } + contact: { contact: 'https://epp.tld.ee/schema/contact-ee-1.1.xsd' } } def initialize(type) From 2a8c855300af842cb00059180e84efb7116c94fc Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Tue, 6 Dec 2016 22:30:41 +0200 Subject: [PATCH 43/76] Add epp contact spec #251 --- spec/requests/epp/contacts_spec.rb | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 spec/requests/epp/contacts_spec.rb diff --git a/spec/requests/epp/contacts_spec.rb b/spec/requests/epp/contacts_spec.rb new file mode 100644 index 000000000..8703562c1 --- /dev/null +++ b/spec/requests/epp/contacts_spec.rb @@ -0,0 +1,17 @@ +require 'rails_helper' + +RSpec.describe 'EPP contact' do + describe 'create' do + context 'when address processing is enabled' do + # get 'epp/command/create' do + # + # end + end + + context 'when address processing is disabled' do + # get 'epp/command/create' do + # + # end + end + end +end From 70745f35a2feb0731b468262accf3cb4524ffd56 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Wed, 7 Dec 2016 19:54:49 +0200 Subject: [PATCH 44/76] Update epp contact spec #251 --- spec/requests/epp/contacts_spec.rb | 123 +++++++++++++++++++++++++++-- 1 file changed, 117 insertions(+), 6 deletions(-) diff --git a/spec/requests/epp/contacts_spec.rb b/spec/requests/epp/contacts_spec.rb index 8703562c1..111b52496 100644 --- a/spec/requests/epp/contacts_spec.rb +++ b/spec/requests/epp/contacts_spec.rb @@ -1,17 +1,128 @@ require 'rails_helper' RSpec.describe 'EPP contact' do + let(:response_xml) { Nokogiri::XML(response.body) } + let(:response_code) { response_xml.xpath('//xmlns:result').first['code'] } + + before do + sign_in_to_epp_area + end + describe 'create' do context 'when address processing is enabled' do - # get 'epp/command/create' do - # - # end + let(:request_xml) { ' + + + + + + Max Mustermann + + 123 Example + Tallinn + 123456 + EE + + + +372.56560131 + max.mustermenn@example.de + + + + + 38609220227 + dGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCg + + + + ABC-12345 + + ' + } + + before do + allow(Contact).to receive(:address_processing).and_return(true) + end + + it 'returns code of 1000' do + post '/epp/command/create', frame: request_xml + p controller.path + expect(response_code).to eq('1000') + end end context 'when address processing is disabled' do - # get 'epp/command/create' do - # - # end + before do + expect(Contact).to receive(:address_processing).and_return(false) + end + + context 'when address is present' do + let(:request_xml) { ' + + + + + + Max Mustermann + + 123 Example + Tallinn + 123456 + EE + + + +372.56560131 + max.mustermenn@example.de + + + + + 38609220227 + dGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCg + + + + ABC-12345 + + ' + } + + it 'returns code of 1100' do + post '/epp/command/create', frame: request_xml + expect(response_code).to eq('1100') + end + end + + context 'when address is absent' do + let(:request_xml) { ' + + + + + + Max Mustermann + + +372.56560131 + max.mustermenn@example.de + + + + + 38609220227 + dGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCg + + + + ABC-12345 + + ' + } + + it 'returns code of 1000' do + post '/epp/command/create', frame: request_xml + expect(response_code).to eq('1000') + end + end end end end From b4ccd867463aeff1f79014b2e6d50da4e3ea97eb Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Wed, 7 Dec 2016 19:56:04 +0200 Subject: [PATCH 45/76] Add session helpers for request specs --- spec/rails_helper.rb | 2 ++ spec/support/requests/session_helpers.rb | 32 ++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 spec/support/requests/session_helpers.rb diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb index 30f99594d..cf9e6cfb7 100644 --- a/spec/rails_helper.rb +++ b/spec/rails_helper.rb @@ -6,6 +6,7 @@ require 'capybara/poltergeist' require 'paper_trail/frameworks/rspec' require 'money-rails/test_helpers' require 'support/features/session_helpers' +require 'support/requests/session_helpers' if ENV['ROBOT'] require 'simplecov' @@ -25,6 +26,7 @@ RSpec.configure do |config| config.include ActionView::TestCase::Behavior, type: :presenter config.include ActiveSupport::Testing::TimeHelpers config.include Features::SessionHelpers, type: :feature + config.include Requests::SessionHelpers, type: :request config.include AbstractController::Translation, type: :feature config.define_derived_metadata(file_path: %r{/spec/presenters/}) do |metadata| diff --git a/spec/support/requests/session_helpers.rb b/spec/support/requests/session_helpers.rb new file mode 100644 index 000000000..da2d23e1c --- /dev/null +++ b/spec/support/requests/session_helpers.rb @@ -0,0 +1,32 @@ +module Requests + module SessionHelpers + def sign_in_to_epp_area(user: FactoryGirl.create(:api_user)) + login_xml = " + + + + #{user.username} + #{user.password} + + 1.0 + en + + + https://epp.tld.ee/schema/domain-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd + urn:ietf:params:xml:ns:host-1.0 + urn:ietf:params:xml:ns:keyrelay-1.0 + + urn:ietf:params:xml:ns:secDNS-1.1 + https://epp.tld.ee/schema/eis-1.0.xsd + + + + ABC-12345 + + " + + post '/epp/session/login', frame: login_xml + end + end +end From 89859aa43f30d3a8d89860cf531f67fcb5e41f09 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Thu, 8 Dec 2016 00:32:59 +0200 Subject: [PATCH 46/76] Refactor database cleaner config --- spec/support/database_cleaner.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spec/support/database_cleaner.rb b/spec/support/database_cleaner.rb index 68a5de946..a65caba89 100644 --- a/spec/support/database_cleaner.rb +++ b/spec/support/database_cleaner.rb @@ -11,7 +11,7 @@ RSpec.configure do |config| end config.before :example do |example| - if example.metadata[:db] || (%i(model).include?(example.metadata[:type]) && example.metadata[:db].nil?) + if example.metadata[:db] db_connection_names.each do |connection_name| ActiveRecord::Base.establish_connection(connection_name) DatabaseCleaner[:active_record, connection: connection_name].start @@ -20,7 +20,7 @@ RSpec.configure do |config| end config.after :example do |example| - if example.metadata[:db] || (%i(model).include?(example.metadata[:type]) && example.metadata[:db].nil?) + if example.metadata[:db] db_connection_names.each do |connection_name| ActiveRecord::Base.establish_connection(connection_name) DatabaseCleaner[:active_record, connection: connection_name].clean From e074e33da709178a24ecea5bb5da1955016d5b6d Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Thu, 8 Dec 2016 00:33:54 +0200 Subject: [PATCH 47/76] Turn database cleaner on by default for feature, modeland request specs --- spec/rails_helper.rb | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb index cf9e6cfb7..52452fbde 100644 --- a/spec/rails_helper.rb +++ b/spec/rails_helper.rb @@ -29,14 +29,24 @@ RSpec.configure do |config| config.include Requests::SessionHelpers, type: :request config.include AbstractController::Translation, type: :feature - config.define_derived_metadata(file_path: %r{/spec/presenters/}) do |metadata| - metadata[:type] = :presenter if metadata[:type].nil? - metadata[:db] = false if metadata[:db].nil? + config.define_derived_metadata(file_path: %r[/spec/features/]) do |metadata| + metadata[:db] = true if metadata[:db].nil? end - config.define_derived_metadata(file_path: %r{/spec/api/}) do |metadata| - metadata[:type] = :request if metadata[:type].nil? - metadata[:db] = false if metadata[:db].nil? + config.define_derived_metadata(file_path: %r[/spec/models/]) do |metadata| + metadata[:db] = true if metadata[:db].nil? + end + + config.define_derived_metadata(file_path: %r[/spec/presenters/]) do |metadata| + metadata[:type] = :presenter + end + + config.define_derived_metadata(file_path: %r[/spec/requests/]) do |metadata| + metadata[:db] = true if metadata[:db].nil? + end + + config.define_derived_metadata(file_path: %r[/spec/api/]) do |metadata| + metadata[:type] = :request end config.use_transactional_fixtures = false From 6c887e9217741f75c97d3048c43431e285ade2c3 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Thu, 8 Dec 2016 00:58:52 +0200 Subject: [PATCH 48/76] Fix domain model spec --- spec/models/domain_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/models/domain_spec.rb b/spec/models/domain_spec.rb index 78ada6d51..186fbc685 100644 --- a/spec/models/domain_spec.rb +++ b/spec/models/domain_spec.rb @@ -482,7 +482,7 @@ RSpec.describe Domain do invalid = [ 'a.ee', "#{'a' * 64}.ee", 'ab.eu', 'test.ab.ee', '-test.ee', '-test-.ee', - 'test-.ee', 'te--st.ee', 'õ.pri.ee', 'test.com', 'www.ab.ee', 'test.eu', ' .ee', 'a b.ee', + 'test-.ee', 'te--st.ee', 'õ.pri.ee', 'www.ab.ee', 'test.eu', ' .ee', 'a b.ee', 'Ž .ee', 'test.edu.ee' ] From f536a49758bdb91ee08d9d581ccab0ebc6f53dbe Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Mon, 5 Dec 2016 13:43:43 +0200 Subject: [PATCH 49/76] Improve EPP readme --- doc/epp/README.md | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/doc/epp/README.md b/doc/epp/README.md index 52eaa8b80..c2662aa27 100644 --- a/doc/epp/README.md +++ b/doc/epp/README.md @@ -19,20 +19,19 @@ ## XML schemas ### Common -* [domain-1.0.xsd](/lib/schemas/domain-1.0.xsd) -* [contact-1.0.xsd](/lib/schemas/contact-1.0.xsd) -* [all-ee-1.0.xsd](/lib/schemas/all-ee-1.0.xsd) -* [epp-1.0.xsd](/lib/schemas/epp-1.0.xsd) -* [eppcom-1.0.xsd](/lib/schemas/eppcom-1.0.xsd) -* [host-1.0.xsd](/lib/schemas/host-1.0.xsd) -* [keyrelay-1.0.xsd](/lib/schemas/keyrelay-1.0.xsd) -* [secDNS-1.1.xsd](/lib/schemas/secDNS-1.1.xsd) +* [all-ee-1.0.xsd](schemas/all-ee-1.0.xsd) +* [contact-1.0.xsd](schemas/contact-1.0.xsd) +* [domain-1.0.xsd](schemas/domain-1.0.xsd) +* [epp-1.0.xsd](schemas/epp-1.0.xsd) +* [eppcom-1.0.xsd](schemas/eppcom-1.0.xsd) +* [host-1.0.xsd](schemas/host-1.0.xsd) +* [keyrelay-1.0.xsd](schemas/keyrelay-1.0.xsd) +* [secDNS-1.1.xsd](schemas/secDNS-1.1.xsd) -### .EE-specific -* [domain-eis-1.0.xsd](/lib/schemas/domain-eis-1.0.xsd) -* [contact-eis-1.0.xsd](/lib/schemas/contact-eis-1.0.xsd) -* [contact-ee-1.1.xsd](/lib/schemas/contact-ee-1.1.xsd) -* [eis-1.0.xsd](/lib/schemas/eis-1.0.xsd) +### EIS-specific +* [eis-1.0.xsd](schemas/eis-1.0.xsd) +* [domain-eis-1.0.xsd](schemas/domain-eis-1.0.xsd) +* [contact-eis-1.0.xsd](schemas/contact-eis-1.0.xsd) More info about The Extensible Provisioning Protocol (EPP): http://en.wikipedia.org/wiki/Extensible_Provisioning_Protocol From 13f129342bf03d5dffaa9c99911e91421bf24479 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Mon, 5 Dec 2016 22:39:34 +0200 Subject: [PATCH 50/76] Move xml schema doc to doc/epp --- lib/schemas/all-ee-1.0.xsd | 46 ---- lib/schemas/contact-1.0.xsd | 388 -------------------------- lib/schemas/contact-eis-1.0.xsd | 366 ------------------------- lib/schemas/domain-1.0.xsd | 432 ----------------------------- lib/schemas/domain-eis-1.0.xsd | 470 -------------------------------- lib/schemas/eis-1.0.xsd | 105 ------- lib/schemas/epp-1.0.xsd | 446 ------------------------------ lib/schemas/eppcom-1.0.xsd | 105 ------- lib/schemas/host-1.0.xsd | 238 ---------------- lib/schemas/keyrelay-1.0.xsd | 63 ----- lib/schemas/secDNS-1.1.xsd | 134 --------- 11 files changed, 2793 deletions(-) delete mode 100644 lib/schemas/all-ee-1.0.xsd delete mode 100644 lib/schemas/contact-1.0.xsd delete mode 100644 lib/schemas/contact-eis-1.0.xsd delete mode 100644 lib/schemas/domain-1.0.xsd delete mode 100644 lib/schemas/domain-eis-1.0.xsd delete mode 100644 lib/schemas/eis-1.0.xsd delete mode 100644 lib/schemas/epp-1.0.xsd delete mode 100644 lib/schemas/eppcom-1.0.xsd delete mode 100644 lib/schemas/host-1.0.xsd delete mode 100644 lib/schemas/keyrelay-1.0.xsd delete mode 100644 lib/schemas/secDNS-1.1.xsd diff --git a/lib/schemas/all-ee-1.0.xsd b/lib/schemas/all-ee-1.0.xsd deleted file mode 100644 index 3013daf48..000000000 --- a/lib/schemas/all-ee-1.0.xsd +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - Extensible Provisioning Protocol v1.0 - all schema's grouped together - - - - diff --git a/lib/schemas/contact-1.0.xsd b/lib/schemas/contact-1.0.xsd deleted file mode 100644 index 9b4c244cd..000000000 --- a/lib/schemas/contact-1.0.xsd +++ /dev/null @@ -1,388 +0,0 @@ - - - - - - - - - - - Extensible Provisioning Protocol v1.0 - contact provisioning schema. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/lib/schemas/contact-eis-1.0.xsd b/lib/schemas/contact-eis-1.0.xsd deleted file mode 100644 index cec571cec..000000000 --- a/lib/schemas/contact-eis-1.0.xsd +++ /dev/null @@ -1,366 +0,0 @@ - - - - - - - - - - - - Extensible Provisioning Protocol v1.0 - contact provisioning schema. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/schemas/domain-1.0.xsd b/lib/schemas/domain-1.0.xsd deleted file mode 100644 index 46859859e..000000000 --- a/lib/schemas/domain-1.0.xsd +++ /dev/null @@ -1,432 +0,0 @@ - - - - - - - - - - - - Extensible Provisioning Protocol v1.0 - domain provisioning schema. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/lib/schemas/domain-eis-1.0.xsd b/lib/schemas/domain-eis-1.0.xsd deleted file mode 100644 index b38abf9d4..000000000 --- a/lib/schemas/domain-eis-1.0.xsd +++ /dev/null @@ -1,470 +0,0 @@ - - - - - - - - - - - - - - Extensible Provisioning Protocol v1.0 - domain provisioning schema. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/schemas/eis-1.0.xsd b/lib/schemas/eis-1.0.xsd deleted file mode 100644 index 0b2ad8f89..000000000 --- a/lib/schemas/eis-1.0.xsd +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - EIS Extensible Provisioning Protocol v1.0 extension schema. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/schemas/epp-1.0.xsd b/lib/schemas/epp-1.0.xsd deleted file mode 100644 index 3609ad55d..000000000 --- a/lib/schemas/epp-1.0.xsd +++ /dev/null @@ -1,446 +0,0 @@ - - - - - - - - - - - Extensible Provisioning Protocol v1.0 schema. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/schemas/eppcom-1.0.xsd b/lib/schemas/eppcom-1.0.xsd deleted file mode 100644 index 3b7d5d65c..000000000 --- a/lib/schemas/eppcom-1.0.xsd +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - Extensible Provisioning Protocol v1.0 - shared structures schema. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/schemas/host-1.0.xsd b/lib/schemas/host-1.0.xsd deleted file mode 100644 index d4bbc043e..000000000 --- a/lib/schemas/host-1.0.xsd +++ /dev/null @@ -1,238 +0,0 @@ - - - - - - - - - - Extensible Provisioning Protocol v1.0 - host provisioning schema. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/lib/schemas/keyrelay-1.0.xsd b/lib/schemas/keyrelay-1.0.xsd deleted file mode 100644 index 2239754e7..000000000 --- a/lib/schemas/keyrelay-1.0.xsd +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - Extensible Provisioning Protocol v1.0 protocol - extension schema for relaying DNSSEC key material. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/schemas/secDNS-1.1.xsd b/lib/schemas/secDNS-1.1.xsd deleted file mode 100644 index a47c07a23..000000000 --- a/lib/schemas/secDNS-1.1.xsd +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - Extensible Provisioning Protocol v1.0 - domain name extension schema - for provisioning DNS security (DNSSEC) extensions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From cf93e77845503222be1c19584a6dab2bb0212239 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Thu, 8 Dec 2016 01:24:45 +0200 Subject: [PATCH 51/76] Revert "Move xml schema doc to doc/epp" This reverts commit 13f129342bf03d5dffaa9c99911e91421bf24479. --- lib/schemas/all-ee-1.0.xsd | 46 ++++ lib/schemas/contact-1.0.xsd | 388 ++++++++++++++++++++++++++ lib/schemas/contact-eis-1.0.xsd | 366 +++++++++++++++++++++++++ lib/schemas/domain-1.0.xsd | 432 +++++++++++++++++++++++++++++ lib/schemas/domain-eis-1.0.xsd | 470 ++++++++++++++++++++++++++++++++ lib/schemas/eis-1.0.xsd | 105 +++++++ lib/schemas/epp-1.0.xsd | 446 ++++++++++++++++++++++++++++++ lib/schemas/eppcom-1.0.xsd | 105 +++++++ lib/schemas/host-1.0.xsd | 238 ++++++++++++++++ lib/schemas/keyrelay-1.0.xsd | 63 +++++ lib/schemas/secDNS-1.1.xsd | 134 +++++++++ 11 files changed, 2793 insertions(+) create mode 100644 lib/schemas/all-ee-1.0.xsd create mode 100644 lib/schemas/contact-1.0.xsd create mode 100644 lib/schemas/contact-eis-1.0.xsd create mode 100644 lib/schemas/domain-1.0.xsd create mode 100644 lib/schemas/domain-eis-1.0.xsd create mode 100644 lib/schemas/eis-1.0.xsd create mode 100644 lib/schemas/epp-1.0.xsd create mode 100644 lib/schemas/eppcom-1.0.xsd create mode 100644 lib/schemas/host-1.0.xsd create mode 100644 lib/schemas/keyrelay-1.0.xsd create mode 100644 lib/schemas/secDNS-1.1.xsd diff --git a/lib/schemas/all-ee-1.0.xsd b/lib/schemas/all-ee-1.0.xsd new file mode 100644 index 000000000..3013daf48 --- /dev/null +++ b/lib/schemas/all-ee-1.0.xsd @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + Extensible Provisioning Protocol v1.0 + all schema's grouped together + + + + diff --git a/lib/schemas/contact-1.0.xsd b/lib/schemas/contact-1.0.xsd new file mode 100644 index 000000000..9b4c244cd --- /dev/null +++ b/lib/schemas/contact-1.0.xsd @@ -0,0 +1,388 @@ + + + + + + + + + + + Extensible Provisioning Protocol v1.0 + contact provisioning schema. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/schemas/contact-eis-1.0.xsd b/lib/schemas/contact-eis-1.0.xsd new file mode 100644 index 000000000..cec571cec --- /dev/null +++ b/lib/schemas/contact-eis-1.0.xsd @@ -0,0 +1,366 @@ + + + + + + + + + + + + Extensible Provisioning Protocol v1.0 + contact provisioning schema. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/schemas/domain-1.0.xsd b/lib/schemas/domain-1.0.xsd new file mode 100644 index 000000000..46859859e --- /dev/null +++ b/lib/schemas/domain-1.0.xsd @@ -0,0 +1,432 @@ + + + + + + + + + + + + Extensible Provisioning Protocol v1.0 + domain provisioning schema. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/schemas/domain-eis-1.0.xsd b/lib/schemas/domain-eis-1.0.xsd new file mode 100644 index 000000000..b38abf9d4 --- /dev/null +++ b/lib/schemas/domain-eis-1.0.xsd @@ -0,0 +1,470 @@ + + + + + + + + + + + + + + Extensible Provisioning Protocol v1.0 + domain provisioning schema. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/schemas/eis-1.0.xsd b/lib/schemas/eis-1.0.xsd new file mode 100644 index 000000000..0b2ad8f89 --- /dev/null +++ b/lib/schemas/eis-1.0.xsd @@ -0,0 +1,105 @@ + + + + + + EIS Extensible Provisioning Protocol v1.0 extension schema. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/schemas/epp-1.0.xsd b/lib/schemas/epp-1.0.xsd new file mode 100644 index 000000000..3609ad55d --- /dev/null +++ b/lib/schemas/epp-1.0.xsd @@ -0,0 +1,446 @@ + + + + + + + + + + + Extensible Provisioning Protocol v1.0 schema. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/schemas/eppcom-1.0.xsd b/lib/schemas/eppcom-1.0.xsd new file mode 100644 index 000000000..3b7d5d65c --- /dev/null +++ b/lib/schemas/eppcom-1.0.xsd @@ -0,0 +1,105 @@ + + + + + + + Extensible Provisioning Protocol v1.0 + shared structures schema. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/schemas/host-1.0.xsd b/lib/schemas/host-1.0.xsd new file mode 100644 index 000000000..d4bbc043e --- /dev/null +++ b/lib/schemas/host-1.0.xsd @@ -0,0 +1,238 @@ + + + + + + + + + + Extensible Provisioning Protocol v1.0 + host provisioning schema. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/schemas/keyrelay-1.0.xsd b/lib/schemas/keyrelay-1.0.xsd new file mode 100644 index 000000000..2239754e7 --- /dev/null +++ b/lib/schemas/keyrelay-1.0.xsd @@ -0,0 +1,63 @@ + + + + + + + Extensible Provisioning Protocol v1.0 protocol + extension schema for relaying DNSSEC key material. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/schemas/secDNS-1.1.xsd b/lib/schemas/secDNS-1.1.xsd new file mode 100644 index 000000000..a47c07a23 --- /dev/null +++ b/lib/schemas/secDNS-1.1.xsd @@ -0,0 +1,134 @@ + + + + + + Extensible Provisioning Protocol v1.0 + domain name extension schema + for provisioning DNS security (DNSSEC) extensions. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 3738a50762822cb5b807ead5e1836b83c6cbd338 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Thu, 8 Dec 2016 03:06:46 +0200 Subject: [PATCH 52/76] Validate against new schemas #251 --- config/initializers/load_schemas.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/initializers/load_schemas.rb b/config/initializers/load_schemas.rb index 91ca113cc..fa0150896 100644 --- a/config/initializers/load_schemas.rb +++ b/config/initializers/load_schemas.rb @@ -1 +1 @@ -EPP_ALL_SCHEMA = Nokogiri::XML::Schema(File.read("lib/schemas/all-ee-1.0.xsd")) +EPP_ALL_SCHEMA = Nokogiri::XML::Schema(File.read('lib/schemas/all-ee-1.1.xsd')) From 3d94f67fa373e1259927a3ed38833122f22c70e4 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Thu, 8 Dec 2016 03:19:37 +0200 Subject: [PATCH 53/76] Do not validate ssl certificate in dev and test envs #251 --- app/controllers/epp/sessions_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/epp/sessions_controller.rb b/app/controllers/epp/sessions_controller.rb index 58a314410..14fd58173 100644 --- a/app/controllers/epp/sessions_controller.rb +++ b/app/controllers/epp/sessions_controller.rb @@ -27,7 +27,7 @@ class Epp::SessionsController < EppController end end - if !webclient_request && @api_user + if !Rails.env.development? && !Rails.env.test? && !webclient_request && @api_user unless @api_user.api_pki_ok?(request.env['HTTP_SSL_CLIENT_CERT'], request.env['HTTP_SSL_CLIENT_S_DN_CN']) epp_errors << { msg: 'Authentication error; server closing connection (certificate is not valid)', From 027a60b476dce25830f0c1214bee90dea99ebdfa Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Thu, 8 Dec 2016 03:20:53 +0200 Subject: [PATCH 54/76] Fix "all" xml schema #251 --- lib/schemas/all-ee-1.1.xsd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/schemas/all-ee-1.1.xsd b/lib/schemas/all-ee-1.1.xsd index 3ecc20bb3..4b144bc8d 100644 --- a/lib/schemas/all-ee-1.1.xsd +++ b/lib/schemas/all-ee-1.1.xsd @@ -31,7 +31,7 @@ - From c8fd0eb1a4bd97e2c798ae6b2af16f2df6cef08e Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Thu, 8 Dec 2016 03:21:40 +0200 Subject: [PATCH 55/76] Update epp contacts spec #251 --- spec/requests/epp/contacts_spec.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/spec/requests/epp/contacts_spec.rb b/spec/requests/epp/contacts_spec.rb index 111b52496..c485c077b 100644 --- a/spec/requests/epp/contacts_spec.rb +++ b/spec/requests/epp/contacts_spec.rb @@ -46,7 +46,6 @@ RSpec.describe 'EPP contact' do it 'returns code of 1000' do post '/epp/command/create', frame: request_xml - p controller.path expect(response_code).to eq('1000') end end From 74598ccf23f72c7f064b7db63596a4cac5b786b8 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Thu, 8 Dec 2016 21:36:25 +0200 Subject: [PATCH 56/76] Update epp contacts controller #251 --- app/controllers/epp/contacts_controller.rb | 13 ++++++++++--- app/views/epp/contacts/create.xml.builder | 2 +- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/app/controllers/epp/contacts_controller.rb b/app/controllers/epp/contacts_controller.rb index 117aaabc0..e719d8180 100644 --- a/app/controllers/epp/contacts_controller.rb +++ b/app/controllers/epp/contacts_controller.rb @@ -17,9 +17,16 @@ class Epp::ContactsController < EppController def create authorize! :create, Epp::Contact - @contact = Epp::Contact.new(params[:parsed_frame], current_user.registrar) + frame = params[:parsed_frame] + @contact = Epp::Contact.new(frame, current_user.registrar) - @contact.add_legal_file_to_new(params[:parsed_frame]) + @contact.add_legal_file_to_new(frame) + + @response_code = if Contact.address_processing + 1000 + else + frame.css('postalInfo addr').size != 0 ? 1100 : 1000 + end if @contact.save render_epp_response '/epp/contacts/create' @@ -141,7 +148,7 @@ class Epp::ContactsController < EppController def contact_org_disabled return true if ENV['contact_org_enabled'] == 'true' return true if params[:parsed_frame].css('postalInfo org').text.blank? - + epp_errors << { code: '2306', msg: "#{I18n.t(:contact_org_error)}: postalInfo > org [org]" diff --git a/app/views/epp/contacts/create.xml.builder b/app/views/epp/contacts/create.xml.builder index 649198e00..7d628f31b 100644 --- a/app/views/epp/contacts/create.xml.builder +++ b/app/views/epp/contacts/create.xml.builder @@ -1,6 +1,6 @@ xml.epp_head do xml.response do - xml.result('code' => '1000') do + xml.result('code' => @response_code) do xml.msg 'Command completed successfully' end From 23e8c907162732aefe4955afe0a73bcf846117a3 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Fri, 9 Dec 2016 07:34:16 +0200 Subject: [PATCH 57/76] Do not require address in EPP api #251 --- lib/schemas/contact-ee-1.1.xsd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/schemas/contact-ee-1.1.xsd b/lib/schemas/contact-ee-1.1.xsd index 2ecda8304..a2f1b2886 100644 --- a/lib/schemas/contact-ee-1.1.xsd +++ b/lib/schemas/contact-ee-1.1.xsd @@ -96,7 +96,7 @@ - + From 5af4c585d47c96bb00aed84bf18fe7b310598a2e Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Mon, 12 Dec 2016 04:21:35 +0200 Subject: [PATCH 58/76] Remove unused Contact#generate_new_code! #251 --- app/models/contact.rb | 7 ------- 1 file changed, 7 deletions(-) diff --git a/app/models/contact.rb b/app/models/contact.rb index 4899399f1..72c7a318f 100644 --- a/app/models/contact.rb +++ b/app/models/contact.rb @@ -384,13 +384,6 @@ class Contact < ActiveRecord::Base end # rubocop:enable Metrics/CyclomaticComplexity - # used only for contact transfer - def generate_new_code! - return nil if registrar.blank? - registrar.reload # for contact transfer - self[:code] = "#{registrar.code}:#{SecureRandom.hex(4)}".upcase - end - def country Country.new(country_code) end From 5e1c43f7cc0baf48b8cdf4ac8d5b792c916d3709 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Mon, 12 Dec 2016 04:36:28 +0200 Subject: [PATCH 59/76] Rename Contact::address_processing to address_processing? #251 --- app/api/repp/contact_v1.rb | 2 +- app/controllers/epp/contacts_controller.rb | 2 +- app/models/contact.rb | 2 +- spec/api/repp/contact_v1_spec.rb | 4 ++-- spec/models/contact_spec.rb | 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/api/repp/contact_v1.rb b/app/api/repp/contact_v1.rb index 6aa934609..ea7bfdc43 100644 --- a/app/api/repp/contact_v1.rb +++ b/app/api/repp/contact_v1.rb @@ -17,7 +17,7 @@ module Repp if params[:details] == 'true' contacts = current_user.registrar.contacts.limit(limit).offset(offset) - unless Contact.address_processing + unless Contact.address_processing? attributes = Contact.attribute_names - Contact.address_attribute_names contacts = contacts.select(attributes) end diff --git a/app/controllers/epp/contacts_controller.rb b/app/controllers/epp/contacts_controller.rb index e719d8180..da840ade6 100644 --- a/app/controllers/epp/contacts_controller.rb +++ b/app/controllers/epp/contacts_controller.rb @@ -22,7 +22,7 @@ class Epp::ContactsController < EppController @contact.add_legal_file_to_new(frame) - @response_code = if Contact.address_processing + @response_code = if Contact.address_processing? 1000 else frame.css('postalInfo addr').size != 0 ? 1100 : 1000 diff --git a/app/models/contact.rb b/app/models/contact.rb index 72c7a318f..ee9410e98 100644 --- a/app/models/contact.rb +++ b/app/models/contact.rb @@ -258,7 +258,7 @@ class Contact < ActiveRecord::Base pluck(:email) end - def address_processing + def address_processing? Setting.address_processing end diff --git a/spec/api/repp/contact_v1_spec.rb b/spec/api/repp/contact_v1_spec.rb index 59d39cc60..455b7bd91 100644 --- a/spec/api/repp/contact_v1_spec.rb +++ b/spec/api/repp/contact_v1_spec.rb @@ -23,7 +23,7 @@ RSpec.describe Repp::ContactV1, db: true do context 'when address processing is enabled' do before do - expect(Contact).to receive(:address_processing).and_return(true) + expect(Contact).to receive(:address_processing?).and_return(true) get '/repp/v1/contacts', { limit: 1, details: true }, { 'HTTP_AUTHORIZATION' => http_auth_key } end @@ -34,7 +34,7 @@ RSpec.describe Repp::ContactV1, db: true do context 'when address processing is disabled' do before do - expect(Contact).to receive(:address_processing).and_return(false) + expect(Contact).to receive(:address_processing?).and_return(false) get '/repp/v1/contacts', { limit: 1, details: true }, { 'HTTP_AUTHORIZATION' => http_auth_key } end diff --git a/spec/models/contact_spec.rb b/spec/models/contact_spec.rb index 2f3d7efe3..fa8524f78 100644 --- a/spec/models/contact_spec.rb +++ b/spec/models/contact_spec.rb @@ -384,13 +384,13 @@ RSpec.describe Contact, db: false do end end - describe '::address_processing' do + describe '::address_processing?' do before do Setting.address_processing = 'test' end it 'returns setting value' do - expect(described_class.address_processing).to eq('test') + expect(described_class.address_processing?).to eq('test') end end From cefd310cc02b6f73b561b030dcfd21f01b94e730 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Mon, 12 Dec 2016 04:48:31 +0200 Subject: [PATCH 60/76] Make street, city, zip and country optional if address processing is disabled #251 --- app/models/contact.rb | 4 ++-- spec/models/contact_spec.rb | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/app/models/contact.rb b/app/models/contact.rb index ee9410e98..6530cb8bb 100644 --- a/app/models/contact.rb +++ b/app/models/contact.rb @@ -18,8 +18,8 @@ class Contact < ActiveRecord::Base accepts_nested_attributes_for :legal_documents - validates :name, :phone, :email, :ident, :ident_type, - :street, :city, :zip, :country_code, :registrar, presence: true + validates :name, :phone, :email, :ident, :ident_type, :registrar, presence: true + validates :street, :city, :zip, :country_code, presence: true, if: 'self.class.address_processing?' # Phone nr validation is very minimam in order to support legacy requirements validates :phone, format: /\+[0-9]{1,3}\.[0-9]{1,14}?/ diff --git a/spec/models/contact_spec.rb b/spec/models/contact_spec.rb index fa8524f78..e1c88cd53 100644 --- a/spec/models/contact_spec.rb +++ b/spec/models/contact_spec.rb @@ -406,4 +406,39 @@ RSpec.describe Contact, db: false do expect(described_class.address_attribute_names).to eq(attributes) end end + + describe 'address validation', db: false do + let(:contact) { described_class.new } + subject(:errors) { contact.errors } + + required_attributes = %i(street city zip country_code) + + context 'when address processing is enabled' do + before do + allow(described_class).to receive(:address_processing?).and_return(true) + end + + required_attributes.each do |attr_name| + it "rejects absent #{attr_name}" do + contact.send("#{attr_name}=", nil) + contact.validate + expect(errors).to have_key(attr_name) + end + end + end + + context 'when address processing is disabled' do + before do + allow(described_class).to receive(:address_processing?).and_return(false) + end + + required_attributes.each do |attr_name| + it "accepts absent #{attr_name}" do + contact.send("#{attr_name}=", nil) + contact.validate + expect(errors).to_not have_key(attr_name) + end + end + end + end end From 183c2bb82c6e491bc9cf8d5736989188b673ced5 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Mon, 12 Dec 2016 06:27:01 +0200 Subject: [PATCH 61/76] Generate contact code manually Generate contact's code explicitly on contact:create epp request and domain transfer. Remove callback. --- app/controllers/epp/contacts_controller.rb | 13 +++++++------ app/models/contact.rb | 3 +-- app/models/epp/domain.rb | 2 +- spec/models/contact_spec.rb | 21 +++++++++------------ 4 files changed, 18 insertions(+), 21 deletions(-) diff --git a/app/controllers/epp/contacts_controller.rb b/app/controllers/epp/contacts_controller.rb index da840ade6..800237ec7 100644 --- a/app/controllers/epp/contacts_controller.rb +++ b/app/controllers/epp/contacts_controller.rb @@ -21,14 +21,15 @@ class Epp::ContactsController < EppController @contact = Epp::Contact.new(frame, current_user.registrar) @contact.add_legal_file_to_new(frame) - - @response_code = if Contact.address_processing? - 1000 - else - frame.css('postalInfo addr').size != 0 ? 1100 : 1000 - end + @contact.generate_code if @contact.save + @response_code = if Contact.address_processing? + 1000 + else + frame.css('postalInfo addr').size != 0 ? 1100 : 1000 + end + render_epp_response '/epp/contacts/create' else handle_errors(@contact) diff --git a/app/models/contact.rb b/app/models/contact.rb index 6530cb8bb..494f6c4a4 100644 --- a/app/models/contact.rb +++ b/app/models/contact.rb @@ -45,7 +45,6 @@ class Contact < ActiveRecord::Base end before_validation :to_upcase_country_code - before_validation :prefix_code before_validation :strip_email before_create :generate_auth_info @@ -366,7 +365,7 @@ class Contact < ActiveRecord::Base end # rubocop:disable Metrics/CyclomaticComplexity - def prefix_code + def generate_code return nil unless new_record? return nil if registrar.blank? code = self[:code] diff --git a/app/models/epp/domain.rb b/app/models/epp/domain.rb index 55590e70f..76d6eb7b6 100644 --- a/app/models/epp/domain.rb +++ b/app/models/epp/domain.rb @@ -646,7 +646,7 @@ class Epp::Domain < Domain oc.code = nil oc.registrar_id = registrar_id oc.copy_from_id = c.id - oc.prefix_code + oc.generate_code oc.domain_transfer = true oc.save!(validate: false) oc diff --git a/spec/models/contact_spec.rb b/spec/models/contact_spec.rb index e1c88cd53..e35a07e63 100644 --- a/spec/models/contact_spec.rb +++ b/spec/models/contact_spec.rb @@ -164,7 +164,10 @@ RSpec.describe Contact do it 'should have code' do registrar = Fabricate.create(:registrar, code: 'registrarcode') - contact = Fabricate.create(:contact, registrar: registrar, code: 'contactcode') + + contact = Fabricate.build(:contact, registrar: registrar, code: 'contactcode') + contact.generate_code + contact.save! expect(contact.code).to eq('REGISTRARCODE:CONTACTCODE') end @@ -252,16 +255,6 @@ RSpec.describe Contact do end context 'after create' do - it 'should not generate a new code when code is present' do - @contact = Fabricate.build(:contact, - registrar: Fabricate(:registrar, code: 'FIXED'), - code: 'FIXED:new-code', - auth_info: 'qwe321') - @contact.code.should == 'FIXED:new-code' # still new record - @contact.save.should == true - @contact.code.should == 'FIXED:NEW-CODE' - end - it 'should not allow to use same code' do registrar = Fabricate.create(:registrar, code: 'FIXED') @@ -299,12 +292,15 @@ RSpec.describe Contact do end it 'should generate code if empty code is given' do - @contact = Fabricate(:contact, code: '') + @contact = Fabricate.build(:contact, code: '') + @contact.generate_code + @contact.save! @contact.code.should_not == '' end it 'should not ignore empty spaces as code and generate new one' do @contact = Fabricate.build(:contact, code: ' ', registrar: Fabricate(:registrar, code: 'FIXED')) + @contact.generate_code @contact.valid?.should == true @contact.code.should =~ /FIXED:..../ end @@ -316,6 +312,7 @@ RSpec.describe Contact do registrar: Fabricate(:registrar, code: 'FIXED'), code: '123asd', auth_info: 'qwe321') + @contact.generate_code @contact.save @contact.code.should == 'FIXED:123ASD' @auth_info = @contact.auth_info From c7581abe21429ca6deaeb7d74e60ceb290169d2c Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Tue, 13 Dec 2016 08:05:02 +0200 Subject: [PATCH 62/76] Revert contact-ee-1.1.xsd #251 --- lib/schemas/contact-ee-1.1.xsd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/schemas/contact-ee-1.1.xsd b/lib/schemas/contact-ee-1.1.xsd index a2f1b2886..7fcb85bbc 100644 --- a/lib/schemas/contact-ee-1.1.xsd +++ b/lib/schemas/contact-ee-1.1.xsd @@ -80,7 +80,7 @@ + maxOccurs="2"/> Date: Tue, 13 Dec 2016 08:05:58 +0200 Subject: [PATCH 63/76] Fix request session helpers #251 --- spec/support/requests/session_helpers.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/support/requests/session_helpers.rb b/spec/support/requests/session_helpers.rb index da2d23e1c..04fbb706b 100644 --- a/spec/support/requests/session_helpers.rb +++ b/spec/support/requests/session_helpers.rb @@ -1,6 +1,6 @@ module Requests module SessionHelpers - def sign_in_to_epp_area(user: FactoryGirl.create(:api_user)) + def sign_in_to_epp_area(user: FactoryGirl.create(:api_user_epp)) login_xml = " From a77a0ae558d5c8ebfe2b0e2c287b01533543c104 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Tue, 13 Dec 2016 08:12:53 +0200 Subject: [PATCH 64/76] Add api_user_epp factory #251 --- spec/factories/api_user.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/spec/factories/api_user.rb b/spec/factories/api_user.rb index d5a3c777d..723a966a5 100644 --- a/spec/factories/api_user.rb +++ b/spec/factories/api_user.rb @@ -4,5 +4,9 @@ FactoryGirl.define do password 'a' * 6 roles ['super'] registrar + + factory :api_user_epp do + roles %w(epp static_registrant) + end end end From d3b1a23e92bc1dc8ca80e9057a0fac47eab6b10a Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Wed, 14 Dec 2016 00:38:20 +0200 Subject: [PATCH 65/76] Take into account address_processing setting when creating and updating the contact via EPP #251 --- app/controllers/epp/contacts_controller.rb | 53 ++++++-- app/models/contact.rb | 11 +- app/models/epp/contact.rb | 15 ++- .../{create.xml.builder => save.xml.builder} | 2 +- app/views/epp/contacts/update.xml.builder | 16 --- config/locales/contacts.en.yml | 8 ++ config/locales/epp/contacts.en.yml | 5 + spec/models/contact_spec.rb | 10 ++ spec/requests/epp/contact/create_spec.rb | 123 +++++++++++++++++ spec/requests/epp/contact/update_spec.rb | 105 +++++++++++++++ spec/requests/epp/contacts_spec.rb | 127 ------------------ 11 files changed, 311 insertions(+), 164 deletions(-) rename app/views/epp/contacts/{create.xml.builder => save.xml.builder} (89%) delete mode 100644 app/views/epp/contacts/update.xml.builder create mode 100644 config/locales/contacts.en.yml create mode 100644 config/locales/epp/contacts.en.yml create mode 100644 spec/requests/epp/contact/create_spec.rb create mode 100644 spec/requests/epp/contact/update_spec.rb delete mode 100644 spec/requests/epp/contacts_spec.rb diff --git a/app/controllers/epp/contacts_controller.rb b/app/controllers/epp/contacts_controller.rb index 800237ec7..ae419bf19 100644 --- a/app/controllers/epp/contacts_controller.rb +++ b/app/controllers/epp/contacts_controller.rb @@ -24,13 +24,15 @@ class Epp::ContactsController < EppController @contact.generate_code if @contact.save - @response_code = if Contact.address_processing? - 1000 - else - frame.css('postalInfo addr').size != 0 ? 1100 : 1000 - end + if !Contact.address_processing? && address_given? + @response_code = 1100 + @response_description = t('epp.contacts.completed_without_address') + else + @response_code = 1000 + @response_description = t('epp.contacts.completed') + end - render_epp_response '/epp/contacts/create' + render_epp_response '/epp/contacts/save' else handle_errors(@contact) end @@ -39,8 +41,18 @@ class Epp::ContactsController < EppController def update authorize! :update, @contact, @password - if @contact.update_attributes(params[:parsed_frame], current_user) - render_epp_response 'epp/contacts/update' + frame = params[:parsed_frame] + + if @contact.update_attributes(frame, current_user) + if !Contact.address_processing? && address_given? + @response_code = 1100 + @response_description = t('epp.contacts.completed_without_address') + else + @response_code = 1000 + @response_description = t('epp.contacts.completed') + end + + render_epp_response 'epp/contacts/save' else handle_errors(@contact) end @@ -99,10 +111,23 @@ class Epp::ContactsController < EppController def validate_create @prefix = 'create > create >' - requires( - 'postalInfo > name', 'postalInfo > addr > street', 'postalInfo > addr > city', - 'postalInfo > addr > pc', 'postalInfo > addr > cc', 'voice', 'email' - ) + + required_attributes = [ + 'postalInfo > name', + 'voice', + 'email' + ] + + address_attributes = [ + 'postalInfo > addr > street', + 'postalInfo > addr > city', + 'postalInfo > addr > pc', + 'postalInfo > addr > cc', + ] + + required_attributes.concat(address_attributes) if Contact.address_processing? + + requires(*required_attributes) ident = params[:parsed_frame].css('ident') if ident.present? && ident.attr('type').blank? @@ -173,4 +198,8 @@ class Epp::ContactsController < EppController msg: "#{I18n.t(:client_side_status_editing_error)}: status [status]" } end + + def address_given? + params[:parsed_frame].css('postalInfo addr').size != 0 + end end diff --git a/app/models/contact.rb b/app/models/contact.rb index 494f6c4a4..9f0a78f8d 100644 --- a/app/models/contact.rb +++ b/app/models/contact.rb @@ -37,7 +37,8 @@ class Contact < ActiveRecord::Base validate :val_ident_type validate :val_ident_valid_format? validate :validate_html - validate :val_country_code + validate :validate_country_code + validate :validate_ident_country_code after_initialize do self.status_notes = {} if status_notes.nil? @@ -417,9 +418,13 @@ class Contact < ActiveRecord::Base self.country_code = country_code.upcase if country_code end - def val_country_code + def validate_country_code + return unless country_code + errors.add(:country_code, :invalid) unless Country.new(country_code) + end + + def validate_ident_country_code errors.add(:ident, :invalid_country_code) unless Country.new(ident_country_code) - errors.add(:ident, :invalid_country_code) unless Country.new(country_code) end def related_domain_descriptions diff --git a/app/models/epp/contact.rb b/app/models/epp/contact.rb index bddee18ab..53ebb2ee8 100644 --- a/app/models/epp/contact.rb +++ b/app/models/epp/contact.rb @@ -30,11 +30,15 @@ class Epp::Contact < Contact at[:email] = f.css('email').text if f.css('email').present? at[:fax] = f.css('fax').text if f.css('fax').present? at[:phone] = f.css('voice').text if f.css('voice').present? - at[:city] = f.css('postalInfo addr city').text if f.css('postalInfo addr city').present? - at[:zip] = f.css('postalInfo addr pc').text if f.css('postalInfo addr pc').present? - at[:street] = f.css('postalInfo addr street').text if f.css('postalInfo addr street').present? - at[:state] = f.css('postalInfo addr sp').text if f.css('postalInfo addr sp').present? - at[:country_code] = f.css('postalInfo addr cc').text if f.css('postalInfo addr cc').present? + + if address_processing? + at[:city] = f.css('postalInfo addr city').text if f.css('postalInfo addr city').present? + at[:zip] = f.css('postalInfo addr pc').text if f.css('postalInfo addr pc').present? + at[:street] = f.css('postalInfo addr street').text if f.css('postalInfo addr street').present? + at[:state] = f.css('postalInfo addr sp').text if f.css('postalInfo addr sp').present? + at[:country_code] = f.css('postalInfo addr cc').text if f.css('postalInfo addr cc').present? + end + at[:auth_info] = f.css('authInfo pw').text if f.css('authInfo pw').present? @@ -125,6 +129,7 @@ class Epp::Contact < Contact [:ident, :invalid_EE_identity_format_update], [:ident, :invalid_birthday_format], [:ident, :invalid_country_code], + [:country_code, :invalid], [:ident_type, :missing], [:code, :invalid], [:code, :too_long_contact_code] diff --git a/app/views/epp/contacts/create.xml.builder b/app/views/epp/contacts/save.xml.builder similarity index 89% rename from app/views/epp/contacts/create.xml.builder rename to app/views/epp/contacts/save.xml.builder index 7d628f31b..5e8a6cd37 100644 --- a/app/views/epp/contacts/create.xml.builder +++ b/app/views/epp/contacts/save.xml.builder @@ -1,7 +1,7 @@ xml.epp_head do xml.response do xml.result('code' => @response_code) do - xml.msg 'Command completed successfully' + xml.msg @response_description end xml.resData do diff --git a/app/views/epp/contacts/update.xml.builder b/app/views/epp/contacts/update.xml.builder deleted file mode 100644 index 649198e00..000000000 --- a/app/views/epp/contacts/update.xml.builder +++ /dev/null @@ -1,16 +0,0 @@ -xml.epp_head do - xml.response do - xml.result('code' => '1000') do - xml.msg 'Command completed successfully' - end - - xml.resData do - xml.tag!('contact:creData', 'xmlns:contact' => 'https://epp.tld.ee/schema/contact-ee-1.1.xsd') do - xml.tag!('contact:id', @contact.code) - xml.tag!('contact:crDate', @contact.created_at.try(:iso8601)) - end - end - - render('epp/shared/trID', builder: xml) - end -end diff --git a/config/locales/contacts.en.yml b/config/locales/contacts.en.yml new file mode 100644 index 000000000..7936bd4b6 --- /dev/null +++ b/config/locales/contacts.en.yml @@ -0,0 +1,8 @@ +en: + activerecord: + errors: + models: + contact: + attributes: + country_code: + invalid: Country code is not valid, should be in ISO_3166-1 alpha 2 format diff --git a/config/locales/epp/contacts.en.yml b/config/locales/epp/contacts.en.yml new file mode 100644 index 000000000..a669310ab --- /dev/null +++ b/config/locales/epp/contacts.en.yml @@ -0,0 +1,5 @@ +en: + epp: + contacts: + completed: Command completed successfully + completed_without_address: Command completed successfully; Postal address data discarded diff --git a/spec/models/contact_spec.rb b/spec/models/contact_spec.rb index e35a07e63..5dd16b14a 100644 --- a/spec/models/contact_spec.rb +++ b/spec/models/contact_spec.rb @@ -438,4 +438,14 @@ RSpec.describe Contact, db: false do end end end + + describe 'country code validation' do + let(:contact) { described_class.new(country_code: 'test') } + + it 'rejects invalid' do + contact.country_code = 'invalid' + contact.validate + expect(contact.errors).to have_key(:country_code) + end + end end diff --git a/spec/requests/epp/contact/create_spec.rb b/spec/requests/epp/contact/create_spec.rb new file mode 100644 index 000000000..9f5f2a16b --- /dev/null +++ b/spec/requests/epp/contact/create_spec.rb @@ -0,0 +1,123 @@ +require 'rails_helper' + +RSpec.describe 'EPP contact:create' do + let(:request_xml_with_address) { ' + + + + + + test name + + test street + test city + 12345 + US + + + +372.1234567 + test@example.com + + + + + 1234567 + dGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCg + + + + ABC-12345 + + ' + } + subject(:response_xml) { Nokogiri::XML(response.body) } + subject(:response_code) { response_xml.xpath('//xmlns:result').first['code'] } + subject(:response_description) { response_xml.css('result msg').text } + subject(:address_saved) { Contact.last.attributes.slice(*Contact.address_attribute_names).compact.any? } + + before do + sign_in_to_epp_area + end + + context 'when address processing is enabled' do + before do + allow(Contact).to receive(:address_processing?).and_return(true) + end + + context 'with address' do + it 'returns epp code of 1000' do + post '/epp/command/create', frame: request_xml_with_address + expect(response_code).to eq('1000') + end + + it 'returns epp description' do + post '/epp/command/create', frame: request_xml_with_address + expect(response_description).to eq('Command completed successfully') + end + + it 'saves address' do + post '/epp/command/create', frame: request_xml_with_address + expect(address_saved).to be_truthy + end + end + end + + context 'when address processing is disabled' do + before do + allow(Contact).to receive(:address_processing?).and_return(false) + end + + context 'with address' do + it 'returns epp code of 1100' do + post '/epp/command/create', frame: request_xml_with_address + expect(response_code).to eq('1100') + end + + it 'returns epp description' do + post '/epp/command/create', frame: request_xml_with_address + expect(response_description).to eq('Command completed successfully; Postal address data discarded') + end + + it 'does not save address' do + post '/epp/command/create', frame: request_xml_with_address + expect(address_saved).to be_falsey + end + end + + context 'without address' do + let(:request_xml_without_address) { ' + + + + + + test name + + +372.1234567 + test@test.com + + + + + 123456 + dGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCg + + + + ABC-12345 + + ' + } + + it 'returns epp code of 1000' do + post '/epp/command/create', frame: request_xml_without_address + expect(response_code).to eq('1000') + end + + it 'returns epp description' do + post '/epp/command/create', frame: request_xml_without_address + expect(response_description).to eq('Command completed successfully') + end + end + end +end diff --git a/spec/requests/epp/contact/update_spec.rb b/spec/requests/epp/contact/update_spec.rb new file mode 100644 index 000000000..0abb1ee37 --- /dev/null +++ b/spec/requests/epp/contact/update_spec.rb @@ -0,0 +1,105 @@ +require 'rails_helper' + +RSpec.describe 'EPP contact:update' do + let(:request_xml_with_address) { ' + + + + + test + + + + test street + test city + 12345 + DE + + + + + + + + dGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCg + + + ABC-12345 + + ' + } + subject(:response_xml) { Nokogiri::XML(response.body) } + subject(:response_code) { response_xml.xpath('//xmlns:result').first['code'] } + subject(:response_description) { response_xml.css('result msg').text } + + before do + sign_in_to_epp_area + FactoryGirl.create(:contact, code: 'TEST') + end + + context 'when address processing is enabled' do + before do + allow(Contact).to receive(:address_processing?).and_return(true) + end + + context 'with address' do + it 'returns epp code of 1000' do + post '/epp/command/update', frame: request_xml_with_address + expect(response_code).to eq('1000') + end + + it 'returns epp description' do + post '/epp/command/update', frame: request_xml_with_address + expect(response_description).to eq('Command completed successfully') + end + end + end + + context 'when address processing is disabled' do + before do + allow(Contact).to receive(:address_processing?).and_return(false) + end + + context 'with address' do + it 'returns epp code of 1100' do + post '/epp/command/update', frame: request_xml_with_address + expect(response_code).to eq('1100') + end + + it 'returns epp description' do + post '/epp/command/update', frame: request_xml_with_address + expect(response_description).to eq('Command completed successfully; Postal address data discarded') + end + end + + context 'without address' do + let(:request_xml_without_address) { ' + + + + + test + + + + + dGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCg + + + ABC-12345 + + ' + } + + it 'returns epp code of 1000' do + post '/epp/command/update', frame: request_xml_without_address + expect(response_code).to eq('1000') + end + + it 'returns epp description' do + post '/epp/command/update', frame: request_xml_without_address + expect(response_description).to eq('Command completed successfully') + end + end + end +end diff --git a/spec/requests/epp/contacts_spec.rb b/spec/requests/epp/contacts_spec.rb deleted file mode 100644 index c485c077b..000000000 --- a/spec/requests/epp/contacts_spec.rb +++ /dev/null @@ -1,127 +0,0 @@ -require 'rails_helper' - -RSpec.describe 'EPP contact' do - let(:response_xml) { Nokogiri::XML(response.body) } - let(:response_code) { response_xml.xpath('//xmlns:result').first['code'] } - - before do - sign_in_to_epp_area - end - - describe 'create' do - context 'when address processing is enabled' do - let(:request_xml) { ' - - - - - - Max Mustermann - - 123 Example - Tallinn - 123456 - EE - - - +372.56560131 - max.mustermenn@example.de - - - - - 38609220227 - dGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCg - - - - ABC-12345 - - ' - } - - before do - allow(Contact).to receive(:address_processing).and_return(true) - end - - it 'returns code of 1000' do - post '/epp/command/create', frame: request_xml - expect(response_code).to eq('1000') - end - end - - context 'when address processing is disabled' do - before do - expect(Contact).to receive(:address_processing).and_return(false) - end - - context 'when address is present' do - let(:request_xml) { ' - - - - - - Max Mustermann - - 123 Example - Tallinn - 123456 - EE - - - +372.56560131 - max.mustermenn@example.de - - - - - 38609220227 - dGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCg - - - - ABC-12345 - - ' - } - - it 'returns code of 1100' do - post '/epp/command/create', frame: request_xml - expect(response_code).to eq('1100') - end - end - - context 'when address is absent' do - let(:request_xml) { ' - - - - - - Max Mustermann - - +372.56560131 - max.mustermenn@example.de - - - - - 38609220227 - dGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCgdGVzdCBmYWlsCg - - - - ABC-12345 - - ' - } - - it 'returns code of 1000' do - post '/epp/command/create', frame: request_xml - expect(response_code).to eq('1000') - end - end - end - end -end From a63e2b9dd281fb50217769ad296688a0af8e998c Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Wed, 14 Dec 2016 04:16:04 +0200 Subject: [PATCH 66/76] Take into account address_processing setting in EPP contact:info #251 --- app/controllers/epp/contacts_controller.rb | 11 +++-- app/views/epp/contacts/info.xml.builder | 34 ++++++++----- spec/requests/epp/contact/info_spec.rb | 57 ++++++++++++++++++++++ 3 files changed, 86 insertions(+), 16 deletions(-) create mode 100644 spec/requests/epp/contact/info_spec.rb diff --git a/app/controllers/epp/contacts_controller.rb b/app/controllers/epp/contacts_controller.rb index ae419bf19..7f28961f6 100644 --- a/app/controllers/epp/contacts_controller.rb +++ b/app/controllers/epp/contacts_controller.rb @@ -1,6 +1,7 @@ class Epp::ContactsController < EppController before_action :find_contact, only: [:info, :update, :delete] before_action :find_password, only: [:info, :update, :delete] + helper_method :address_processing? def info authorize! :info, @contact, @password @@ -24,7 +25,7 @@ class Epp::ContactsController < EppController @contact.generate_code if @contact.save - if !Contact.address_processing? && address_given? + if !address_processing? && address_given? @response_code = 1100 @response_description = t('epp.contacts.completed_without_address') else @@ -44,7 +45,7 @@ class Epp::ContactsController < EppController frame = params[:parsed_frame] if @contact.update_attributes(frame, current_user) - if !Contact.address_processing? && address_given? + if !address_processing? && address_given? @response_code = 1100 @response_description = t('epp.contacts.completed_without_address') else @@ -125,7 +126,7 @@ class Epp::ContactsController < EppController 'postalInfo > addr > cc', ] - required_attributes.concat(address_attributes) if Contact.address_processing? + required_attributes.concat(address_attributes) if address_processing? requires(*required_attributes) ident = params[:parsed_frame].css('ident') @@ -202,4 +203,8 @@ class Epp::ContactsController < EppController def address_given? params[:parsed_frame].css('postalInfo addr').size != 0 end + + def address_processing? + Contact.address_processing? + end end diff --git a/app/views/epp/contacts/info.xml.builder b/app/views/epp/contacts/info.xml.builder index fe851a6d9..068622203 100644 --- a/app/views/epp/contacts/info.xml.builder +++ b/app/views/epp/contacts/info.xml.builder @@ -5,7 +5,7 @@ xml.epp_head do end xml.resData do - xml.tag!('contact:infData', 'xmlns:contact' => 'https://epp.tld.ee/schema/contact-eis-1.0.xsd') do + xml.tag!('contact:infData', 'xmlns:contact' => 'https://epp.tld.ee/schema/contact-ee-1.1.xsd') do xml.tag!('contact:id', @contact.code) xml.tag!('contact:roid', @contact.roid) @@ -17,22 +17,30 @@ xml.epp_head do xml.tag!('contact:name', @contact.name) if can? :view_full_info, @contact, @password xml.tag!('contact:org', @contact.org_name) if @contact.org_name.present? - xml.tag!('contact:addr') do - xml.tag!('contact:street', @contact.street) - xml.tag!('contact:city', @contact.city) - xml.tag!('contact:sp', @contact.state) - xml.tag!('contact:pc', @contact.zip) - xml.tag!('contact:cc', @contact.country_code) + + if address_processing? + xml.tag!('contact:addr') do + xml.tag!('contact:street', @contact.street) + xml.tag!('contact:city', @contact.city) + xml.tag!('contact:sp', @contact.state) + xml.tag!('contact:pc', @contact.zip) + xml.tag!('contact:cc', @contact.country_code) + end end + else xml.tag!('contact:org', 'No access') - xml.tag!('contact:addr') do - xml.tag!('contact:street', 'No access') - xml.tag!('contact:city', 'No access') - xml.tag!('contact:sp', 'No access') - xml.tag!('contact:pc', 'No access') - xml.tag!('contact:cc', 'No access') + + if address_processing? + xml.tag!('contact:addr') do + xml.tag!('contact:street', 'No access') + xml.tag!('contact:city', 'No access') + xml.tag!('contact:sp', 'No access') + xml.tag!('contact:pc', 'No access') + xml.tag!('contact:cc', 'No access') + end end + end end diff --git a/spec/requests/epp/contact/info_spec.rb b/spec/requests/epp/contact/info_spec.rb new file mode 100644 index 000000000..63fd75b32 --- /dev/null +++ b/spec/requests/epp/contact/info_spec.rb @@ -0,0 +1,57 @@ +require 'rails_helper' + +RSpec.describe 'EPP contact:update' do + let(:request_xml) { ' + + + + + test + + + + ' + } + subject(:response_xml) { Nokogiri::XML(response.body) } + subject(:response_code) { response_xml.xpath('//xmlns:result').first['code'] } + subject(:address_count) { response_xml + .xpath('//contact:addr', contact: 'https://epp.tld.ee/schema/contact-ee-1.1.xsd') + .count } + + before do + sign_in_to_epp_area + FactoryGirl.create(:contact, code: 'TEST') + end + + context 'when address processing is enabled' do + before do + allow(Contact).to receive(:address_processing?).and_return(true) + end + + it 'returns epp code of 1000' do + post '/epp/command/info', frame: request_xml + expect(response_code).to eq('1000') + end + + it 'returns address' do + post '/epp/command/info', frame: request_xml + expect(address_count).to_not be_zero + end + end + + context 'when address processing is disabled' do + before do + allow(Contact).to receive(:address_processing?).and_return(false) + end + + it 'returns epp code of 1000' do + post '/epp/command/info', frame: request_xml + expect(response_code).to eq('1000') + end + + it 'does not return address' do + post '/epp/command/info', frame: request_xml + expect(address_count).to be_zero + end + end +end From 68c3f0c338b933655b8375c544619ff0fc25b309 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Wed, 14 Dec 2016 05:49:13 +0200 Subject: [PATCH 67/76] Remove contact's address on domain transfer unless address_processing is enabled #251 --- app/models/contact.rb | 5 +++++ app/models/epp/domain.rb | 1 + spec/models/contact_spec.rb | 15 +++++++++++++++ 3 files changed, 21 insertions(+) diff --git a/app/models/contact.rb b/app/models/contact.rb index 9f0a78f8d..b50428bb1 100644 --- a/app/models/contact.rb +++ b/app/models/contact.rb @@ -578,4 +578,9 @@ class Contact < ActiveRecord::Base log end + def remove_address + self.class.address_attribute_names.each do |attr_name| + self[attr_name.to_sym] = nil + end + end end diff --git a/app/models/epp/domain.rb b/app/models/epp/domain.rb index 76d6eb7b6..f78d94c31 100644 --- a/app/models/epp/domain.rb +++ b/app/models/epp/domain.rb @@ -648,6 +648,7 @@ class Epp::Domain < Domain oc.copy_from_id = c.id oc.generate_code oc.domain_transfer = true + oc.remove_address unless Contact.address_processing? oc.save!(validate: false) oc end diff --git a/spec/models/contact_spec.rb b/spec/models/contact_spec.rb index 5dd16b14a..3952a1d0e 100644 --- a/spec/models/contact_spec.rb +++ b/spec/models/contact_spec.rb @@ -448,4 +448,19 @@ RSpec.describe Contact, db: false do expect(contact.errors).to have_key(:country_code) end end + + describe '#remove_address' do + let(:contact) { described_class.new(city: 'test', + street: 'test', + zip: 'test', + country_code: 'test', + state: 'test') + } + subject(:address_removed) { contact.attributes.slice(*described_class.address_attribute_names).compact.empty? } + + it 'removes address attributes' do + contact.remove_address + expect(address_removed).to be_truthy + end + end end From d5827f48eea9257b3e5add26631594ffc7294823 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Wed, 14 Dec 2016 05:49:31 +0200 Subject: [PATCH 68/76] Update EPP readme #251 --- doc/epp/README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/doc/epp/README.md b/doc/epp/README.md index 21d1b9708..99ffd07df 100644 --- a/doc/epp/README.md +++ b/doc/epp/README.md @@ -29,9 +29,12 @@ ### .ee-specific * [all-ee-1.0.xsd](/lib/schemas/all-ee-1.0.xsd) +* [all-ee-1.1.xsd](/lib/schemas/all-ee-1.1.xsd) +* [eis-1.0.xsd](/lib/schemas/eis-1.0.xsd) +* [epp-ee-1.0.xsd](/lib/schemas/epp-ee-1.0.xsd) * [domain-eis-1.0.xsd](/lib/schemas/domain-eis-1.0.xsd) * [contact-eis-1.0.xsd](/lib/schemas/contact-eis-1.0.xsd) -* [eis-1.0.xsd](/lib/schemas/eis-1.0.xsd) +* [contact-ee-1.1.xsd](/lib/schemas/contact-ee-1.1.xsd) More info about The Extensible Provisioning Protocol (EPP): http://en.wikipedia.org/wiki/Extensible_Provisioning_Protocol From 98b1125be5fbf7eb4ceb61c3236fecc29f05e788 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Wed, 14 Dec 2016 12:35:09 +0200 Subject: [PATCH 69/76] Use contact-ee-1.1.xsd instead of contact-eis-1.0.xsd #251 --- app/views/epp/contacts/check.xml.builder | 2 +- app/views/epp/sessions/greeting.xml.builder | 2 +- .../epp_requests/contact/check.xml | 2 +- .../epp_requests/contact/check_multiple.xml | 2 +- .../epp_requests/contact/delete.xml | 2 +- .../epp_requests/contact/info.xml | 2 +- doc/epp-examples.md | 220 +++++++++--------- doc/epp/contact.md | 6 +- spec/support/requests/session_helpers.rb | 2 +- 9 files changed, 120 insertions(+), 120 deletions(-) diff --git a/app/views/epp/contacts/check.xml.builder b/app/views/epp/contacts/check.xml.builder index 4d342fad4..e5ceee07a 100644 --- a/app/views/epp/contacts/check.xml.builder +++ b/app/views/epp/contacts/check.xml.builder @@ -5,7 +5,7 @@ xml.epp_head do end xml.resData do - xml.tag!('contact:chkData', 'xmlns:contact' => 'https://epp.tld.ee/schema/contact-eis-1.0.xsd') do + xml.tag!('contact:chkData', 'xmlns:contact' => 'https://epp.tld.ee/schema/contact-ee-1.1.xsd') do @results.each do |result| xml.tag!('contact:cd') do xml.tag! "contact:id", result[:code], avail: result[:avail] diff --git a/app/views/epp/sessions/greeting.xml.builder b/app/views/epp/sessions/greeting.xml.builder index 308de3c59..040ce7196 100644 --- a/app/views/epp/sessions/greeting.xml.builder +++ b/app/views/epp/sessions/greeting.xml.builder @@ -6,7 +6,7 @@ xml.epp_head do xml.version '1.0' xml.lang 'en' xml.objURI 'https://epp.tld.ee/schema/domain-eis-1.0.xsd' - xml.objURI 'https://epp.tld.ee/schema/contact-eis-1.0.xsd' + xml.objURI 'https://epp.tld.ee/schema/contact-ee-1.1.xsd' xml.objURI 'urn:ietf:params:xml:ns:host-1.0' xml.objURI 'urn:ietf:params:xml:ns:keyrelay-1.0' xml.svcExtension do diff --git a/app/views/registrar/xml_consoles/epp_requests/contact/check.xml b/app/views/registrar/xml_consoles/epp_requests/contact/check.xml index a0e02a3dc..59e52567f 100644 --- a/app/views/registrar/xml_consoles/epp_requests/contact/check.xml +++ b/app/views/registrar/xml_consoles/epp_requests/contact/check.xml @@ -3,7 +3,7 @@ + xmlns:contact="https://epp.tld.ee/schema/contact-ee-1.1.xsd"> sh8013 diff --git a/app/views/registrar/xml_consoles/epp_requests/contact/check_multiple.xml b/app/views/registrar/xml_consoles/epp_requests/contact/check_multiple.xml index 57f0ad279..13c6d5204 100644 --- a/app/views/registrar/xml_consoles/epp_requests/contact/check_multiple.xml +++ b/app/views/registrar/xml_consoles/epp_requests/contact/check_multiple.xml @@ -3,7 +3,7 @@ + xmlns:contact="https://epp.tld.ee/schema/contact-ee-1.1.xsd"> sh8013 sh13 vsdfvq diff --git a/app/views/registrar/xml_consoles/epp_requests/contact/delete.xml b/app/views/registrar/xml_consoles/epp_requests/contact/delete.xml index c7ff5d809..5feaf46d4 100644 --- a/app/views/registrar/xml_consoles/epp_requests/contact/delete.xml +++ b/app/views/registrar/xml_consoles/epp_requests/contact/delete.xml @@ -3,7 +3,7 @@ + xmlns:contact="https://epp.tld.ee/schema/contact-ee-1.1.xsd"> sh8013 wrong-one diff --git a/app/views/registrar/xml_consoles/epp_requests/contact/info.xml b/app/views/registrar/xml_consoles/epp_requests/contact/info.xml index 3a2f195a6..62668e5b3 100644 --- a/app/views/registrar/xml_consoles/epp_requests/contact/info.xml +++ b/app/views/registrar/xml_consoles/epp_requests/contact/info.xml @@ -2,7 +2,7 @@ - + sh8013 Aas34fq diff --git a/doc/epp-examples.md b/doc/epp-examples.md index 66931c5f8..ceaf4748e 100644 --- a/doc/epp-examples.md +++ b/doc/epp-examples.md @@ -20,7 +20,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -1564,7 +1564,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -1664,7 +1664,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -1712,7 +1712,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -1796,7 +1796,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -1971,7 +1971,7 @@ RESPONSE: - Element '{https://epp.tld.ee/schema/contact-eis-1.0.xsd}id': This element is not expected. + Element '{https://epp.tld.ee/schema/contact-ee-1.1.xsd}id': This element is not expected. ABC-12345 @@ -2445,7 +2445,7 @@ REQUEST: - + ABC-12345 @@ -2459,7 +2459,7 @@ RESPONSE: - Element '{https://epp.tld.ee/schema/contact-eis-1.0.xsd}delete': Missing child element(s). Expected is ( {https://epp.tld.ee/schema/contact-eis-1.0.xsd}id ). + Element '{https://epp.tld.ee/schema/contact-ee-1.1.xsd}delete': Missing child element(s). Expected is ( {https://epp.tld.ee/schema/contact-ee-1.1.xsd}id ). ABC-12345 @@ -2478,7 +2478,7 @@ REQUEST: - + not-exists password @@ -2525,7 +2525,7 @@ REQUEST: - + FIRST0:SH159792243 password @@ -2569,7 +2569,7 @@ REQUEST: - + FIRST0:SH281327764 wrong password @@ -2613,7 +2613,7 @@ REQUEST: - + FIRST0:SH671824275 @@ -2648,7 +2648,7 @@ REQUEST: - + FIRST0:SH584167436 password @@ -2700,7 +2700,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -2738,7 +2738,7 @@ REQUEST: - + FIRST0:SH184575429 password @@ -2788,7 +2788,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -2836,7 +2836,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -2874,7 +2874,7 @@ REQUEST: - + FIRST0:SH5548884710 @@ -2915,7 +2915,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -2963,7 +2963,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -3001,7 +3001,7 @@ REQUEST: - + FIRST0:SH2027223711 wrong password @@ -3051,7 +3051,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -3091,7 +3091,7 @@ REQUEST: - + ABC-12345 @@ -3105,7 +3105,7 @@ RESPONSE: - Element '{https://epp.tld.ee/schema/contact-eis-1.0.xsd}check': Missing child element(s). Expected is ( {https://epp.tld.ee/schema/contact-eis-1.0.xsd}id ). + Element '{https://epp.tld.ee/schema/contact-ee-1.1.xsd}check': Missing child element(s). Expected is ( {https://epp.tld.ee/schema/contact-ee-1.1.xsd}id ). ABC-12345 @@ -3124,7 +3124,7 @@ REQUEST: - + FIXED:CHECK-1234 check-4321 @@ -3144,7 +3144,7 @@ RESPONSE: Command completed successfully - + FIXED:CHECK-1234 in use @@ -3171,7 +3171,7 @@ REQUEST: - + FIXED:CHECK-LEGACY CID:FIXED:CHECK-LEGACY @@ -3191,7 +3191,7 @@ RESPONSE: Command completed successfully - + FIXED:CHECK-LEGACY in use @@ -3218,7 +3218,7 @@ REQUEST: - + ABC-12345 @@ -3232,7 +3232,7 @@ RESPONSE: - Element '{https://epp.tld.ee/schema/contact-eis-1.0.xsd}info': Missing child element(s). Expected is ( {https://epp.tld.ee/schema/contact-eis-1.0.xsd}id ). + Element '{https://epp.tld.ee/schema/contact-ee-1.1.xsd}info': Missing child element(s). Expected is ( {https://epp.tld.ee/schema/contact-ee-1.1.xsd}id ). ABC-12345 @@ -3251,7 +3251,7 @@ REQUEST: - + no-contact password @@ -3292,7 +3292,7 @@ REQUEST: - + FIXED:INFO-4444 password @@ -3314,7 +3314,7 @@ RESPONSE: Command completed successfully - + FIXED:INFO-4444 EIS-30 @@ -3360,7 +3360,7 @@ REQUEST: - + FIXED:CID:FIXED:INFO-5555 password @@ -3382,7 +3382,7 @@ RESPONSE: Command completed successfully - + FIXED:CID:FIXED:INFO-5555 EIS-31 @@ -3428,7 +3428,7 @@ REQUEST: - + FIRST0:INFO-IDENT password @@ -3450,7 +3450,7 @@ RESPONSE: Command completed successfully - + FIRST0:INFO-IDENT EIS-32 @@ -3496,7 +3496,7 @@ REQUEST: - + FIRST0:SH146764510 wrong-pw @@ -3518,7 +3518,7 @@ RESPONSE: Command completed successfully - + FIRST0:SH146764510 EIS-1 @@ -3564,7 +3564,7 @@ REQUEST: - + FIXED:TEST:CUSTOM:CODE password @@ -3586,7 +3586,7 @@ RESPONSE: Command completed successfully - + FIXED:TEST:CUSTOM:CODE EIS-33 @@ -3640,7 +3640,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -3678,7 +3678,7 @@ REQUEST: - + FIRST0:SH146764510 password @@ -3700,7 +3700,7 @@ RESPONSE: Command completed successfully - + FIRST0:SH146764510 EIS-1 @@ -3752,7 +3752,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -3800,7 +3800,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -3838,7 +3838,7 @@ REQUEST: - + FIRST0:SH146764510 wrong-pw @@ -3882,7 +3882,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -3930,7 +3930,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -3968,7 +3968,7 @@ REQUEST: - + FIRST0:SH146764510 @@ -3990,7 +3990,7 @@ RESPONSE: Command completed successfully - + FIRST0:SH146764510 EIS-1 @@ -4025,7 +4025,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -4071,7 +4071,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -6786,7 +6786,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -6884,7 +6884,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -7006,7 +7006,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -7104,7 +7104,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -7150,7 +7150,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -7237,7 +7237,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -7285,7 +7285,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -7378,7 +7378,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -7426,7 +7426,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -7519,7 +7519,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -7567,7 +7567,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -7660,7 +7660,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -7708,7 +7708,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -7801,7 +7801,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -7849,7 +7849,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -7942,7 +7942,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -7990,7 +7990,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -8083,7 +8083,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -8131,7 +8131,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -8224,7 +8224,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -8272,7 +8272,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -8365,7 +8365,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -8413,7 +8413,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -8492,7 +8492,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -8594,7 +8594,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -8681,7 +8681,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -8781,7 +8781,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -8868,7 +8868,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -9040,7 +9040,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -9179,7 +9179,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -9346,7 +9346,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -9432,7 +9432,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -11226,7 +11226,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -11307,7 +11307,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -11938,7 +11938,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -12018,7 +12018,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -12066,7 +12066,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -12171,7 +12171,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -12219,7 +12219,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -12330,7 +12330,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -12748,7 +12748,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -13087,7 +13087,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -13166,7 +13166,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -13241,7 +13241,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -13320,7 +13320,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -13398,7 +13398,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -13759,7 +13759,7 @@ RESPONSE: 1.0 en https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -13805,7 +13805,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -13853,7 +13853,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -13936,7 +13936,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -13982,7 +13982,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -14030,7 +14030,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -14078,7 +14078,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -14124,7 +14124,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -14172,7 +14172,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -14250,7 +14250,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -14299,7 +14299,7 @@ REQUEST: https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 diff --git a/doc/epp/contact.md b/doc/epp/contact.md index 12f6d6c7d..9721f876f 100644 --- a/doc/epp/contact.md +++ b/doc/epp/contact.md @@ -90,7 +90,7 @@ More info: https://en.wikipedia.org/wiki/Latin_script_in_Unicode Field name Min-max Field description ----------------------- ------- ----------------- 1 - 1 Attribute: xmlns:contact="https://epp.tld.ee/schema/contact-eis-1.0.xsd" + 1 Attribute: xmlns:contact="https://epp.tld.ee/schema/contact-ee-1.1.xsd" 1 Contact id 0-1 Required if registrar is not the owner of the contact. 1 Contact password. Attribute: roid="String" @@ -108,7 +108,7 @@ More info: https://en.wikipedia.org/wiki/Latin_script_in_Unicode Field name Min-max Field description ----------------------- ------- ----------------- 1 - 1 Attribute: xmlns:contact="https://epp.tld.ee/schema/contact-eis-1.0.xsd" + 1 Attribute: xmlns:contact="https://epp.tld.ee/schema/contact-ee-1.1.xsd" 1-n Contact id 0-1 Client transaction id @@ -120,7 +120,7 @@ More info: https://en.wikipedia.org/wiki/Latin_script_in_Unicode Field name Min-max Field description ----------------------- ------- ----------------- 1 - 1 Attribute: xmlns:contact="https://epp.tld.ee/schema/contact-eis-1.0.xsd" + 1 Attribute: xmlns:contact="https://epp.tld.ee/schema/contact-ee-1.1.xsd" 1-n Contact id 0-1 Required if registrar is not the owner of the contact. 1 Contact password. Attribute: roid="String" diff --git a/spec/support/requests/session_helpers.rb b/spec/support/requests/session_helpers.rb index c7750d719..04fbb706b 100644 --- a/spec/support/requests/session_helpers.rb +++ b/spec/support/requests/session_helpers.rb @@ -13,7 +13,7 @@ module Requests https://epp.tld.ee/schema/domain-eis-1.0.xsd - https://epp.tld.ee/schema/contact-eis-1.0.xsd + https://epp.tld.ee/schema/contact-ee-1.1.xsd urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 From 7c1e030f453a0bf2092bb066b5173b917fd4493e Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Thu, 15 Dec 2016 04:00:48 +0200 Subject: [PATCH 70/76] Replace schema namespace "urn:ietf:params:xml:ns:epp-1.0" with "epp.tld.ee/schema/epp-ee-1.0.xsd"; #251 --- app/views/epp/poll/poll_keyrelay.xml.builder | 2 +- .../epp_requests/contact/check.xml | 2 +- .../epp_requests/contact/check_multiple.xml | 2 +- .../epp_requests/contact/create.xml | 2 +- .../epp_requests/contact/delete.xml | 2 +- .../epp_requests/contact/info.xml | 2 +- .../epp_requests/contact/update_chg.xml | 2 +- .../epp_requests/domain/check.xml | 2 +- .../epp_requests/domain/create.xml | 2 +- .../epp_requests/domain/delete.xml | 2 +- .../xml_consoles/epp_requests/domain/info.xml | 2 +- .../epp_requests/domain/renew.xml | 2 +- .../epp_requests/domain/transfer.xml | 2 +- .../epp_requests/domain/update.xml | 2 +- .../epp_requests/keyrelay/keyrelay.xml | 2 +- .../xml_consoles/epp_requests/poll/poll.xml | 2 +- doc/epp-examples.md | 1154 ++++++++--------- doc/epp/session.md | 2 +- lib/ext/xml_builder.rb | 4 +- lib/schemas/all-ee-1.0.xsd | 2 +- lib/schemas/all-ee-1.1.xsd | 2 +- lib/schemas/contact-1.0.xsd | 6 +- lib/schemas/contact-ee-1.1.xsd | 4 +- lib/schemas/contact-eis-1.0.xsd | 4 +- lib/schemas/domain-1.0.xsd | 6 +- lib/schemas/domain-eis-1.0.xsd | 4 +- lib/schemas/epp-ee-1.0.xsd | 4 +- lib/schemas/host-1.0.xsd | 6 +- lib/schemas/keyrelay-1.0.xsd | 4 +- spec/requests/epp/contact/create_spec.rb | 4 +- spec/requests/epp/contact/info_spec.rb | 2 +- spec/requests/epp/contact/update_spec.rb | 4 +- spec/support/requests/session_helpers.rb | 2 +- 33 files changed, 623 insertions(+), 623 deletions(-) diff --git a/app/views/epp/poll/poll_keyrelay.xml.builder b/app/views/epp/poll/poll_keyrelay.xml.builder index a2fed7915..7c2ca6c5a 100644 --- a/app/views/epp/poll/poll_keyrelay.xml.builder +++ b/app/views/epp/poll/poll_keyrelay.xml.builder @@ -1,6 +1,6 @@ xml.instruct!(:xml, standalone: 'no') xml.epp( - 'xmlns' => 'urn:ietf:params:xml:ns:epp-1.0', + 'xmlns' => 'https://epp.tld.ee/schema/epp-ee-1.0.xsd', 'xmlns:secDNS' => 'urn:ietf:params:xml:ns:secDNS-1.1', 'xmlns:domain' => 'https://epp.tld.ee/schema/domain-eis-1.0.xsd', 'xmlns:keyrelay' => 'urn:ietf:params:xml:ns:keyrelay-1.0' diff --git a/app/views/registrar/xml_consoles/epp_requests/contact/check.xml b/app/views/registrar/xml_consoles/epp_requests/contact/check.xml index 59e52567f..97e049e0b 100644 --- a/app/views/registrar/xml_consoles/epp_requests/contact/check.xml +++ b/app/views/registrar/xml_consoles/epp_requests/contact/check.xml @@ -1,5 +1,5 @@ - + - + - + diff --git a/app/views/registrar/xml_consoles/epp_requests/contact/delete.xml b/app/views/registrar/xml_consoles/epp_requests/contact/delete.xml index 5feaf46d4..a86c4ac0c 100644 --- a/app/views/registrar/xml_consoles/epp_requests/contact/delete.xml +++ b/app/views/registrar/xml_consoles/epp_requests/contact/delete.xml @@ -1,5 +1,5 @@ - + - + diff --git a/app/views/registrar/xml_consoles/epp_requests/contact/update_chg.xml b/app/views/registrar/xml_consoles/epp_requests/contact/update_chg.xml index ec0beb825..62cc103db 100644 --- a/app/views/registrar/xml_consoles/epp_requests/contact/update_chg.xml +++ b/app/views/registrar/xml_consoles/epp_requests/contact/update_chg.xml @@ -1,5 +1,5 @@ - + diff --git a/app/views/registrar/xml_consoles/epp_requests/domain/check.xml b/app/views/registrar/xml_consoles/epp_requests/domain/check.xml index 88dd550b6..73304adb0 100644 --- a/app/views/registrar/xml_consoles/epp_requests/domain/check.xml +++ b/app/views/registrar/xml_consoles/epp_requests/domain/check.xml @@ -1,5 +1,5 @@ - + - + - + - + - + - + - + - + example6.ee diff --git a/app/views/registrar/xml_consoles/epp_requests/poll/poll.xml b/app/views/registrar/xml_consoles/epp_requests/poll/poll.xml index 08c097196..5ffed010e 100644 --- a/app/views/registrar/xml_consoles/epp_requests/poll/poll.xml +++ b/app/views/registrar/xml_consoles/epp_requests/poll/poll.xml @@ -1,5 +1,5 @@ - + ABC-12345 diff --git a/doc/epp-examples.md b/doc/epp-examples.md index ceaf4748e..978d7214e 100644 --- a/doc/epp-examples.md +++ b/doc/epp-examples.md @@ -9,7 +9,7 @@ REQUEST: ```xml - + registrar1 @@ -38,7 +38,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -57,7 +57,7 @@ REQUEST: ```xml - + @@ -71,7 +71,7 @@ RESPONSE: ```xml - + Element '{https://epp.tld.ee/schema/contact-ee-1.1.xsd}create': Missing child element(s). Expected is one of ( {https://epp.tld.ee/schema/contact-ee-1.1.xsd}id, {https://epp.tld.ee/schema/contact-ee-1.1.xsd}postalInfo ). @@ -90,7 +90,7 @@ REQUEST: ```xml - + @@ -122,7 +122,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -147,7 +147,7 @@ REQUEST: ```xml - + @@ -182,7 +182,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -207,7 +207,7 @@ REQUEST: ```xml - + @@ -239,7 +239,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -264,7 +264,7 @@ REQUEST: ```xml - + @@ -296,7 +296,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -321,7 +321,7 @@ REQUEST: ```xml - + @@ -353,7 +353,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -378,7 +378,7 @@ REQUEST: ```xml - + @@ -410,7 +410,7 @@ RESPONSE: ```xml - + Email is invalid [email] @@ -429,7 +429,7 @@ REQUEST: ```xml - + @@ -462,7 +462,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -487,7 +487,7 @@ REQUEST: ```xml - + @@ -520,7 +520,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -545,7 +545,7 @@ REQUEST: ```xml - + @@ -578,7 +578,7 @@ RESPONSE: ```xml - + is invalid [code] @@ -597,7 +597,7 @@ REQUEST: ```xml - + @@ -630,7 +630,7 @@ RESPONSE: ```xml - + is invalid [code] @@ -649,7 +649,7 @@ REQUEST: ```xml - + @@ -682,7 +682,7 @@ RESPONSE: ```xml - + Contact code is too long, max 100 characters [code] @@ -701,7 +701,7 @@ REQUEST: ```xml - + @@ -732,7 +732,7 @@ RESPONSE: ```xml - + Element '{https://epp.tld.ee/schema/eis-1.0.xsd}ident', attribute 'cc': [facet 'maxLength'] The value 'WRONG' has a length of '5'; this exceeds the allowed maximum length of '2'. @@ -754,7 +754,7 @@ REQUEST: ```xml - + @@ -785,7 +785,7 @@ RESPONSE: ```xml - + Element '{https://epp.tld.ee/schema/eis-1.0.xsd}ident': The attribute 'cc' is required but missing. @@ -804,7 +804,7 @@ REQUEST: ```xml - + @@ -835,7 +835,7 @@ RESPONSE: ```xml - + Element '{https://epp.tld.ee/schema/eis-1.0.xsd}ident': The attribute 'type' is required but missing. @@ -857,7 +857,7 @@ REQUEST: ```xml - + @@ -890,7 +890,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -915,7 +915,7 @@ REQUEST: ```xml - + @@ -948,7 +948,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -973,7 +973,7 @@ REQUEST: ```xml - + @@ -1006,7 +1006,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -1031,7 +1031,7 @@ REQUEST: ```xml - + @@ -1064,7 +1064,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -1089,7 +1089,7 @@ REQUEST: ```xml - + @@ -1122,7 +1122,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -1147,7 +1147,7 @@ REQUEST: ```xml - + @@ -1179,7 +1179,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -1204,7 +1204,7 @@ REQUEST: ```xml - + @@ -1236,7 +1236,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -1261,7 +1261,7 @@ REQUEST: ```xml - + @@ -1294,7 +1294,7 @@ RESPONSE: ```xml - + Parameter value policy error. Org must be blank: postalInfo > org [org] @@ -1313,7 +1313,7 @@ REQUEST: ```xml - + @@ -1346,7 +1346,7 @@ RESPONSE: ```xml - + Parameter value policy error. Fax must be blank: fax [fax] @@ -1365,7 +1365,7 @@ REQUEST: ```xml - + @@ -1379,7 +1379,7 @@ RESPONSE: ```xml - + Element '{https://epp.tld.ee/schema/contact-ee-1.1.xsd}update': Missing child element(s). Expected is ( {https://epp.tld.ee/schema/contact-ee-1.1.xsd}id ). @@ -1398,7 +1398,7 @@ REQUEST: ```xml - + @@ -1429,7 +1429,7 @@ RESPONSE: ```xml - + Object does not exist @@ -1451,7 +1451,7 @@ REQUEST: ```xml - + @@ -1482,7 +1482,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -1507,7 +1507,7 @@ REQUEST: ```xml - + @@ -1528,7 +1528,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -1553,7 +1553,7 @@ REQUEST: ```xml - + registrar2 @@ -1582,7 +1582,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -1599,7 +1599,7 @@ REQUEST: ```xml - + @@ -1630,7 +1630,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -1653,7 +1653,7 @@ REQUEST: ```xml - + registrar1 @@ -1682,7 +1682,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -1701,7 +1701,7 @@ REQUEST: ```xml - + registrar2 @@ -1730,7 +1730,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -1747,7 +1747,7 @@ REQUEST: ```xml - + @@ -1768,7 +1768,7 @@ RESPONSE: ```xml - + Authorization error @@ -1785,7 +1785,7 @@ REQUEST: ```xml - + registrar1 @@ -1814,7 +1814,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -1833,7 +1833,7 @@ REQUEST: ```xml - + @@ -1864,7 +1864,7 @@ RESPONSE: ```xml - + Phone nr is invalid [phone] @@ -1886,7 +1886,7 @@ REQUEST: ```xml - + @@ -1917,7 +1917,7 @@ RESPONSE: ```xml - + Email is invalid [email] @@ -1936,7 +1936,7 @@ REQUEST: ```xml - + @@ -1968,7 +1968,7 @@ RESPONSE: ```xml - + Element '{https://epp.tld.ee/schema/contact-ee-1.1.xsd}id': This element is not expected. @@ -1987,7 +1987,7 @@ REQUEST: ```xml - + @@ -2019,7 +2019,7 @@ RESPONSE: ```xml - + Parameter value policy error. Update of ident data not allowed [ident] @@ -2038,7 +2038,7 @@ REQUEST: ```xml - + @@ -2070,7 +2070,7 @@ RESPONSE: ```xml - + Parameter value policy error. Org must be blank: postalInfo > org [org] @@ -2089,7 +2089,7 @@ REQUEST: ```xml - + @@ -2121,7 +2121,7 @@ RESPONSE: ```xml - + Parameter value policy error. Fax must be blank: fax [fax] @@ -2140,7 +2140,7 @@ REQUEST: ```xml - + @@ -2160,7 +2160,7 @@ RESPONSE: ```xml - + Parameter value policy error. Client-side object status management not supported: status [status] @@ -2179,7 +2179,7 @@ REQUEST: ```xml - + @@ -2200,7 +2200,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -2225,7 +2225,7 @@ REQUEST: ```xml - + @@ -2247,7 +2247,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -2272,7 +2272,7 @@ REQUEST: ```xml - + @@ -2295,7 +2295,7 @@ RESPONSE: ```xml - + Required parameter missing - phone [phone] @@ -2317,7 +2317,7 @@ REQUEST: ```xml - + @@ -2339,7 +2339,7 @@ RESPONSE: ```xml - + Required parameter missing - phone [phone] @@ -2361,7 +2361,7 @@ REQUEST: ```xml - + @@ -2385,7 +2385,7 @@ RESPONSE: ```xml - + Parameter value policy error. Org must be blank: postalInfo > org [org] @@ -2404,7 +2404,7 @@ REQUEST: ```xml - + @@ -2423,7 +2423,7 @@ RESPONSE: ```xml - + Parameter value policy error. Client-side object status management not supported: status [status] @@ -2442,7 +2442,7 @@ REQUEST: ```xml - + @@ -2456,7 +2456,7 @@ RESPONSE: ```xml - + Element '{https://epp.tld.ee/schema/contact-ee-1.1.xsd}delete': Missing child element(s). Expected is ( {https://epp.tld.ee/schema/contact-ee-1.1.xsd}id ). @@ -2475,7 +2475,7 @@ REQUEST: ```xml - + @@ -2500,7 +2500,7 @@ RESPONSE: ```xml - + Object does not exist @@ -2522,7 +2522,7 @@ REQUEST: ```xml - + @@ -2547,7 +2547,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -2566,7 +2566,7 @@ REQUEST: ```xml - + @@ -2591,7 +2591,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -2610,7 +2610,7 @@ REQUEST: ```xml - + @@ -2626,7 +2626,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -2645,7 +2645,7 @@ REQUEST: ```xml - + @@ -2670,7 +2670,7 @@ RESPONSE: ```xml - + Object association prohibits operation [domains] @@ -2689,7 +2689,7 @@ REQUEST: ```xml - + registrar2 @@ -2718,7 +2718,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -2735,7 +2735,7 @@ REQUEST: ```xml - + @@ -2760,7 +2760,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -2777,7 +2777,7 @@ REQUEST: ```xml - + registrar1 @@ -2806,7 +2806,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -2825,7 +2825,7 @@ REQUEST: ```xml - + registrar2 @@ -2854,7 +2854,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -2871,7 +2871,7 @@ REQUEST: ```xml - + @@ -2887,7 +2887,7 @@ RESPONSE: ```xml - + Authorization error @@ -2904,7 +2904,7 @@ REQUEST: ```xml - + registrar1 @@ -2933,7 +2933,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -2952,7 +2952,7 @@ REQUEST: ```xml - + registrar2 @@ -2981,7 +2981,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -2998,7 +2998,7 @@ REQUEST: ```xml - + @@ -3023,7 +3023,7 @@ RESPONSE: ```xml - + Authorization error @@ -3040,7 +3040,7 @@ REQUEST: ```xml - + registrar1 @@ -3069,7 +3069,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -3088,7 +3088,7 @@ REQUEST: ```xml - + @@ -3102,7 +3102,7 @@ RESPONSE: ```xml - + Element '{https://epp.tld.ee/schema/contact-ee-1.1.xsd}check': Missing child element(s). Expected is ( {https://epp.tld.ee/schema/contact-ee-1.1.xsd}id ). @@ -3121,7 +3121,7 @@ REQUEST: ```xml - + @@ -3138,7 +3138,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -3168,7 +3168,7 @@ REQUEST: ```xml - + @@ -3185,7 +3185,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -3215,7 +3215,7 @@ REQUEST: ```xml - + @@ -3229,7 +3229,7 @@ RESPONSE: ```xml - + Element '{https://epp.tld.ee/schema/contact-ee-1.1.xsd}info': Missing child element(s). Expected is ( {https://epp.tld.ee/schema/contact-ee-1.1.xsd}id ). @@ -3248,7 +3248,7 @@ REQUEST: ```xml - + @@ -3267,7 +3267,7 @@ RESPONSE: ```xml - + Object does not exist @@ -3289,7 +3289,7 @@ REQUEST: ```xml - + @@ -3308,7 +3308,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -3357,7 +3357,7 @@ REQUEST: ```xml - + @@ -3376,7 +3376,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -3425,7 +3425,7 @@ REQUEST: ```xml - + @@ -3444,7 +3444,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -3493,7 +3493,7 @@ REQUEST: ```xml - + @@ -3512,7 +3512,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -3561,7 +3561,7 @@ REQUEST: ```xml - + @@ -3580,7 +3580,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -3629,7 +3629,7 @@ REQUEST: ```xml - + registrar2 @@ -3658,7 +3658,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -3675,7 +3675,7 @@ REQUEST: ```xml - + @@ -3694,7 +3694,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -3741,7 +3741,7 @@ REQUEST: ```xml - + registrar1 @@ -3770,7 +3770,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -3789,7 +3789,7 @@ REQUEST: ```xml - + registrar2 @@ -3818,7 +3818,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -3835,7 +3835,7 @@ REQUEST: ```xml - + @@ -3854,7 +3854,7 @@ RESPONSE: ```xml - + Authorization error @@ -3871,7 +3871,7 @@ REQUEST: ```xml - + registrar1 @@ -3900,7 +3900,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -3919,7 +3919,7 @@ REQUEST: ```xml - + registrar2 @@ -3948,7 +3948,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -3965,7 +3965,7 @@ REQUEST: ```xml - + @@ -3984,7 +3984,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -4014,7 +4014,7 @@ REQUEST: ```xml - + registrar1 @@ -4043,7 +4043,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -4060,7 +4060,7 @@ REQUEST: ```xml - + registrar1 @@ -4089,7 +4089,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -4108,7 +4108,7 @@ REQUEST: ```xml - + @@ -4152,7 +4152,7 @@ RESPONSE: ```xml - + Billing failure - credit balance low @@ -4171,7 +4171,7 @@ REQUEST: ```xml - + @@ -4215,7 +4215,7 @@ RESPONSE: ```xml - + Contact was not found @@ -4243,7 +4243,7 @@ REQUEST: ```xml - + @@ -4259,7 +4259,7 @@ RESPONSE: ```xml - + Required parameter missing: create > create > ns [ns] @@ -4287,7 +4287,7 @@ REQUEST: ```xml - + @@ -4331,7 +4331,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -4357,7 +4357,7 @@ REQUEST: ```xml - + @@ -4393,7 +4393,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -4419,7 +4419,7 @@ REQUEST: ```xml - + @@ -4466,7 +4466,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -4492,7 +4492,7 @@ REQUEST: ```xml - + @@ -4534,7 +4534,7 @@ RESPONSE: ```xml - + IPv4 is missing [ipv4] @@ -4553,7 +4553,7 @@ REQUEST: ```xml - + @@ -4597,7 +4597,7 @@ RESPONSE: ```xml - + Domain name is too long (maximum is 63 characters) [puny_label] @@ -4616,7 +4616,7 @@ REQUEST: ```xml - + @@ -4660,7 +4660,7 @@ RESPONSE: ```xml - + Required parameter missing; reserved>pw element required for reserved domains @@ -4677,7 +4677,7 @@ REQUEST: ```xml - + @@ -4724,7 +4724,7 @@ RESPONSE: ```xml - + Invalid authorization information; invalid reserved>pw value @@ -4743,7 +4743,7 @@ REQUEST: ```xml - + @@ -4790,7 +4790,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -4816,7 +4816,7 @@ REQUEST: ```xml - + @@ -4860,7 +4860,7 @@ RESPONSE: ```xml - + Data management policy violation: Domain name is blocked [name] @@ -4882,7 +4882,7 @@ REQUEST: ```xml - + @@ -4922,7 +4922,7 @@ RESPONSE: ```xml - + Required parameter missing: create > create > registrant [registrant] @@ -4941,7 +4941,7 @@ REQUEST: ```xml - + @@ -4975,7 +4975,7 @@ RESPONSE: ```xml - + Required parameter missing: create > create > ns [ns] @@ -4997,7 +4997,7 @@ REQUEST: ```xml - + @@ -5075,7 +5075,7 @@ RESPONSE: ```xml - + Nameservers count must be between 2-11 [nameservers] @@ -5094,7 +5094,7 @@ REQUEST: ```xml - + @@ -5136,7 +5136,7 @@ RESPONSE: ```xml - + Hostname is invalid [hostname] @@ -5164,7 +5164,7 @@ REQUEST: ```xml - + @@ -5202,7 +5202,7 @@ RESPONSE: ```xml - + Required parameter missing: create > create > ns > hostAttr [host_attr] @@ -5221,7 +5221,7 @@ REQUEST: ```xml - + @@ -5260,7 +5260,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -5286,7 +5286,7 @@ REQUEST: ```xml - + @@ -5325,7 +5325,7 @@ RESPONSE: ```xml - + IPv4 is invalid [ipv4] @@ -5353,7 +5353,7 @@ REQUEST: ```xml - + @@ -5397,7 +5397,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -5423,7 +5423,7 @@ REQUEST: ```xml - + @@ -5467,7 +5467,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -5493,7 +5493,7 @@ REQUEST: ```xml - + @@ -5537,7 +5537,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -5563,7 +5563,7 @@ REQUEST: ```xml - + @@ -5606,7 +5606,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -5632,7 +5632,7 @@ REQUEST: ```xml - + @@ -5676,7 +5676,7 @@ RESPONSE: ```xml - + Period must add up to 1, 2 or 3 years [period] @@ -5698,7 +5698,7 @@ REQUEST: ```xml - + @@ -5742,7 +5742,7 @@ RESPONSE: ```xml - + Element '{https://epp.tld.ee/schema/domain-eis-1.0.xsd}period', attribute 'unit': [facet 'enumeration'] The value '' is not an element of the set {'y', 'm', 'd'}. @@ -5762,7 +5762,7 @@ REQUEST: ```xml - + @@ -5806,7 +5806,7 @@ RESPONSE: ```xml - + Element '{https://epp.tld.ee/schema/domain-eis-1.0.xsd}period', attribute 'unit': [facet 'enumeration'] The value 'bla' is not an element of the set {'y', 'm', 'd'}. @@ -5828,7 +5828,7 @@ REQUEST: ```xml - + @@ -5884,7 +5884,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -5910,7 +5910,7 @@ REQUEST: ```xml - + @@ -5966,7 +5966,7 @@ RESPONSE: ```xml - + Element '{urn:ietf:params:xml:ns:secDNS-1.1}pubKey': [facet 'minLength'] The value has a length of '0'; this underruns the allowed minimum length of '1'. @@ -5986,7 +5986,7 @@ REQUEST: ```xml - + @@ -6042,7 +6042,7 @@ RESPONSE: ```xml - + Valid algorithms are: 3, 5, 6, 7, 8, 252, 253, 254, 255 [alg] @@ -6094,7 +6094,7 @@ REQUEST: ```xml - + @@ -6144,7 +6144,7 @@ RESPONSE: ```xml - + Public key already exists [public_key] @@ -6166,7 +6166,7 @@ REQUEST: ```xml - + @@ -6216,7 +6216,7 @@ RESPONSE: ```xml - + DNS keys count must be between 0-1 [dnskeys] @@ -6235,7 +6235,7 @@ REQUEST: ```xml - + @@ -6279,7 +6279,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -6305,7 +6305,7 @@ REQUEST: ```xml - + @@ -6355,7 +6355,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -6381,7 +6381,7 @@ REQUEST: ```xml - + @@ -6431,7 +6431,7 @@ RESPONSE: ```xml - + dsData object is not allowed @@ -6450,7 +6450,7 @@ REQUEST: ```xml - + @@ -6494,7 +6494,7 @@ RESPONSE: ```xml - + keyData object is not allowed @@ -6513,7 +6513,7 @@ REQUEST: ```xml - + @@ -6563,7 +6563,7 @@ RESPONSE: ```xml - + Element '{urn:ietf:params:xml:ns:secDNS-1.1}keyData': This element is not expected. Expected is ( {urn:ietf:params:xml:ns:secDNS-1.1}dsData ). @@ -6582,7 +6582,7 @@ REQUEST: ```xml - + @@ -6624,7 +6624,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -6650,7 +6650,7 @@ REQUEST: ```xml - + @@ -6692,7 +6692,7 @@ RESPONSE: ```xml - + Admin contacts count must be between 1-10 [admin_domain_contacts] @@ -6711,7 +6711,7 @@ REQUEST: ```xml - + @@ -6753,7 +6753,7 @@ RESPONSE: ```xml - + Admin contact can be private person only @@ -6775,7 +6775,7 @@ REQUEST: ```xml - + registrar2 @@ -6804,7 +6804,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -6821,7 +6821,7 @@ REQUEST: ```xml - + @@ -6845,7 +6845,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -6873,7 +6873,7 @@ REQUEST: ```xml - + registrar1 @@ -6902,7 +6902,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -6919,7 +6919,7 @@ REQUEST: ```xml - + ABC-12345 @@ -6931,7 +6931,7 @@ RESPONSE: ```xml - + Command completed successfully; ack to dequeue @@ -6963,7 +6963,7 @@ REQUEST: ```xml - + ABC-12345 @@ -6975,7 +6975,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -6995,7 +6995,7 @@ REQUEST: ```xml - + registrar2 @@ -7024,7 +7024,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7041,7 +7041,7 @@ REQUEST: ```xml - + @@ -7065,7 +7065,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7093,7 +7093,7 @@ REQUEST: ```xml - + registrar1 @@ -7122,7 +7122,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7139,7 +7139,7 @@ REQUEST: ```xml - + registrar2 @@ -7168,7 +7168,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7185,7 +7185,7 @@ REQUEST: ```xml - + @@ -7209,7 +7209,7 @@ RESPONSE: ```xml - + Authorization error @@ -7226,7 +7226,7 @@ REQUEST: ```xml - + registrar1 @@ -7255,7 +7255,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7274,7 +7274,7 @@ REQUEST: ```xml - + registrar2 @@ -7303,7 +7303,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7320,7 +7320,7 @@ REQUEST: ```xml - + @@ -7339,7 +7339,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7367,7 +7367,7 @@ REQUEST: ```xml - + registrar1 @@ -7396,7 +7396,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7415,7 +7415,7 @@ REQUEST: ```xml - + registrar2 @@ -7444,7 +7444,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7461,7 +7461,7 @@ REQUEST: ```xml - + @@ -7480,7 +7480,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7508,7 +7508,7 @@ REQUEST: ```xml - + registrar1 @@ -7537,7 +7537,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7556,7 +7556,7 @@ REQUEST: ```xml - + registrar2 @@ -7585,7 +7585,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7602,7 +7602,7 @@ REQUEST: ```xml - + @@ -7621,7 +7621,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7649,7 +7649,7 @@ REQUEST: ```xml - + registrar1 @@ -7678,7 +7678,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7697,7 +7697,7 @@ REQUEST: ```xml - + registrar2 @@ -7726,7 +7726,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7743,7 +7743,7 @@ REQUEST: ```xml - + @@ -7762,7 +7762,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7790,7 +7790,7 @@ REQUEST: ```xml - + registrar1 @@ -7819,7 +7819,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7838,7 +7838,7 @@ REQUEST: ```xml - + registrar2 @@ -7867,7 +7867,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7884,7 +7884,7 @@ REQUEST: ```xml - + @@ -7903,7 +7903,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7931,7 +7931,7 @@ REQUEST: ```xml - + registrar1 @@ -7960,7 +7960,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7979,7 +7979,7 @@ REQUEST: ```xml - + registrar2 @@ -8008,7 +8008,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -8025,7 +8025,7 @@ REQUEST: ```xml - + @@ -8044,7 +8044,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -8072,7 +8072,7 @@ REQUEST: ```xml - + registrar1 @@ -8101,7 +8101,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -8120,7 +8120,7 @@ REQUEST: ```xml - + registrar2 @@ -8149,7 +8149,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -8166,7 +8166,7 @@ REQUEST: ```xml - + @@ -8185,7 +8185,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -8213,7 +8213,7 @@ REQUEST: ```xml - + registrar1 @@ -8242,7 +8242,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -8261,7 +8261,7 @@ REQUEST: ```xml - + registrar2 @@ -8290,7 +8290,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -8307,7 +8307,7 @@ REQUEST: ```xml - + @@ -8326,7 +8326,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -8354,7 +8354,7 @@ REQUEST: ```xml - + registrar1 @@ -8383,7 +8383,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -8402,7 +8402,7 @@ REQUEST: ```xml - + registrar2 @@ -8431,7 +8431,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -8448,7 +8448,7 @@ REQUEST: ```xml - + @@ -8464,7 +8464,7 @@ RESPONSE: ```xml - + Authorization error @@ -8481,7 +8481,7 @@ REQUEST: ```xml - + registrar1 @@ -8510,7 +8510,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -8529,7 +8529,7 @@ REQUEST: ```xml - + @@ -8553,7 +8553,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -8583,7 +8583,7 @@ REQUEST: ```xml - + registrar2 @@ -8612,7 +8612,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -8629,7 +8629,7 @@ REQUEST: ```xml - + @@ -8653,7 +8653,7 @@ RESPONSE: ```xml - + Transfer can be rejected only by current registrar @@ -8670,7 +8670,7 @@ REQUEST: ```xml - + registrar1 @@ -8699,7 +8699,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -8716,7 +8716,7 @@ REQUEST: ```xml - + @@ -8740,7 +8740,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -8770,7 +8770,7 @@ REQUEST: ```xml - + registrar2 @@ -8799,7 +8799,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -8816,7 +8816,7 @@ REQUEST: ```xml - + @@ -8840,7 +8840,7 @@ RESPONSE: ```xml - + Transfer can be approved only by current domain registrar @@ -8857,7 +8857,7 @@ REQUEST: ```xml - + registrar1 @@ -8886,7 +8886,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -8905,7 +8905,7 @@ REQUEST: ```xml - + @@ -8929,7 +8929,7 @@ RESPONSE: ```xml - + Authorization error @@ -8948,7 +8948,7 @@ REQUEST: ```xml - + @@ -8972,7 +8972,7 @@ RESPONSE: ```xml - + Domain already belongs to the querying registrar @@ -8991,7 +8991,7 @@ REQUEST: ```xml - + @@ -9007,13 +9007,13 @@ RESPONSE: ```xml - + - Element '{urn:ietf:params:xml:ns:epp-1.0}transfer', attribute 'op': [facet 'enumeration'] The value 'bla' is not an element of the set {'approve', 'cancel', 'query', 'reject', 'request'}. + Element '{https://epp.tld.ee/schema/epp-ee-1.0.xsd}transfer', attribute 'op': [facet 'enumeration'] The value 'bla' is not an element of the set {'approve', 'cancel', 'query', 'reject', 'request'}. - Element '{urn:ietf:params:xml:ns:epp-1.0}transfer', attribute 'op': 'bla' is not a valid value of the atomic type '{urn:ietf:params:xml:ns:epp-1.0}transferOpType'. + Element '{https://epp.tld.ee/schema/epp-ee-1.0.xsd}transfer', attribute 'op': 'bla' is not a valid value of the atomic type '{https://epp.tld.ee/schema/epp-ee-1.0.xsd}transferOpType'. ABC-12345 @@ -9029,7 +9029,7 @@ REQUEST: ```xml - + registrar2 @@ -9058,7 +9058,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -9075,7 +9075,7 @@ REQUEST: ```xml - + @@ -9099,7 +9099,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -9127,7 +9127,7 @@ REQUEST: ```xml - + @@ -9151,7 +9151,7 @@ RESPONSE: ```xml - + Authorization error @@ -9168,7 +9168,7 @@ REQUEST: ```xml - + registrar1 @@ -9197,7 +9197,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -9216,7 +9216,7 @@ REQUEST: ```xml - + @@ -9240,7 +9240,7 @@ RESPONSE: ```xml - + No transfers found @@ -9259,7 +9259,7 @@ REQUEST: ```xml - + @@ -9278,7 +9278,7 @@ RESPONSE: ```xml - + No transfers found @@ -9297,7 +9297,7 @@ REQUEST: ```xml - + @@ -9316,7 +9316,7 @@ RESPONSE: ```xml - + No transfers found @@ -9335,7 +9335,7 @@ REQUEST: ```xml - + registrar2 @@ -9364,7 +9364,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -9381,7 +9381,7 @@ REQUEST: ```xml - + @@ -9401,7 +9401,7 @@ RESPONSE: ```xml - + Unimplemented object service @@ -9421,7 +9421,7 @@ REQUEST: ```xml - + registrar1 @@ -9450,7 +9450,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -9469,7 +9469,7 @@ REQUEST: ```xml - + @@ -9494,7 +9494,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -9513,7 +9513,7 @@ REQUEST: ```xml - + @@ -9538,7 +9538,7 @@ RESPONSE: ```xml - + Command completed successfully; action pending @@ -9557,7 +9557,7 @@ REQUEST: ```xml - + @@ -9578,7 +9578,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -9597,7 +9597,7 @@ REQUEST: ```xml - + @@ -9635,7 +9635,7 @@ RESPONSE: ```xml - + Nameservers count must be between 2-11 [nameservers] @@ -9654,7 +9654,7 @@ REQUEST: ```xml - + @@ -9679,7 +9679,7 @@ RESPONSE: ```xml - + Nameservers count must be between 2-11 [nameservers] @@ -9698,7 +9698,7 @@ REQUEST: ```xml - + @@ -9723,7 +9723,7 @@ RESPONSE: ```xml - + Object status prohibits operation @@ -9742,7 +9742,7 @@ REQUEST: ```xml - + @@ -9767,7 +9767,7 @@ RESPONSE: ```xml - + Object status prohibits operation @@ -9786,7 +9786,7 @@ REQUEST: ```xml - + @@ -9833,7 +9833,7 @@ RESPONSE: ```xml - + Contact was not found @@ -9853,7 +9853,7 @@ REQUEST: ```xml - + @@ -9900,7 +9900,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -9917,7 +9917,7 @@ REQUEST: ```xml - + @@ -9964,7 +9964,7 @@ RESPONSE: ```xml - + Nameserver already exists on this domain [hostname] @@ -10010,7 +10010,7 @@ REQUEST: ```xml - + @@ -10063,7 +10063,7 @@ RESPONSE: ```xml - + Contact was not found @@ -10083,7 +10083,7 @@ REQUEST: ```xml - + @@ -10136,7 +10136,7 @@ RESPONSE: ```xml - + Command completed successfully; action pending @@ -10155,7 +10155,7 @@ REQUEST: ```xml - + @@ -10175,7 +10175,7 @@ RESPONSE: ```xml - + Parameter value policy error. Client-side object status management not supported: status [status] @@ -10194,7 +10194,7 @@ REQUEST: ```xml - + @@ -10241,7 +10241,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -10258,7 +10258,7 @@ REQUEST: ```xml - + @@ -10295,7 +10295,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -10312,7 +10312,7 @@ REQUEST: ```xml - + @@ -10349,7 +10349,7 @@ RESPONSE: ```xml - + Nameserver was not found @@ -10389,7 +10389,7 @@ REQUEST: ```xml - + @@ -10408,7 +10408,7 @@ RESPONSE: ```xml - + Status was not found @@ -10430,7 +10430,7 @@ REQUEST: ```xml - + @@ -10454,7 +10454,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -10471,7 +10471,7 @@ REQUEST: ```xml - + @@ -10495,7 +10495,7 @@ RESPONSE: ```xml - + Nameserver already exists on this domain [hostname] @@ -10523,7 +10523,7 @@ REQUEST: ```xml - + @@ -10542,7 +10542,7 @@ RESPONSE: ```xml - + Required parameter missing: extension > extdata > legalDocument [legal_document] @@ -10561,7 +10561,7 @@ REQUEST: ```xml - + @@ -10580,7 +10580,7 @@ RESPONSE: ```xml - + Element '{https://epp.tld.ee/schema/domain-eis-1.0.xsd}status', attribute 's': [facet 'enumeration'] The value 'invalidStatus' is not an element of the set {'clientDeleteProhibited', 'clientHold', 'clientRenewProhibited', 'clientTransferProhibited', 'clientUpdateProhibited', 'inactive', 'ok', 'pendingCreate', 'pendingDelete', 'pendingRenew', 'pendingTransfer', 'pendingUpdate', 'serverDeleteProhibited', 'serverHold', 'serverRenewProhibited', 'serverTransferProhibited', 'serverUpdateProhibited'}. @@ -10602,7 +10602,7 @@ REQUEST: ```xml - + @@ -10620,7 +10620,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -10645,7 +10645,7 @@ REQUEST: ```xml - + @@ -10663,7 +10663,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -10688,7 +10688,7 @@ REQUEST: ```xml - + @@ -10705,7 +10705,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -10730,7 +10730,7 @@ REQUEST: ```xml - + @@ -10748,7 +10748,7 @@ RESPONSE: ```xml - + Element '{https://epp.tld.ee/schema/domain-eis-1.0.xsd}period', attribute 'unit': [facet 'enumeration'] The value '' is not an element of the set {'y', 'm', 'd'}. @@ -10768,7 +10768,7 @@ REQUEST: ```xml - + @@ -10786,7 +10786,7 @@ RESPONSE: ```xml - + Element '{https://epp.tld.ee/schema/domain-eis-1.0.xsd}period', attribute 'unit': [facet 'enumeration'] The value 'bla' is not an element of the set {'y', 'm', 'd'}. @@ -10808,7 +10808,7 @@ REQUEST: ```xml - + @@ -10826,7 +10826,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -10851,7 +10851,7 @@ REQUEST: ```xml - + @@ -10869,7 +10869,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -10894,7 +10894,7 @@ REQUEST: ```xml - + @@ -10912,7 +10912,7 @@ RESPONSE: ```xml - + Billing failure - credit balance low @@ -10931,7 +10931,7 @@ REQUEST: ```xml - + @@ -10949,7 +10949,7 @@ RESPONSE: ```xml - + Given and current expire dates do not match @@ -10974,7 +10974,7 @@ REQUEST: ```xml - + @@ -10992,7 +10992,7 @@ RESPONSE: ```xml - + Period must add up to 1, 2 or 3 years [period] @@ -11014,7 +11014,7 @@ REQUEST: ```xml - + @@ -11032,7 +11032,7 @@ RESPONSE: ```xml - + Object is not eligible for renewal @@ -11049,7 +11049,7 @@ REQUEST: ```xml - + @@ -11067,7 +11067,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -11092,7 +11092,7 @@ REQUEST: ```xml - + @@ -11110,7 +11110,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -11135,7 +11135,7 @@ REQUEST: ```xml - + @@ -11153,7 +11153,7 @@ RESPONSE: ```xml - + Object is not eligible for renewal @@ -11172,7 +11172,7 @@ REQUEST: ```xml - + @@ -11190,7 +11190,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -11215,7 +11215,7 @@ REQUEST: ```xml - + registrar2 @@ -11244,7 +11244,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -11261,7 +11261,7 @@ REQUEST: ```xml - + @@ -11279,7 +11279,7 @@ RESPONSE: ```xml - + Authorization error @@ -11296,7 +11296,7 @@ REQUEST: ```xml - + registrar1 @@ -11325,7 +11325,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -11344,7 +11344,7 @@ REQUEST: ```xml - + @@ -11362,7 +11362,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -11442,7 +11442,7 @@ REQUEST: ```xml - + @@ -11460,7 +11460,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -11542,7 +11542,7 @@ REQUEST: ```xml - + @@ -11560,7 +11560,7 @@ RESPONSE: ```xml - + Element '{https://epp.tld.ee/schema/domain-eis-1.0.xsd}name', attribute 'hosts': [facet 'enumeration'] The value 'invalid' is not an element of the set {'all', 'del', 'none', 'sub'}. @@ -11579,7 +11579,7 @@ REQUEST: ```xml - + @@ -11597,7 +11597,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -11642,7 +11642,7 @@ REQUEST: ```xml - + @@ -11660,7 +11660,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -11700,7 +11700,7 @@ REQUEST: ```xml - + @@ -11718,7 +11718,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -11751,7 +11751,7 @@ REQUEST: ```xml - + @@ -11769,7 +11769,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -11821,7 +11821,7 @@ REQUEST: ```xml - + @@ -11839,7 +11839,7 @@ RESPONSE: ```xml - + Domain not found @@ -11860,7 +11860,7 @@ REQUEST: ```xml - + @@ -11878,7 +11878,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -11927,7 +11927,7 @@ REQUEST: ```xml - + registrar2 @@ -11956,7 +11956,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -11973,7 +11973,7 @@ REQUEST: ```xml - + @@ -11991,7 +11991,7 @@ RESPONSE: ```xml - + Authorization error @@ -12007,7 +12007,7 @@ REQUEST: ```xml - + registrar1 @@ -12036,7 +12036,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -12055,7 +12055,7 @@ REQUEST: ```xml - + registrar2 @@ -12084,7 +12084,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -12101,7 +12101,7 @@ REQUEST: ```xml - + @@ -12116,7 +12116,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -12160,7 +12160,7 @@ REQUEST: ```xml - + registrar1 @@ -12189,7 +12189,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -12208,7 +12208,7 @@ REQUEST: ```xml - + registrar2 @@ -12237,7 +12237,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -12254,7 +12254,7 @@ REQUEST: ```xml - + @@ -12272,7 +12272,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -12319,7 +12319,7 @@ REQUEST: ```xml - + registrar1 @@ -12348,7 +12348,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -12367,7 +12367,7 @@ REQUEST: ```xml - + @@ -12388,7 +12388,7 @@ RESPONSE: ```xml - + Command completed successfully; action pending @@ -12407,7 +12407,7 @@ REQUEST: ```xml - + @@ -12428,7 +12428,7 @@ RESPONSE: ```xml - + Domain status prohibits operation @@ -12447,7 +12447,7 @@ REQUEST: ```xml - + @@ -12468,7 +12468,7 @@ RESPONSE: ```xml - + Object status prohibits operation @@ -12487,7 +12487,7 @@ REQUEST: ```xml - + @@ -12503,7 +12503,7 @@ RESPONSE: ```xml - + Required parameter missing: extension > extdata > legalDocument [legal_document] @@ -12522,7 +12522,7 @@ REQUEST: ```xml - + @@ -12538,7 +12538,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -12562,7 +12562,7 @@ REQUEST: ```xml - + @@ -12578,7 +12578,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -12605,7 +12605,7 @@ REQUEST: ```xml - + @@ -12623,7 +12623,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -12655,7 +12655,7 @@ REQUEST: ```xml - + @@ -12672,7 +12672,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -12702,7 +12702,7 @@ REQUEST: ```xml - + ABC-12345 @@ -12714,7 +12714,7 @@ RESPONSE: ```xml - + Command completed successfully; ack to dequeue @@ -12737,7 +12737,7 @@ REQUEST: ```xml - + registrar1 @@ -12766,7 +12766,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -12785,7 +12785,7 @@ REQUEST: ```xml - + domain67.ee @@ -12811,7 +12811,7 @@ RESPONSE: ```xml - + Unimplemented object service @@ -12833,7 +12833,7 @@ REQUEST: ```xml - + domain67.ee @@ -12858,7 +12858,7 @@ RESPONSE: ```xml - + Required parameter missing: keyrelay > keyData > flags [flags] @@ -12883,7 +12883,7 @@ REQUEST: ```xml - + domain67.ee @@ -12909,7 +12909,7 @@ RESPONSE: ```xml - + Expiry relative must be compatible to ISO 8601 @@ -12931,7 +12931,7 @@ REQUEST: ```xml - + domain67.ee @@ -12957,7 +12957,7 @@ RESPONSE: ```xml - + Expiry absolute must be compatible to ISO 8601 @@ -12979,7 +12979,7 @@ REQUEST: ```xml - + domain67.ee @@ -13008,7 +13008,7 @@ RESPONSE: ```xml - + Unimplemented object service @@ -13030,7 +13030,7 @@ REQUEST: ```xml - + domain67.ee @@ -13059,7 +13059,7 @@ RESPONSE: ```xml - + Attribute is invalid: type @@ -13076,7 +13076,7 @@ REQUEST: ```xml - + registrar1 @@ -13105,7 +13105,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -13124,7 +13124,7 @@ REQUEST: ```xml - + 1441791745 @@ -13136,7 +13136,7 @@ RESPONSE: ```xml - + Command completed successfully; no messages @@ -13155,7 +13155,7 @@ REQUEST: ```xml - + registrar2 @@ -13184,7 +13184,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -13201,7 +13201,7 @@ REQUEST: ```xml - + 1441791746 @@ -13213,7 +13213,7 @@ RESPONSE: ```xml - + Command completed successfully; no messages @@ -13230,7 +13230,7 @@ REQUEST: ```xml - + registrar1 @@ -13259,7 +13259,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -13276,7 +13276,7 @@ REQUEST: ```xml - + 1441791746 @@ -13288,7 +13288,7 @@ RESPONSE: ```xml - + Command completed successfully; ack to dequeue @@ -13309,7 +13309,7 @@ REQUEST: ```xml - + registrar2 @@ -13338,7 +13338,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -13355,7 +13355,7 @@ REQUEST: ```xml - + 1441791746 @@ -13367,7 +13367,7 @@ RESPONSE: ```xml - + Message was not found @@ -13387,7 +13387,7 @@ REQUEST: ```xml - + registrar1 @@ -13416,7 +13416,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -13433,7 +13433,7 @@ REQUEST: ```xml - + 1441791746 @@ -13445,7 +13445,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -13463,7 +13463,7 @@ REQUEST: ```xml - + 1441791746 @@ -13475,7 +13475,7 @@ RESPONSE: ```xml - + Message was not found @@ -13497,7 +13497,7 @@ REQUEST: ```xml - + 1441791748 @@ -13509,13 +13509,13 @@ RESPONSE: ```xml - + - Element '{urn:ietf:params:xml:ns:epp-1.0}poll', attribute 'op': [facet 'enumeration'] The value 'bla' is not an element of the set {'ack', 'req'}. + Element '{https://epp.tld.ee/schema/epp-ee-1.0.xsd}poll', attribute 'op': [facet 'enumeration'] The value 'bla' is not an element of the set {'ack', 'req'}. - Element '{urn:ietf:params:xml:ns:epp-1.0}poll', attribute 'op': 'bla' is not a valid value of the atomic type '{urn:ietf:params:xml:ns:epp-1.0}pollOpType'. + Element '{https://epp.tld.ee/schema/epp-ee-1.0.xsd}poll', attribute 'op': 'bla' is not a valid value of the atomic type '{https://epp.tld.ee/schema/epp-ee-1.0.xsd}pollOpType'. 1441791748 @@ -13531,7 +13531,7 @@ REQUEST: ```xml - + 1441791749 @@ -13543,7 +13543,7 @@ RESPONSE: ```xml - + Command completed successfully; ack to dequeue @@ -13564,7 +13564,7 @@ REQUEST: ```xml - + 1441791749 @@ -13576,7 +13576,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -13594,7 +13594,7 @@ REQUEST: ```xml - + 1441791749 @@ -13606,7 +13606,7 @@ RESPONSE: ```xml - + Command completed successfully; ack to dequeue @@ -13627,7 +13627,7 @@ REQUEST: ```xml - + 1441791749 @@ -13639,7 +13639,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -13657,7 +13657,7 @@ REQUEST: ```xml - + 1441791749 @@ -13669,7 +13669,7 @@ RESPONSE: ```xml - + Command completed successfully; ack to dequeue @@ -13690,7 +13690,7 @@ REQUEST: ```xml - + 1441791749 @@ -13702,7 +13702,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -13720,7 +13720,7 @@ REQUEST: ```xml - + 1441791749 @@ -13732,7 +13732,7 @@ RESPONSE: ```xml - + Command completed successfully; no messages @@ -13751,7 +13751,7 @@ RESPONSE: ```xml - + EPP server (EIS) 2015-09-09T09:42:29Z @@ -13794,7 +13794,7 @@ REQUEST: ```xml - + wrong-user @@ -13823,7 +13823,7 @@ RESPONSE: ```xml - + Authentication error; server closing connection (API user not found) @@ -13842,7 +13842,7 @@ REQUEST: ```xml - + inactive-user @@ -13871,7 +13871,7 @@ RESPONSE: ```xml - + Authentication error; server closing connection (API user is not active) @@ -13890,7 +13890,7 @@ REQUEST: ```xml - + @@ -13906,7 +13906,7 @@ RESPONSE: ```xml - + You need to login first. @@ -13925,7 +13925,7 @@ REQUEST: ```xml - + wrong-user @@ -13953,7 +13953,7 @@ RESPONSE: ```xml - + Authentication error; server closing connection (API user not found) @@ -13971,7 +13971,7 @@ REQUEST: ```xml - + 你好你好 @@ -14000,7 +14000,7 @@ RESPONSE: ```xml - + Parameter value policy error. Allowed only Latin characters. @@ -14019,7 +14019,7 @@ REQUEST: ```xml - + gitlab @@ -14048,7 +14048,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -14067,7 +14067,7 @@ REQUEST: ```xml - + gitlab @@ -14096,7 +14096,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -14113,7 +14113,7 @@ REQUEST: ```xml - + gitlab @@ -14142,7 +14142,7 @@ RESPONSE: ```xml - + Already logged in. Use <logout> first. @@ -14161,7 +14161,7 @@ REQUEST: ```xml - + gitlab @@ -14190,7 +14190,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -14207,7 +14207,7 @@ REQUEST: ```xml - + ABC-12345 @@ -14219,7 +14219,7 @@ RESPONSE: ```xml - + Command completed successfully; ending session @@ -14238,7 +14238,7 @@ REQUEST: ```xml - + gitlab @@ -14268,7 +14268,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -14287,7 +14287,7 @@ REQUEST: ```xml - + gitlab @@ -14317,13 +14317,13 @@ RESPONSE: ```xml - + - Element '{urn:ietf:params:xml:ns:epp-1.0}newPW': [facet 'minLength'] The value has a length of '0'; this underruns the allowed minimum length of '6'. + Element '{https://epp.tld.ee/schema/epp-ee-1.0.xsd}newPW': [facet 'minLength'] The value has a length of '0'; this underruns the allowed minimum length of '6'. - Element '{urn:ietf:params:xml:ns:epp-1.0}newPW': '' is not a valid value of the atomic type '{urn:ietf:params:xml:ns:epp-1.0}pwType'. + Element '{https://epp.tld.ee/schema/epp-ee-1.0.xsd}newPW': '' is not a valid value of the atomic type '{https://epp.tld.ee/schema/epp-ee-1.0.xsd}pwType'. ABC-12345 diff --git a/doc/epp/session.md b/doc/epp/session.md index a496e9ce0..1e10dce2b 100644 --- a/doc/epp/session.md +++ b/doc/epp/session.md @@ -4,7 +4,7 @@ Here are functions like login, logout, hello, poll ### Hello request - + diff --git a/lib/ext/xml_builder.rb b/lib/ext/xml_builder.rb index e00a471af..ef5e2af4d 100644 --- a/lib/ext/xml_builder.rb +++ b/lib/ext/xml_builder.rb @@ -4,9 +4,9 @@ class Builder::XmlMarkup def epp_head self.instruct! epp( - 'xmlns' => 'urn:ietf:params:xml:ns:epp-1.0', + 'xmlns' => 'https://epp.tld.ee/schema/epp-ee-1.0.xsd', 'xmlns:xsi' => 'http://www.w3.org/2001/XMLSchema-instance', - 'xsi:schemaLocation' => 'urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd' + 'xsi:schemaLocation' => 'https://epp.tld.ee/schema/epp-ee-1.0.xsd epp-1.0.xsd' ) do yield end diff --git a/lib/schemas/all-ee-1.0.xsd b/lib/schemas/all-ee-1.0.xsd index 3013daf48..5cba9d965 100644 --- a/lib/schemas/all-ee-1.0.xsd +++ b/lib/schemas/all-ee-1.0.xsd @@ -18,7 +18,7 @@ --> - - @@ -11,7 +11,7 @@ Import common element types. --> - + @@ -385,4 +385,4 @@ Pending action notification response elements. - \ No newline at end of file + diff --git a/lib/schemas/contact-ee-1.1.xsd b/lib/schemas/contact-ee-1.1.xsd index 7fcb85bbc..6a115bfab 100644 --- a/lib/schemas/contact-ee-1.1.xsd +++ b/lib/schemas/contact-ee-1.1.xsd @@ -2,7 +2,7 @@ @@ -11,7 +11,7 @@ Import common element types. --> - + diff --git a/lib/schemas/contact-eis-1.0.xsd b/lib/schemas/contact-eis-1.0.xsd index cec571cec..6943c5abd 100644 --- a/lib/schemas/contact-eis-1.0.xsd +++ b/lib/schemas/contact-eis-1.0.xsd @@ -2,7 +2,7 @@ @@ -11,7 +11,7 @@ Import common element types. --> - + diff --git a/lib/schemas/domain-1.0.xsd b/lib/schemas/domain-1.0.xsd index 46859859e..329aef749 100644 --- a/lib/schemas/domain-1.0.xsd +++ b/lib/schemas/domain-1.0.xsd @@ -3,7 +3,7 @@ @@ -12,7 +12,7 @@ Import common element types. --> - + @@ -429,4 +429,4 @@ Pending action notification response elements. - \ No newline at end of file + diff --git a/lib/schemas/domain-eis-1.0.xsd b/lib/schemas/domain-eis-1.0.xsd index b38abf9d4..edf8676af 100644 --- a/lib/schemas/domain-eis-1.0.xsd +++ b/lib/schemas/domain-eis-1.0.xsd @@ -3,7 +3,7 @@ @@ -12,7 +12,7 @@ Import common element types. --> - + diff --git a/lib/schemas/epp-ee-1.0.xsd b/lib/schemas/epp-ee-1.0.xsd index 3b566e296..40388725c 100644 --- a/lib/schemas/epp-ee-1.0.xsd +++ b/lib/schemas/epp-ee-1.0.xsd @@ -1,7 +1,7 @@ - diff --git a/lib/schemas/host-1.0.xsd b/lib/schemas/host-1.0.xsd index d4bbc043e..07202779b 100644 --- a/lib/schemas/host-1.0.xsd +++ b/lib/schemas/host-1.0.xsd @@ -2,7 +2,7 @@ @@ -10,7 +10,7 @@ Import common element types. --> - + @@ -235,4 +235,4 @@ Pending action notification response elements. - \ No newline at end of file + diff --git a/lib/schemas/keyrelay-1.0.xsd b/lib/schemas/keyrelay-1.0.xsd index 2239754e7..d5a8335fd 100644 --- a/lib/schemas/keyrelay-1.0.xsd +++ b/lib/schemas/keyrelay-1.0.xsd @@ -2,7 +2,7 @@ - + diff --git a/spec/requests/epp/contact/create_spec.rb b/spec/requests/epp/contact/create_spec.rb index 9f5f2a16b..0f03fd6ac 100644 --- a/spec/requests/epp/contact/create_spec.rb +++ b/spec/requests/epp/contact/create_spec.rb @@ -2,7 +2,7 @@ require 'rails_helper' RSpec.describe 'EPP contact:create' do let(:request_xml_with_address) { ' - + @@ -86,7 +86,7 @@ RSpec.describe 'EPP contact:create' do context 'without address' do let(:request_xml_without_address) { ' - + diff --git a/spec/requests/epp/contact/info_spec.rb b/spec/requests/epp/contact/info_spec.rb index 63fd75b32..d37ac8e5f 100644 --- a/spec/requests/epp/contact/info_spec.rb +++ b/spec/requests/epp/contact/info_spec.rb @@ -2,7 +2,7 @@ require 'rails_helper' RSpec.describe 'EPP contact:update' do let(:request_xml) { ' - + diff --git a/spec/requests/epp/contact/update_spec.rb b/spec/requests/epp/contact/update_spec.rb index 0abb1ee37..cd596dd85 100644 --- a/spec/requests/epp/contact/update_spec.rb +++ b/spec/requests/epp/contact/update_spec.rb @@ -2,7 +2,7 @@ require 'rails_helper' RSpec.describe 'EPP contact:update' do let(:request_xml_with_address) { ' - + @@ -74,7 +74,7 @@ RSpec.describe 'EPP contact:update' do context 'without address' do let(:request_xml_without_address) { ' - + diff --git a/spec/support/requests/session_helpers.rb b/spec/support/requests/session_helpers.rb index 04fbb706b..3f75da577 100644 --- a/spec/support/requests/session_helpers.rb +++ b/spec/support/requests/session_helpers.rb @@ -2,7 +2,7 @@ module Requests module SessionHelpers def sign_in_to_epp_area(user: FactoryGirl.create(:api_user_epp)) login_xml = " - + #{user.username} From d22b654a7651c35928fd86870c17c835ef1270b4 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Thu, 15 Dec 2016 04:30:06 +0200 Subject: [PATCH 71/76] Update schema location from "https://epp.tld.ee/schema/epp-ee-1.0.xsd epp-1.0.xsd" to "lib/schemas/epp-ee-1.0.xsd" #251 --- doc/epp-examples.md | 572 ++++++++++++++++++++--------------------- lib/ext/xml_builder.rb | 2 +- 2 files changed, 287 insertions(+), 287 deletions(-) diff --git a/doc/epp-examples.md b/doc/epp-examples.md index 978d7214e..12b2fdfdb 100644 --- a/doc/epp-examples.md +++ b/doc/epp-examples.md @@ -38,7 +38,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -71,7 +71,7 @@ RESPONSE: ```xml - + Element '{https://epp.tld.ee/schema/contact-ee-1.1.xsd}create': Missing child element(s). Expected is one of ( {https://epp.tld.ee/schema/contact-ee-1.1.xsd}id, {https://epp.tld.ee/schema/contact-ee-1.1.xsd}postalInfo ). @@ -122,7 +122,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -182,7 +182,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -239,7 +239,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -296,7 +296,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -353,7 +353,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -410,7 +410,7 @@ RESPONSE: ```xml - + Email is invalid [email] @@ -462,7 +462,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -520,7 +520,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -578,7 +578,7 @@ RESPONSE: ```xml - + is invalid [code] @@ -630,7 +630,7 @@ RESPONSE: ```xml - + is invalid [code] @@ -682,7 +682,7 @@ RESPONSE: ```xml - + Contact code is too long, max 100 characters [code] @@ -732,7 +732,7 @@ RESPONSE: ```xml - + Element '{https://epp.tld.ee/schema/eis-1.0.xsd}ident', attribute 'cc': [facet 'maxLength'] The value 'WRONG' has a length of '5'; this exceeds the allowed maximum length of '2'. @@ -785,7 +785,7 @@ RESPONSE: ```xml - + Element '{https://epp.tld.ee/schema/eis-1.0.xsd}ident': The attribute 'cc' is required but missing. @@ -835,7 +835,7 @@ RESPONSE: ```xml - + Element '{https://epp.tld.ee/schema/eis-1.0.xsd}ident': The attribute 'type' is required but missing. @@ -890,7 +890,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -948,7 +948,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -1006,7 +1006,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -1064,7 +1064,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -1122,7 +1122,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -1179,7 +1179,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -1236,7 +1236,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -1294,7 +1294,7 @@ RESPONSE: ```xml - + Parameter value policy error. Org must be blank: postalInfo > org [org] @@ -1346,7 +1346,7 @@ RESPONSE: ```xml - + Parameter value policy error. Fax must be blank: fax [fax] @@ -1379,7 +1379,7 @@ RESPONSE: ```xml - + Element '{https://epp.tld.ee/schema/contact-ee-1.1.xsd}update': Missing child element(s). Expected is ( {https://epp.tld.ee/schema/contact-ee-1.1.xsd}id ). @@ -1429,7 +1429,7 @@ RESPONSE: ```xml - + Object does not exist @@ -1482,7 +1482,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -1528,7 +1528,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -1582,7 +1582,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -1630,7 +1630,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -1682,7 +1682,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -1730,7 +1730,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -1768,7 +1768,7 @@ RESPONSE: ```xml - + Authorization error @@ -1814,7 +1814,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -1864,7 +1864,7 @@ RESPONSE: ```xml - + Phone nr is invalid [phone] @@ -1917,7 +1917,7 @@ RESPONSE: ```xml - + Email is invalid [email] @@ -1968,7 +1968,7 @@ RESPONSE: ```xml - + Element '{https://epp.tld.ee/schema/contact-ee-1.1.xsd}id': This element is not expected. @@ -2019,7 +2019,7 @@ RESPONSE: ```xml - + Parameter value policy error. Update of ident data not allowed [ident] @@ -2070,7 +2070,7 @@ RESPONSE: ```xml - + Parameter value policy error. Org must be blank: postalInfo > org [org] @@ -2121,7 +2121,7 @@ RESPONSE: ```xml - + Parameter value policy error. Fax must be blank: fax [fax] @@ -2160,7 +2160,7 @@ RESPONSE: ```xml - + Parameter value policy error. Client-side object status management not supported: status [status] @@ -2200,7 +2200,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -2247,7 +2247,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -2295,7 +2295,7 @@ RESPONSE: ```xml - + Required parameter missing - phone [phone] @@ -2339,7 +2339,7 @@ RESPONSE: ```xml - + Required parameter missing - phone [phone] @@ -2385,7 +2385,7 @@ RESPONSE: ```xml - + Parameter value policy error. Org must be blank: postalInfo > org [org] @@ -2423,7 +2423,7 @@ RESPONSE: ```xml - + Parameter value policy error. Client-side object status management not supported: status [status] @@ -2456,7 +2456,7 @@ RESPONSE: ```xml - + Element '{https://epp.tld.ee/schema/contact-ee-1.1.xsd}delete': Missing child element(s). Expected is ( {https://epp.tld.ee/schema/contact-ee-1.1.xsd}id ). @@ -2500,7 +2500,7 @@ RESPONSE: ```xml - + Object does not exist @@ -2547,7 +2547,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -2591,7 +2591,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -2626,7 +2626,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -2670,7 +2670,7 @@ RESPONSE: ```xml - + Object association prohibits operation [domains] @@ -2718,7 +2718,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -2760,7 +2760,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -2806,7 +2806,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -2854,7 +2854,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -2887,7 +2887,7 @@ RESPONSE: ```xml - + Authorization error @@ -2933,7 +2933,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -2981,7 +2981,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -3023,7 +3023,7 @@ RESPONSE: ```xml - + Authorization error @@ -3069,7 +3069,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -3102,7 +3102,7 @@ RESPONSE: ```xml - + Element '{https://epp.tld.ee/schema/contact-ee-1.1.xsd}check': Missing child element(s). Expected is ( {https://epp.tld.ee/schema/contact-ee-1.1.xsd}id ). @@ -3138,7 +3138,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -3185,7 +3185,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -3229,7 +3229,7 @@ RESPONSE: ```xml - + Element '{https://epp.tld.ee/schema/contact-ee-1.1.xsd}info': Missing child element(s). Expected is ( {https://epp.tld.ee/schema/contact-ee-1.1.xsd}id ). @@ -3267,7 +3267,7 @@ RESPONSE: ```xml - + Object does not exist @@ -3308,7 +3308,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -3376,7 +3376,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -3444,7 +3444,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -3512,7 +3512,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -3580,7 +3580,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -3658,7 +3658,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -3694,7 +3694,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -3770,7 +3770,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -3818,7 +3818,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -3854,7 +3854,7 @@ RESPONSE: ```xml - + Authorization error @@ -3900,7 +3900,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -3948,7 +3948,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -3984,7 +3984,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -4043,7 +4043,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -4089,7 +4089,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -4152,7 +4152,7 @@ RESPONSE: ```xml - + Billing failure - credit balance low @@ -4215,7 +4215,7 @@ RESPONSE: ```xml - + Contact was not found @@ -4259,7 +4259,7 @@ RESPONSE: ```xml - + Required parameter missing: create > create > ns [ns] @@ -4331,7 +4331,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -4393,7 +4393,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -4466,7 +4466,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -4534,7 +4534,7 @@ RESPONSE: ```xml - + IPv4 is missing [ipv4] @@ -4597,7 +4597,7 @@ RESPONSE: ```xml - + Domain name is too long (maximum is 63 characters) [puny_label] @@ -4660,7 +4660,7 @@ RESPONSE: ```xml - + Required parameter missing; reserved>pw element required for reserved domains @@ -4724,7 +4724,7 @@ RESPONSE: ```xml - + Invalid authorization information; invalid reserved>pw value @@ -4790,7 +4790,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -4860,7 +4860,7 @@ RESPONSE: ```xml - + Data management policy violation: Domain name is blocked [name] @@ -4922,7 +4922,7 @@ RESPONSE: ```xml - + Required parameter missing: create > create > registrant [registrant] @@ -4975,7 +4975,7 @@ RESPONSE: ```xml - + Required parameter missing: create > create > ns [ns] @@ -5075,7 +5075,7 @@ RESPONSE: ```xml - + Nameservers count must be between 2-11 [nameservers] @@ -5136,7 +5136,7 @@ RESPONSE: ```xml - + Hostname is invalid [hostname] @@ -5202,7 +5202,7 @@ RESPONSE: ```xml - + Required parameter missing: create > create > ns > hostAttr [host_attr] @@ -5260,7 +5260,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -5325,7 +5325,7 @@ RESPONSE: ```xml - + IPv4 is invalid [ipv4] @@ -5397,7 +5397,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -5467,7 +5467,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -5537,7 +5537,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -5606,7 +5606,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -5676,7 +5676,7 @@ RESPONSE: ```xml - + Period must add up to 1, 2 or 3 years [period] @@ -5742,7 +5742,7 @@ RESPONSE: ```xml - + Element '{https://epp.tld.ee/schema/domain-eis-1.0.xsd}period', attribute 'unit': [facet 'enumeration'] The value '' is not an element of the set {'y', 'm', 'd'}. @@ -5806,7 +5806,7 @@ RESPONSE: ```xml - + Element '{https://epp.tld.ee/schema/domain-eis-1.0.xsd}period', attribute 'unit': [facet 'enumeration'] The value 'bla' is not an element of the set {'y', 'm', 'd'}. @@ -5884,7 +5884,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -5966,7 +5966,7 @@ RESPONSE: ```xml - + Element '{urn:ietf:params:xml:ns:secDNS-1.1}pubKey': [facet 'minLength'] The value has a length of '0'; this underruns the allowed minimum length of '1'. @@ -6042,7 +6042,7 @@ RESPONSE: ```xml - + Valid algorithms are: 3, 5, 6, 7, 8, 252, 253, 254, 255 [alg] @@ -6144,7 +6144,7 @@ RESPONSE: ```xml - + Public key already exists [public_key] @@ -6216,7 +6216,7 @@ RESPONSE: ```xml - + DNS keys count must be between 0-1 [dnskeys] @@ -6279,7 +6279,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -6355,7 +6355,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -6431,7 +6431,7 @@ RESPONSE: ```xml - + dsData object is not allowed @@ -6494,7 +6494,7 @@ RESPONSE: ```xml - + keyData object is not allowed @@ -6563,7 +6563,7 @@ RESPONSE: ```xml - + Element '{urn:ietf:params:xml:ns:secDNS-1.1}keyData': This element is not expected. Expected is ( {urn:ietf:params:xml:ns:secDNS-1.1}dsData ). @@ -6624,7 +6624,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -6692,7 +6692,7 @@ RESPONSE: ```xml - + Admin contacts count must be between 1-10 [admin_domain_contacts] @@ -6753,7 +6753,7 @@ RESPONSE: ```xml - + Admin contact can be private person only @@ -6804,7 +6804,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -6845,7 +6845,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -6902,7 +6902,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -6931,7 +6931,7 @@ RESPONSE: ```xml - + Command completed successfully; ack to dequeue @@ -6975,7 +6975,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7024,7 +7024,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7065,7 +7065,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7122,7 +7122,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7168,7 +7168,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7209,7 +7209,7 @@ RESPONSE: ```xml - + Authorization error @@ -7255,7 +7255,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7303,7 +7303,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7339,7 +7339,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7396,7 +7396,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7444,7 +7444,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7480,7 +7480,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7537,7 +7537,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7585,7 +7585,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7621,7 +7621,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7678,7 +7678,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7726,7 +7726,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7762,7 +7762,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7819,7 +7819,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7867,7 +7867,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7903,7 +7903,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -7960,7 +7960,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -8008,7 +8008,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -8044,7 +8044,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -8101,7 +8101,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -8149,7 +8149,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -8185,7 +8185,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -8242,7 +8242,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -8290,7 +8290,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -8326,7 +8326,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -8383,7 +8383,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -8431,7 +8431,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -8464,7 +8464,7 @@ RESPONSE: ```xml - + Authorization error @@ -8510,7 +8510,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -8553,7 +8553,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -8612,7 +8612,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -8653,7 +8653,7 @@ RESPONSE: ```xml - + Transfer can be rejected only by current registrar @@ -8699,7 +8699,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -8740,7 +8740,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -8799,7 +8799,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -8840,7 +8840,7 @@ RESPONSE: ```xml - + Transfer can be approved only by current domain registrar @@ -8886,7 +8886,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -8929,7 +8929,7 @@ RESPONSE: ```xml - + Authorization error @@ -8972,7 +8972,7 @@ RESPONSE: ```xml - + Domain already belongs to the querying registrar @@ -9007,7 +9007,7 @@ RESPONSE: ```xml - + Element '{https://epp.tld.ee/schema/epp-ee-1.0.xsd}transfer', attribute 'op': [facet 'enumeration'] The value 'bla' is not an element of the set {'approve', 'cancel', 'query', 'reject', 'request'}. @@ -9058,7 +9058,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -9099,7 +9099,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -9151,7 +9151,7 @@ RESPONSE: ```xml - + Authorization error @@ -9197,7 +9197,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -9240,7 +9240,7 @@ RESPONSE: ```xml - + No transfers found @@ -9278,7 +9278,7 @@ RESPONSE: ```xml - + No transfers found @@ -9316,7 +9316,7 @@ RESPONSE: ```xml - + No transfers found @@ -9364,7 +9364,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -9401,7 +9401,7 @@ RESPONSE: ```xml - + Unimplemented object service @@ -9450,7 +9450,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -9494,7 +9494,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -9538,7 +9538,7 @@ RESPONSE: ```xml - + Command completed successfully; action pending @@ -9578,7 +9578,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -9635,7 +9635,7 @@ RESPONSE: ```xml - + Nameservers count must be between 2-11 [nameservers] @@ -9679,7 +9679,7 @@ RESPONSE: ```xml - + Nameservers count must be between 2-11 [nameservers] @@ -9723,7 +9723,7 @@ RESPONSE: ```xml - + Object status prohibits operation @@ -9767,7 +9767,7 @@ RESPONSE: ```xml - + Object status prohibits operation @@ -9833,7 +9833,7 @@ RESPONSE: ```xml - + Contact was not found @@ -9900,7 +9900,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -9964,7 +9964,7 @@ RESPONSE: ```xml - + Nameserver already exists on this domain [hostname] @@ -10063,7 +10063,7 @@ RESPONSE: ```xml - + Contact was not found @@ -10136,7 +10136,7 @@ RESPONSE: ```xml - + Command completed successfully; action pending @@ -10175,7 +10175,7 @@ RESPONSE: ```xml - + Parameter value policy error. Client-side object status management not supported: status [status] @@ -10241,7 +10241,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -10295,7 +10295,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -10349,7 +10349,7 @@ RESPONSE: ```xml - + Nameserver was not found @@ -10408,7 +10408,7 @@ RESPONSE: ```xml - + Status was not found @@ -10454,7 +10454,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -10495,7 +10495,7 @@ RESPONSE: ```xml - + Nameserver already exists on this domain [hostname] @@ -10542,7 +10542,7 @@ RESPONSE: ```xml - + Required parameter missing: extension > extdata > legalDocument [legal_document] @@ -10580,7 +10580,7 @@ RESPONSE: ```xml - + Element '{https://epp.tld.ee/schema/domain-eis-1.0.xsd}status', attribute 's': [facet 'enumeration'] The value 'invalidStatus' is not an element of the set {'clientDeleteProhibited', 'clientHold', 'clientRenewProhibited', 'clientTransferProhibited', 'clientUpdateProhibited', 'inactive', 'ok', 'pendingCreate', 'pendingDelete', 'pendingRenew', 'pendingTransfer', 'pendingUpdate', 'serverDeleteProhibited', 'serverHold', 'serverRenewProhibited', 'serverTransferProhibited', 'serverUpdateProhibited'}. @@ -10620,7 +10620,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -10663,7 +10663,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -10705,7 +10705,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -10748,7 +10748,7 @@ RESPONSE: ```xml - + Element '{https://epp.tld.ee/schema/domain-eis-1.0.xsd}period', attribute 'unit': [facet 'enumeration'] The value '' is not an element of the set {'y', 'm', 'd'}. @@ -10786,7 +10786,7 @@ RESPONSE: ```xml - + Element '{https://epp.tld.ee/schema/domain-eis-1.0.xsd}period', attribute 'unit': [facet 'enumeration'] The value 'bla' is not an element of the set {'y', 'm', 'd'}. @@ -10826,7 +10826,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -10869,7 +10869,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -10912,7 +10912,7 @@ RESPONSE: ```xml - + Billing failure - credit balance low @@ -10949,7 +10949,7 @@ RESPONSE: ```xml - + Given and current expire dates do not match @@ -10992,7 +10992,7 @@ RESPONSE: ```xml - + Period must add up to 1, 2 or 3 years [period] @@ -11032,7 +11032,7 @@ RESPONSE: ```xml - + Object is not eligible for renewal @@ -11067,7 +11067,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -11110,7 +11110,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -11153,7 +11153,7 @@ RESPONSE: ```xml - + Object is not eligible for renewal @@ -11190,7 +11190,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -11244,7 +11244,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -11279,7 +11279,7 @@ RESPONSE: ```xml - + Authorization error @@ -11325,7 +11325,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -11362,7 +11362,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -11460,7 +11460,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -11560,7 +11560,7 @@ RESPONSE: ```xml - + Element '{https://epp.tld.ee/schema/domain-eis-1.0.xsd}name', attribute 'hosts': [facet 'enumeration'] The value 'invalid' is not an element of the set {'all', 'del', 'none', 'sub'}. @@ -11597,7 +11597,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -11660,7 +11660,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -11718,7 +11718,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -11769,7 +11769,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -11839,7 +11839,7 @@ RESPONSE: ```xml - + Domain not found @@ -11878,7 +11878,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -11956,7 +11956,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -11991,7 +11991,7 @@ RESPONSE: ```xml - + Authorization error @@ -12036,7 +12036,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -12084,7 +12084,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -12116,7 +12116,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -12189,7 +12189,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -12237,7 +12237,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -12272,7 +12272,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -12348,7 +12348,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -12388,7 +12388,7 @@ RESPONSE: ```xml - + Command completed successfully; action pending @@ -12428,7 +12428,7 @@ RESPONSE: ```xml - + Domain status prohibits operation @@ -12468,7 +12468,7 @@ RESPONSE: ```xml - + Object status prohibits operation @@ -12503,7 +12503,7 @@ RESPONSE: ```xml - + Required parameter missing: extension > extdata > legalDocument [legal_document] @@ -12538,7 +12538,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -12578,7 +12578,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -12623,7 +12623,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -12672,7 +12672,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -12714,7 +12714,7 @@ RESPONSE: ```xml - + Command completed successfully; ack to dequeue @@ -12766,7 +12766,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -12811,7 +12811,7 @@ RESPONSE: ```xml - + Unimplemented object service @@ -12858,7 +12858,7 @@ RESPONSE: ```xml - + Required parameter missing: keyrelay > keyData > flags [flags] @@ -12909,7 +12909,7 @@ RESPONSE: ```xml - + Expiry relative must be compatible to ISO 8601 @@ -12957,7 +12957,7 @@ RESPONSE: ```xml - + Expiry absolute must be compatible to ISO 8601 @@ -13008,7 +13008,7 @@ RESPONSE: ```xml - + Unimplemented object service @@ -13059,7 +13059,7 @@ RESPONSE: ```xml - + Attribute is invalid: type @@ -13105,7 +13105,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -13136,7 +13136,7 @@ RESPONSE: ```xml - + Command completed successfully; no messages @@ -13184,7 +13184,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -13213,7 +13213,7 @@ RESPONSE: ```xml - + Command completed successfully; no messages @@ -13259,7 +13259,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -13288,7 +13288,7 @@ RESPONSE: ```xml - + Command completed successfully; ack to dequeue @@ -13338,7 +13338,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -13367,7 +13367,7 @@ RESPONSE: ```xml - + Message was not found @@ -13416,7 +13416,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -13445,7 +13445,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -13475,7 +13475,7 @@ RESPONSE: ```xml - + Message was not found @@ -13509,7 +13509,7 @@ RESPONSE: ```xml - + Element '{https://epp.tld.ee/schema/epp-ee-1.0.xsd}poll', attribute 'op': [facet 'enumeration'] The value 'bla' is not an element of the set {'ack', 'req'}. @@ -13543,7 +13543,7 @@ RESPONSE: ```xml - + Command completed successfully; ack to dequeue @@ -13576,7 +13576,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -13606,7 +13606,7 @@ RESPONSE: ```xml - + Command completed successfully; ack to dequeue @@ -13639,7 +13639,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -13669,7 +13669,7 @@ RESPONSE: ```xml - + Command completed successfully; ack to dequeue @@ -13702,7 +13702,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -13732,7 +13732,7 @@ RESPONSE: ```xml - + Command completed successfully; no messages @@ -13751,7 +13751,7 @@ RESPONSE: ```xml - + EPP server (EIS) 2015-09-09T09:42:29Z @@ -13823,7 +13823,7 @@ RESPONSE: ```xml - + Authentication error; server closing connection (API user not found) @@ -13871,7 +13871,7 @@ RESPONSE: ```xml - + Authentication error; server closing connection (API user is not active) @@ -13906,7 +13906,7 @@ RESPONSE: ```xml - + You need to login first. @@ -13953,7 +13953,7 @@ RESPONSE: ```xml - + Authentication error; server closing connection (API user not found) @@ -14000,7 +14000,7 @@ RESPONSE: ```xml - + Parameter value policy error. Allowed only Latin characters. @@ -14048,7 +14048,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -14096,7 +14096,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -14142,7 +14142,7 @@ RESPONSE: ```xml - + Already logged in. Use <logout> first. @@ -14190,7 +14190,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -14219,7 +14219,7 @@ RESPONSE: ```xml - + Command completed successfully; ending session @@ -14268,7 +14268,7 @@ RESPONSE: ```xml - + Command completed successfully @@ -14317,7 +14317,7 @@ RESPONSE: ```xml - + Element '{https://epp.tld.ee/schema/epp-ee-1.0.xsd}newPW': [facet 'minLength'] The value has a length of '0'; this underruns the allowed minimum length of '6'. diff --git a/lib/ext/xml_builder.rb b/lib/ext/xml_builder.rb index ef5e2af4d..2c933c480 100644 --- a/lib/ext/xml_builder.rb +++ b/lib/ext/xml_builder.rb @@ -6,7 +6,7 @@ class Builder::XmlMarkup epp( 'xmlns' => 'https://epp.tld.ee/schema/epp-ee-1.0.xsd', 'xmlns:xsi' => 'http://www.w3.org/2001/XMLSchema-instance', - 'xsi:schemaLocation' => 'https://epp.tld.ee/schema/epp-ee-1.0.xsd epp-1.0.xsd' + 'xsi:schemaLocation' => 'lib/schemas/epp-ee-1.0.xsd' ) do yield end From e08cc9c7c9a5363c0aadc5ba88b4060411673e7c Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Thu, 15 Dec 2016 11:17:00 +0200 Subject: [PATCH 72/76] Revert app/controllers/epp/sessions_controller.rb #251 --- app/controllers/epp/sessions_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/epp/sessions_controller.rb b/app/controllers/epp/sessions_controller.rb index 14fd58173..58a314410 100644 --- a/app/controllers/epp/sessions_controller.rb +++ b/app/controllers/epp/sessions_controller.rb @@ -27,7 +27,7 @@ class Epp::SessionsController < EppController end end - if !Rails.env.development? && !Rails.env.test? && !webclient_request && @api_user + if !webclient_request && @api_user unless @api_user.api_pki_ok?(request.env['HTTP_SSL_CLIENT_CERT'], request.env['HTTP_SSL_CLIENT_S_DN_CN']) epp_errors << { msg: 'Authentication error; server closing connection (certificate is not valid)', From a97b69e27ff1642f477852a108321bd8cf43223b Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Fri, 16 Dec 2016 02:51:24 +0200 Subject: [PATCH 73/76] Fix REPP API contacts #251 --- app/api/repp/contact_v1.rb | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/api/repp/contact_v1.rb b/app/api/repp/contact_v1.rb index ea7bfdc43..810829ef7 100644 --- a/app/api/repp/contact_v1.rb +++ b/app/api/repp/contact_v1.rb @@ -21,8 +21,6 @@ module Repp attributes = Contact.attribute_names - Contact.address_attribute_names contacts = contacts.select(attributes) end - - contacts else contacts = current_user.registrar.contacts.limit(limit).offset(offset).pluck(:code) end From 6ae79d5b83cb83cb06c347daf9391aa50c542c5c Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Fri, 16 Dec 2016 03:28:00 +0200 Subject: [PATCH 74/76] Update readme #251 --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8a59838ff..a58d3a268 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +16.12.2016 +* Allow contact address processing to be configurable via admin +* EPP XML schema namespace "urn:ietf:params:xml:ns:epp-1.0" replaced with "https://epp.tld.ee/schema/epp-ee-1.0.xsd" +* EPP XML schema contact-eis-1.0 replaced with contact-ee-1.1 + 18.11.2016 * Domain expiration emails are now sent out to admin contacts as well. Sending bug is fixed. * Include detailed registrar's contact info in emails From 09fd78c51a6a6b819cb08101ad963322d84b802a Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Fri, 16 Dec 2016 04:31:25 +0200 Subject: [PATCH 75/76] Update epp and epp-xml gems #251 --- Gemfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 83ec9b4a7..0847bebd7 100644 --- a/Gemfile +++ b/Gemfile @@ -83,9 +83,9 @@ gem 'deep_cloneable', '2.1.1' # id + mid login gem 'digidoc_client', '0.2.1' -# epp -gem 'epp', '1.4.2', github: 'internetee/epp' -gem 'epp-xml', '1.0.5', github: 'internetee/epp-xml' # EIS EPP XMLs +# EPP +gem 'epp', '1.5.0', github: 'internetee/epp' +gem 'epp-xml', '1.1.0', github: 'internetee/epp-xml' gem 'uuidtools', '2.1.5' # For unique IDs (used by the epp gem) # que From 99a928fd3ad00989899f24a8b756c6cabdae55c0 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Fri, 16 Dec 2016 04:42:31 +0200 Subject: [PATCH 76/76] Update epp and epp-xml gems #251 --- Gemfile | 1 - Gemfile.lock | 14 +++++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/Gemfile b/Gemfile index 0847bebd7..11e5d92a0 100644 --- a/Gemfile +++ b/Gemfile @@ -83,7 +83,6 @@ gem 'deep_cloneable', '2.1.1' # id + mid login gem 'digidoc_client', '0.2.1' -# EPP gem 'epp', '1.5.0', github: 'internetee/epp' gem 'epp-xml', '1.1.0', github: 'internetee/epp-xml' gem 'uuidtools', '2.1.5' # For unique IDs (used by the epp gem) diff --git a/Gemfile.lock b/Gemfile.lock index 31ecaeb02..7b3810caf 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -18,17 +18,17 @@ GIT GIT remote: https://github.com/internetee/epp-xml.git - revision: 475f650951f2cf5015e00d48f408a2194ecc1662 + revision: 5dd542e67ef26d58365f30e553254d6db809277d specs: - epp-xml (1.0.5) + epp-xml (1.1.0) activesupport (~> 4.1) builder (~> 3.2) GIT remote: https://github.com/internetee/epp.git - revision: 505c3f2739eb1da918e54111aecfb138a822739d + revision: 1a50f2144f15a2d975337e56fb1ccaba5d956e9d specs: - epp (1.4.2) + epp (1.5.0) hpricot libxml-ruby @@ -299,7 +299,7 @@ GEM launchy (2.4.3) addressable (~> 2.3) libv8 (3.16.14.11) - libxml-ruby (2.8.0) + libxml-ruby (2.9.0) liquid (3.0.6) listen (3.0.3) rb-fsevent (>= 0.9.3) @@ -593,8 +593,8 @@ DEPENDENCIES deep_cloneable (= 2.1.1) devise (= 3.5.4) digidoc_client (= 0.2.1) - epp (= 1.4.2)! - epp-xml (= 1.0.5)! + epp (= 1.5.0)! + epp-xml (= 1.1.0)! fabrication (= 2.13.2) factory_girl_rails figaro (= 1.1.1)