mirror of
https://github.com/internetee/registry.git
synced 2025-07-24 11:38:30 +02:00
Domain History and basic whois rake
This commit is contained in:
parent
660e910208
commit
a6c936e18d
16 changed files with 254 additions and 128 deletions
|
@ -9,13 +9,12 @@ describe Address, '.extract_params' do
|
|||
|
||||
it 'returns params hash' do
|
||||
Fabricate(:country, iso: 'EE')
|
||||
ph = { postalInfo: { name: 'fred', addr: { cc: 'EE', city: 'Village', street: %w(street1 street2) } } }
|
||||
ph = { postalInfo: { name: 'fred', addr: { cc: 'EE', city: 'Village', street: 'street1' } } }
|
||||
expect(Address.extract_attributes(ph[:postalInfo])).to eq({
|
||||
address_attributes: {
|
||||
country_id: Country.find_by(iso: 'EE').id,
|
||||
city: 'Village',
|
||||
street: 'street1',
|
||||
street2: 'street2'
|
||||
street: 'street1'
|
||||
}
|
||||
})
|
||||
end
|
||||
|
|
|
@ -21,7 +21,6 @@ describe Contact do
|
|||
expect(@contact.valid?).to eq false
|
||||
|
||||
expect(@contact.errors.messages).to match_array({
|
||||
code: ['Required parameter missing - code'],
|
||||
phone: ['Required parameter missing - phone', 'Phone nr is invalid'],
|
||||
email: ['Required parameter missing - email', 'Email is invalid'],
|
||||
ident: ['Required parameter missing - ident'],
|
||||
|
@ -38,6 +37,43 @@ describe Contact do
|
|||
expect(@contact.valid?).to be true
|
||||
end
|
||||
end
|
||||
|
||||
context 'with callbacks' do
|
||||
before(:each) { @contact = Fabricate.build(:contact, code: '123asd', auth_info: 'qwe321') }
|
||||
|
||||
context 'after create' do
|
||||
it 'should generate code' do
|
||||
expect(@contact.code).to eq('123asd')
|
||||
@contact.save!
|
||||
expect(@contact.code).to_not eq('123asd')
|
||||
end
|
||||
|
||||
it 'should generate password' do
|
||||
expect(@contact.auth_info).to eq('qwe321')
|
||||
@contact.save!
|
||||
expect(@contact.auth_info).to_not eq('qwe321')
|
||||
end
|
||||
end
|
||||
|
||||
context 'after update' do
|
||||
before(:each) do
|
||||
@contact.save!
|
||||
@code = @contact.code
|
||||
@auth_info = @contact.auth_info
|
||||
end
|
||||
|
||||
it 'should not generate new code' do
|
||||
@contact.update_attributes(name: 'qevciherot23')
|
||||
expect(@contact.code).to eq(@code)
|
||||
end
|
||||
|
||||
it 'should not generate new auth_info' do
|
||||
@contact.update_attributes(name: 'fvrsgbqevciherot23')
|
||||
expect(@contact.auth_info).to eq(@auth_info)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
describe Contact, '#relations_with_domain?' do
|
||||
|
@ -96,8 +132,7 @@ describe Contact, '.extract_params' do
|
|||
postalInfo: { name: 'fred', addr: { cc: 'EE' } } }
|
||||
expect(Contact.extract_attributes(ph)).to eq({
|
||||
name: 'fred',
|
||||
email: 'jdoe@example.com',
|
||||
auth_info: 'asde'
|
||||
email: 'jdoe@example.com'
|
||||
})
|
||||
end
|
||||
end
|
||||
|
@ -116,15 +151,18 @@ describe Contact, '.check_availability' do
|
|||
end
|
||||
|
||||
it 'should return in_use and available codes' do
|
||||
response = Contact.check_availability(%w(asd12 asd13 asd14))
|
||||
code = Contact.first.code
|
||||
code_ = Contact.last.code
|
||||
|
||||
response = Contact.check_availability([code, code_, 'asd14'])
|
||||
expect(response.class).to be Array
|
||||
expect(response.length).to eq(3)
|
||||
|
||||
expect(response[0][:avail]).to eq(0)
|
||||
expect(response[0][:code]).to eq('asd12')
|
||||
expect(response[0][:code]).to eq(code)
|
||||
|
||||
expect(response[1][:avail]).to eq(0)
|
||||
expect(response[1][:code]).to eq('asd13')
|
||||
expect(response[1][:code]).to eq(code_)
|
||||
|
||||
expect(response[2][:avail]).to eq(1)
|
||||
expect(response[2][:code]).to eq('asd14')
|
||||
|
|
|
@ -15,17 +15,35 @@ describe DomainVersion do
|
|||
context 'when domain is created' do
|
||||
it('creates a domain version') { expect(DomainVersion.count).to eq(1) }
|
||||
it('has a snapshot') { expect(DomainVersion.first.snapshot).not_to be_empty }
|
||||
it 'has a snapshot with correct info' do
|
||||
expect(DomainVersion.last.load_snapshot).to eq({
|
||||
admin_contacts: [{ name: 'admin_contact 1', phone: '+372.12345678',
|
||||
code: 'qwe', ident: '37605030299', email: 'admin1@v.ee' }],
|
||||
domain: { name: 'version.ee', status: nil },
|
||||
nameservers: [{ hostname: 'ns.test.ee', ipv4: nil, ipv6: nil }],
|
||||
owner_contact: { name: 'owner_contact', phone: '+372.12345678',
|
||||
code: 'asd', ident: '37605030299', email: 'owner1@v.ee' },
|
||||
tech_contacts: [{ name: 'tech_contact 1', phone: '+372.12345678',
|
||||
code: 'zxc', ident: '37605030299', email: 'tech1@v.ee' }]
|
||||
})
|
||||
|
||||
it('has a snapshot with admin_contacts') do
|
||||
expect(DomainVersion.last.load_snapshot[:admin_contacts].first).to include(
|
||||
name: 'admin_contact 1', phone: '+372.12345678', ident: '37605030299', email: 'admin1@v.ee'
|
||||
)
|
||||
end
|
||||
|
||||
it('has a snapshot with domain') do
|
||||
expect(DomainVersion.last.load_snapshot[:domain]).to include(
|
||||
name: 'version.ee', status: nil
|
||||
)
|
||||
end
|
||||
|
||||
it('has a snapshot with nameservers') do
|
||||
expect(DomainVersion.last.load_snapshot[:nameservers]).to include(
|
||||
hostname: 'ns.test.ee', ipv4: nil, ipv6: nil
|
||||
)
|
||||
end
|
||||
|
||||
it('has a snapshot with owner contact') do
|
||||
expect(DomainVersion.last.load_snapshot[:owner_contact]).to include(
|
||||
name: 'owner_contact', phone: '+372.12345678', ident: '37605030299', email: 'owner1@v.ee'
|
||||
)
|
||||
end
|
||||
|
||||
it('has a snapshot with tech contacts') do
|
||||
expect(DomainVersion.last.load_snapshot[:tech_contacts].first).to include(
|
||||
name: 'tech_contact 1', phone: '+372.12345678', ident: '37605030299', email: 'tech1@v.ee'
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -34,14 +52,15 @@ describe DomainVersion do
|
|||
expect(DomainVersion.count).to eq(1)
|
||||
Domain.first.destroy
|
||||
expect(DomainVersion.count).to eq(2)
|
||||
expect(DomainVersion.last.load_snapshot).to eq({
|
||||
expect(DomainVersion.last.load_snapshot).to include({
|
||||
admin_contacts: [],
|
||||
domain: { name: 'version.ee', status: nil },
|
||||
nameservers: [],
|
||||
owner_contact: { name: 'owner_contact', phone: '+372.12345678',
|
||||
code: 'asd', ident: '37605030299', email: 'owner1@v.ee' },
|
||||
tech_contacts: []
|
||||
})
|
||||
expect(DomainVersion.last.load_snapshot[:owner_contact]).to include(
|
||||
{ name: 'owner_contact', phone: '+372.12345678', ident: '37605030299', email: 'owner1@v.ee' }
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -80,15 +99,22 @@ describe DomainVersion do
|
|||
expect(DomainVersion.count).to eq(1)
|
||||
Contact.find_by(name: 'tech_contact 1').destroy
|
||||
expect(DomainVersion.count).to eq(2)
|
||||
expect(DomainVersion.last.load_snapshot).to eq({
|
||||
admin_contacts: [{ name: 'admin_contact 1', phone: '+372.12345678',
|
||||
code: 'qwe', ident: '37605030299', email: 'admin1@v.ee' }],
|
||||
domain: { name: 'version.ee', status: nil },
|
||||
nameservers: [{ hostname: 'ns.test.ee', ipv4: nil, ipv6: nil }],
|
||||
owner_contact: { name: 'owner_contact', phone: '+372.12345678',
|
||||
code: 'asd', ident: '37605030299', email: 'owner1@v.ee' },
|
||||
tech_contacts: []
|
||||
})
|
||||
|
||||
expect(DomainVersion.last.load_snapshot[:admin_contacts].size).to eq(1)
|
||||
expect(DomainVersion.last.load_snapshot[:admin_contacts].first).to include(
|
||||
name: 'admin_contact 1', phone: '+372.12345678', ident: '37605030299', email: 'admin1@v.ee'
|
||||
)
|
||||
expect(DomainVersion.last.load_snapshot[:domain]).to eq(
|
||||
{ name: 'version.ee', status: nil }
|
||||
)
|
||||
expect(DomainVersion.last.load_snapshot[:nameservers].size).to eq(1)
|
||||
expect(DomainVersion.last.load_snapshot[:nameservers].first).to include(
|
||||
hostname: 'ns.test.ee', ipv4: nil, ipv6: nil
|
||||
)
|
||||
expect(DomainVersion.last.load_snapshot[:owner_contact]).to include(
|
||||
{ name: 'owner_contact', phone: '+372.12345678', ident: '37605030299', email: 'owner1@v.ee' }
|
||||
)
|
||||
expect(DomainVersion.last.load_snapshot[:tech_contacts]).to eq([])
|
||||
end
|
||||
|
||||
it 'nameserver creates a version' do
|
||||
|
@ -96,18 +122,26 @@ describe DomainVersion do
|
|||
Domain.last.nameservers.last.destroy
|
||||
expect(DomainVersion.count).to eq(3)
|
||||
expect(Domain.last.nameservers.count).to eq(1)
|
||||
expect(DomainVersion.last.load_snapshot).to eq(
|
||||
admin_contacts: [{ name: 'admin_contact 1', phone: '+372.12345678',
|
||||
code: 'qwe', ident: '37605030299', email: 'admin1@v.ee' }],
|
||||
domain: { name: 'version.ee', status: nil },
|
||||
nameservers: [{ hostname: 'ns.test.ee', ipv4: nil, ipv6: nil }],
|
||||
owner_contact: { name: 'owner_contact', phone: '+372.12345678',
|
||||
code: 'asd', ident: '37605030299', email: 'owner1@v.ee' },
|
||||
tech_contacts: [{ name: 'tech_contact 1', phone: '+372.12345678',
|
||||
code: 'zxc', ident: '37605030299', email: 'tech1@v.ee' }]
|
||||
|
||||
expect(DomainVersion.last.load_snapshot[:admin_contacts].size).to eq(1)
|
||||
expect(DomainVersion.last.load_snapshot[:admin_contacts].first).to include(
|
||||
name: 'admin_contact 1', phone: '+372.12345678', ident: '37605030299', email: 'admin1@v.ee'
|
||||
)
|
||||
expect(DomainVersion.last.load_snapshot[:domain]).to eq(
|
||||
{ name: 'version.ee', status: nil }
|
||||
)
|
||||
expect(DomainVersion.last.load_snapshot[:nameservers].size).to eq(1)
|
||||
expect(DomainVersion.last.load_snapshot[:nameservers].first).to include(
|
||||
hostname: 'ns.test.ee', ipv4: nil, ipv6: nil
|
||||
)
|
||||
expect(DomainVersion.last.load_snapshot[:owner_contact]).to include(
|
||||
{ name: 'owner_contact', phone: '+372.12345678', ident: '37605030299', email: 'owner1@v.ee' }
|
||||
)
|
||||
expect(DomainVersion.last.load_snapshot[:tech_contacts].size).to eq(1)
|
||||
expect(DomainVersion.last.load_snapshot[:tech_contacts].first).to include(
|
||||
name: 'tech_contact 1', phone: '+372.12345678', ident: '37605030299', email: 'tech1@v.ee'
|
||||
)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
context 'when editing children' do
|
||||
|
@ -125,16 +159,24 @@ describe DomainVersion do
|
|||
expect(DomainVersion.count).to eq(3)
|
||||
Contact.find_by(name: 'admin_contact 1').update_attributes!(name: 'edited admin_contact')
|
||||
expect(DomainVersion.count).to eq(4)
|
||||
expect(DomainVersion.last.load_snapshot).to eq({
|
||||
admin_contacts: [{ name: 'edited admin_contact', phone: '+372.12345678',
|
||||
code: 'qwe', ident: '37605030299', email: 'admin1@v.ee' }],
|
||||
domain: { name: 'version.ee', status: nil },
|
||||
nameservers: [{ hostname: 'ns.test.ee', ipv4: nil, ipv6: nil }],
|
||||
owner_contact: { name: 'edited owner_contact', phone: '+372.12345678',
|
||||
code: 'asd', ident: '37605030299', email: 'owner1@v.ee' },
|
||||
tech_contacts: [{ name: 'edited tech_contact', phone: '+372.12345678',
|
||||
code: 'zxc', ident: '37605030299', email: 'tech1@v.ee' }]
|
||||
})
|
||||
expect(DomainVersion.last.load_snapshot[:admin_contacts].size).to eq(1)
|
||||
expect(DomainVersion.last.load_snapshot[:admin_contacts].first).to include(
|
||||
name: 'edited admin_contact', phone: '+372.12345678', ident: '37605030299', email: 'admin1@v.ee'
|
||||
)
|
||||
expect(DomainVersion.last.load_snapshot[:domain]).to eq(
|
||||
{ name: 'version.ee', status: nil }
|
||||
)
|
||||
expect(DomainVersion.last.load_snapshot[:nameservers].size).to eq(1)
|
||||
expect(DomainVersion.last.load_snapshot[:nameservers].first).to include(
|
||||
hostname: 'ns.test.ee', ipv4: nil, ipv6: nil
|
||||
)
|
||||
expect(DomainVersion.last.load_snapshot[:owner_contact]).to include(
|
||||
{ name: 'edited owner_contact', phone: '+372.12345678', ident: '37605030299', email: 'owner1@v.ee' }
|
||||
)
|
||||
expect(DomainVersion.last.load_snapshot[:tech_contacts].size).to eq(1)
|
||||
expect(DomainVersion.last.load_snapshot[:tech_contacts].first).to include(
|
||||
name: 'edited tech_contact', phone: '+372.12345678', ident: '37605030299', email: 'tech1@v.ee'
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue