diff --git a/doc/schemas/contact-1.0.xsd b/doc/schemas/contact-1.0.xsd
index dc2b366e6..9fa665a88 100644
--- a/doc/schemas/contact-1.0.xsd
+++ b/doc/schemas/contact-1.0.xsd
@@ -12,6 +12,7 @@
-->
+
@@ -94,7 +95,7 @@
-->
-
+
-
-
+ minOccurs="0"/>
+
+
@@ -117,8 +117,7 @@
minOccurs="0"/>
-
+
@@ -148,21 +147,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
@@ -240,8 +224,6 @@
minOccurs="0"/>
-
@@ -331,8 +313,6 @@
minOccurs="0"/>
-
diff --git a/doc/schemas/eis-1.0.xsd b/doc/schemas/eis-1.0.xsd
index 390c45579..98a73caf6 100644
--- a/doc/schemas/eis-1.0.xsd
+++ b/doc/schemas/eis-1.0.xsd
@@ -26,8 +26,8 @@
-
+
@@ -55,10 +55,11 @@
-
+
+
+
+
+
+
+
+
diff --git a/spec/epp/contact_spec.rb b/spec/epp/contact_spec.rb
index 02540e109..c57680845 100644
--- a/spec/epp/contact_spec.rb
+++ b/spec/epp/contact_spec.rb
@@ -2,6 +2,7 @@ require 'rails_helper'
describe 'EPP Contact', epp: true do
before :all do
+ @xsd = Nokogiri::XML::Schema(File.read('doc/schemas/contact-1.0.xsd'))
@registrar1 = Fabricate(:registrar1)
@registrar2 = Fabricate(:registrar2)
@epp_xml = EppXml::Contact.new(cl_trid: 'ABC-12345')
@@ -15,7 +16,7 @@ describe 'EPP Contact', epp: true do
@extension = {
legalDocument: {
- value: 'JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==',
+ value: 'dGVzdCBmYWlsCg==',
attrs: { type: 'pdf' }
},
ident: {
@@ -31,8 +32,10 @@ describe 'EPP Contact', epp: true do
extension = @extension if extension.blank?
defaults = {
+ id: nil,
postalInfo: {
name: { value: 'John Doe' },
+ org: nil,
addr: {
street: { value: '123 Example' },
city: { value: 'Tallinn' },
@@ -48,7 +51,7 @@ describe 'EPP Contact', epp: true do
end
it 'fails if request xml is missing' do
- response = epp_plain_request(@epp_xml.create, :xml)
+ response = epp_plain_request(@epp_xml.create, validate_input: false)
response[:results][0][:msg].should ==
'Required parameter missing: create > create > postalInfo > name [name]'
response[:results][1][:msg].should ==
@@ -103,7 +106,7 @@ describe 'EPP Contact', epp: true do
it 'successfully saves ident type' do
extension = {
legalDocument: {
- value: 'JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==',
+ value: 'dGVzdCBmYWlsCg==',
attrs: { type: 'pdf' }
},
ident: {
@@ -205,7 +208,7 @@ describe 'EPP Contact', epp: true do
end
it 'should generate server id when id is empty' do
- response = create_request({ id: { value: '' } })
+ response = create_request({ id: nil })
response[:msg].should == 'Command completed successfully'
response[:result_code].should == '1000'
@@ -381,7 +384,7 @@ describe 'EPP Contact', epp: true do
it 'should update ident' do
extension = {
legalDocument: {
- value: 'JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==',
+ value: 'dGVzdCBmYWlsCg==',
attrs: { type: 'pdf' }
},
ident: {
diff --git a/t b/t
new file mode 100644
index 000000000..fc3482031
--- /dev/null
+++ b/t
@@ -0,0 +1,195 @@
+[1mdiff --git a/doc/schemas/contact-1.0.xsd b/doc/schemas/contact-1.0.xsd[m
+[1mindex dc2b366..9fa665a 100644[m
+[1m--- a/doc/schemas/contact-1.0.xsd[m
+[1m+++ b/doc/schemas/contact-1.0.xsd[m
+[36m@@ -12,6 +12,7 @@[m
+ -->[m
+ [m
+ [m
+[32m+[m[32m [m[41m
[m
+ [m
+ [m
+ [m
+[36m@@ -94,7 +95,7 @@[m
+ -->[m
+ [m
+ [m
+[31m- [m
+[32m+[m[32m [m[41m
[m
+ [m
+ [m
+ [m
+ [m
+[31m- [m
+[31m- [m
+[32m+[m[32m minOccurs="0"/>[m[41m
[m
+[32m+[m[32m [m[41m
[m
+[32m+[m[41m
[m
+ [m
+ [m
+ [m
+[36m@@ -117,8 +117,7 @@[m
+ minOccurs="0"/>[m
+ [m
+ [m
+[31m- [m
+[32m+[m[32m [m[41m
[m
+ [m
+ [m
+ [m
+[36m@@ -148,21 +147,6 @@[m
+ [m
+ [m
+ [m
+[31m- [m
+[31m- [m
+[31m- [m
+[31m- [m
+[31m- [m
+[31m- [m
+[31m- [m
+[31m- [m
+[31m- [m
+[31m- [m
+[31m- [m
+[31m-[m
+ [m
+ [m
+[36m@@ -240,8 +224,6 @@[m
+ minOccurs="0"/>[m
+ [m
+[31m- [m
+ [m
+ [m
+ [m
+[36m@@ -331,8 +313,6 @@[m
+ minOccurs="0"/>[m
+ [m
+[31m- [m
+ [m
+ [m
+ [m
+[1mdiff --git a/doc/schemas/eis-1.0.xsd b/doc/schemas/eis-1.0.xsd[m
+[1mindex 390c455..98a73ca 100644[m
+[1m--- a/doc/schemas/eis-1.0.xsd[m
+[1m+++ b/doc/schemas/eis-1.0.xsd[m
+[36m@@ -26,8 +26,8 @@[m
+ [m
+ [m
+[31m-[m
+[32m+[m[32m [m
+ [m
+ [m
+ [m
+[36m@@ -55,10 +55,11 @@[m
+ [m
+ [m
+ [m
+[31m- [m
+[32m+[m[32m [m
+[32m+[m
+[32m+[m[32m [m
+[32m+[m[32m [m
+[32m+[m[32m [m
+[32m+[m[32m [m
+[32m+[m[32m [m
+[32m+[m[32m [m
+ [m
+[1mdiff --git a/spec/epp/contact_spec.rb b/spec/epp/contact_spec.rb[m
+[1mindex 02540e1..c576808 100644[m
+[1m--- a/spec/epp/contact_spec.rb[m
+[1m+++ b/spec/epp/contact_spec.rb[m
+[36m@@ -2,6 +2,7 @@[m [mrequire 'rails_helper'[m
+ [m
+ describe 'EPP Contact', epp: true do[m
+ before :all do[m
+[32m+[m[32m @xsd = Nokogiri::XML::Schema(File.read('doc/schemas/contact-1.0.xsd'))[m
+ @registrar1 = Fabricate(:registrar1)[m
+ @registrar2 = Fabricate(:registrar2)[m
+ @epp_xml = EppXml::Contact.new(cl_trid: 'ABC-12345')[m
+[36m@@ -15,7 +16,7 @@[m [mdescribe 'EPP Contact', epp: true do[m
+ [m
+ @extension = {[m
+ legalDocument: {[m
+[31m- value: 'JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==',[m
+[32m+[m[32m value: 'dGVzdCBmYWlsCg==',[m
+ attrs: { type: 'pdf' }[m
+ },[m
+ ident: {[m
+[36m@@ -31,8 +32,10 @@[m [mdescribe 'EPP Contact', epp: true do[m
+ extension = @extension if extension.blank?[m
+ [m
+ defaults = {[m
+[32m+[m[32m id: nil,[m
+ postalInfo: {[m
+ name: { value: 'John Doe' },[m
+[32m+[m[32m org: nil,[m
+ addr: {[m
+ street: { value: '123 Example' },[m
+ city: { value: 'Tallinn' },[m
+[36m@@ -48,7 +51,7 @@[m [mdescribe 'EPP Contact', epp: true do[m
+ end[m
+ [m
+ it 'fails if request xml is missing' do[m
+[31m- response = epp_plain_request(@epp_xml.create, :xml)[m
+[32m+[m[32m response = epp_plain_request(@epp_xml.create, validate_input: false)[m
+ response[:results][0][:msg].should ==[m
+ 'Required parameter missing: create > create > postalInfo > name [name]'[m
+ response[:results][1][:msg].should ==[m
+[36m@@ -103,7 +106,7 @@[m [mdescribe 'EPP Contact', epp: true do[m
+ it 'successfully saves ident type' do[m
+ extension = {[m
+ legalDocument: {[m
+[31m- value: 'JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==',[m
+[32m+[m[32m value: 'dGVzdCBmYWlsCg==',[m
+ attrs: { type: 'pdf' }[m
+ },[m
+ ident: {[m
+[36m@@ -205,7 +208,7 @@[m [mdescribe 'EPP Contact', epp: true do[m
+ end[m
+ [m
+ it 'should generate server id when id is empty' do[m
+[31m- response = create_request({ id: { value: '' } })[m
+[32m+[m[32m response = create_request({ id: nil })[m
+ [m
+ response[:msg].should == 'Command completed successfully'[m
+ response[:result_code].should == '1000'[m
+[36m@@ -381,7 +384,7 @@[m [mdescribe 'EPP Contact', epp: true do[m
+ it 'should update ident' do[m
+ extension = {[m
+ legalDocument: {[m
+[31m- value: 'JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==',[m
+[32m+[m[32m value: 'dGVzdCBmYWlsCg==',[m
+ attrs: { type: 'pdf' }[m
+ },[m
+ ident: {[m