Updated contact epp about info command

This commit is contained in:
Priit Tark 2015-01-28 12:46:32 +02:00
parent 00091c5502
commit ca12a3bd41

View file

@ -310,25 +310,35 @@ describe 'EPP Contact', epp: true do
context 'info command' do context 'info command' do
before :all do before :all do
@registrar1_contact = Fabricate(:contact, code: 'info-4444', registrar: registrar1) @registrar1_contact = Fabricate(:contact, code: 'info-4444', registrar: registrar1,
name: 'Johnny Awesome', address: Fabricate(:address))
end end
# it 'discloses items with wrong password when queried by owner' do it 'return info about contact' do
# @contact = Fabricate(:contact, login_as :registrar1 do
# registrar: registrar1, code: 'info-4444', xml = epp_xml.info(id: { value: @registrar1_contact.code })
# name: 'Johnny Awesome', auth_info: 'asde', response = epp_plain_request(xml, :xml)
# address: Fabricate(:address), disclosure: Fabricate(:contact_disclosure, name: false)) response[:msg].should == 'Command completed successfully'
response[:result_code].should == '1000'
# xml = epp_xml.info({ id: { value: @contact.code } }) contact = response[:parsed].css('resData chkData')
# login_as :registrar1 do contact.css('name').first.text.should == 'Johnny Awesome'
# response = epp_plain_request(xml, :xml) end
# contact = response[:parsed].css('resData chkData') end
# expect(response[:result_code]).to eq('1000') it 'fails if request invalid' do
# expect(response[:msg]).to eq('Command completed successfully') response = epp_plain_request(epp_xml.info({ wrongid: { value: '123123' } }), :xml)
# expect(contact.css('name').first.text).to eq('Johnny Awesome') response[:results][0][:msg].should == 'Required parameter missing: id'
# end response[:results][0][:result_code].should == '2003'
# end response[:results].count.should == 1
end
it 'returns error when object does not exist' do
response = epp_plain_request(info_contact_xml({ id: { value: 'no-contact' } }), :xml)
response[:msg].should == 'Object does not exist'
response[:result_code].should == '2303'
response[:results][0][:value].should == 'no-contact'
end
# it 'returns auth error for non-owner with wrong password' do # it 'returns auth error for non-owner with wrong password' do
# @contact = Fabricate(:contact, # @contact = Fabricate(:contact,
@ -342,80 +352,70 @@ describe 'EPP Contact', epp: true do
# expect(response[:msg]).to eq('Authentication error') # expect(response[:msg]).to eq('Authentication error')
# end # end
# it 'doesn\'t disclose items to non-owner with right password' do context 'about disclose' do
# @contact = Fabricate(:contact, registrar: registrar2, code: 'info-4444', # it 'discloses items with wrong password when queried by owner' do
# name: 'Johnny Awesome', auth_info: 'password', # @contact = Fabricate(:contact,
# address: Fabricate(:address), disclosure: Fabricate(:contact_disclosure, name: false)) # registrar: registrar1, code: 'info-4444',
# name: 'Johnny Awesome', auth_info: 'asde',
# address: Fabricate(:address), disclosure: Fabricate(:contact_disclosure, name: false))
# xml = epp_xml.info({ id: { value: @contact.code }, authInfo: { pw: { value: 'password' } } }) # xml = epp_xml.info({ id: { value: @contact.code } })
# response = epp_plain_request(xml, :xml, :registrar1) # login_as :registrar1 do
# contact = response[:parsed].css('resData chkData') # response = epp_plain_request(xml, :xml)
# contact = response[:parsed].css('resData chkData')
# expect(response[:result_code]).to eq('1000') # expect(response[:result_code]).to eq('1000')
# expect(response[:msg]).to eq('Command completed successfully') # expect(response[:msg]).to eq('Command completed successfully')
# expect(contact.css('chkData postalInfo name').first).to eq(nil) # expect(contact.css('name').first.text).to eq('Johnny Awesome')
# end # end
# end
# it 'discloses items to owner' do # it 'doesn\'t disclose items to non-owner with right password' do
# @contact = Fabricate(:contact, registrar: registrar1, code: 'info-4444', name: 'Johnny Awesome', # @contact = Fabricate(:contact, registrar: registrar2, code: 'info-4444',
# auth_info: 'password', # name: 'Johnny Awesome', auth_info: 'password',
# address: Fabricate(:address), disclosure: Fabricate(:contact_disclosure, name: false)) # address: Fabricate(:address), disclosure: Fabricate(:contact_disclosure, name: false))
# xml = epp_xml.info({ id: { value: @contact.code } }) # xml = epp_xml.info({ id: { value: @contact.code }, authInfo: { pw: { value: 'password' } } })
# response = epp_plain_request(xml, :xml, :registrar1) # response = epp_plain_request(xml, :xml, :registrar1)
# contact = response[:parsed].css('resData chkData') # contact = response[:parsed].css('resData chkData')
# expect(response[:result_code]).to eq('1000') # expect(response[:result_code]).to eq('1000')
# expect(response[:msg]).to eq('Command completed successfully') # expect(response[:msg]).to eq('Command completed successfully')
# expect(contact.css('name').first.text).to eq('Johnny Awesome') # expect(contact.css('chkData postalInfo name').first).to eq(nil)
# end # end
# it 'fails if request invalid' do # it 'discloses items to owner' do
# response = epp_plain_request(epp_xml.info({ uid: { value: '123123' } }), :xml) # @contact = Fabricate(:contact, registrar: registrar1, code: 'info-4444', name: 'Johnny Awesome',
# auth_info: 'password',
# address: Fabricate(:address), disclosure: Fabricate(:contact_disclosure, name: false))
# expect(response[:results][0][:result_code]).to eq('2003') # xml = epp_xml.info({ id: { value: @contact.code } })
# expect(response[:results][0][:msg]).to eq('Required parameter missing: id') # response = epp_plain_request(xml, :xml, :registrar1)
# expect(response[:results].count).to eq 1 # contact = response[:parsed].css('resData chkData')
# end
# it 'returns error when object does not exist' do # expect(response[:result_code]).to eq('1000')
# response = epp_plain_request(info_contact_xml({ id: { value: 'info-4444' } }), :xml) # expect(response[:msg]).to eq('Command completed successfully')
# expect(response[:result_code]).to eq('2303') # expect(contact.css('name').first.text).to eq('Johnny Awesome')
# expect(response[:msg]).to eq('Object does not exist') # end
# expect(response[:results][0][:value]).to eq('info-4444')
# end
# it 'returns info about contact' do # it 'doesn\'t disclose private elements' do
# @contact = Fabricate(:contact, registrar: registrar1, code: 'info-4444', name: 'Johnny Awesome', # Fabricate(:contact, code: 'info-4444', auth_info: '2fooBAR', registrar: registrar2,
# address: Fabricate(:address)) # disclosure: Fabricate(:contact_disclosure, name: true, email: false, phone: false))
# xml = epp_xml.info(id: { value: @contact.code }) # xml = epp_xml.info({ id: { value: 'info-4444' }, authInfo: { pw: { value: '2fooBAR' } } })
# response = epp_plain_request(xml, :xml, :registrar1)
# contact = response[:parsed].css('resData chkData')
# expect(response[:result_code]).to eq('1000') # response = epp_plain_request(xml, :xml, :registrar1)
# expect(response[:msg]).to eq('Command completed successfully') # contact = response[:parsed].css('resData chkData')
# expect(contact.css('name').first.text).to eq('Johnny Awesome')
# end # expect(response[:result_code]).to eq('1000')
# it 'doesn\'t disclose private elements' do # expect(contact.css('chkData phone')).to eq(contact.css('chkData disclose phone'))
# Fabricate(:contact, code: 'info-4444', auth_info: '2fooBAR', registrar: registrar2, # expect(contact.css('chkData phone').count).to eq(1)
# disclosure: Fabricate(:contact_disclosure, name: true, email: false, phone: false)) # expect(contact.css('chkData email')).to eq(contact.css('chkData disclose email'))
# expect(contact.css('chkData email').count).to eq(1)
# xml = epp_xml.info({ id: { value: 'info-4444' }, authInfo: { pw: { value: '2fooBAR' } } }) # expect(contact.css('postalInfo name').present?).to be(true)
# end
# response = epp_plain_request(xml, :xml, :registrar1) end
# contact = response[:parsed].css('resData chkData')
# expect(response[:result_code]).to eq('1000')
# expect(contact.css('chkData phone')).to eq(contact.css('chkData disclose phone'))
# expect(contact.css('chkData phone').count).to eq(1)
# expect(contact.css('chkData email')).to eq(contact.css('chkData disclose email'))
# expect(contact.css('chkData email').count).to eq(1)
# expect(contact.css('postalInfo name').present?).to be(true)
# end
it 'does not display unassociated object without password' do it 'does not display unassociated object without password' do
# xml = epp_xml.info(id: { value: @registrar1_contact.code }) # xml = epp_xml.info(id: { value: @registrar1_contact.code })