Merge pull request #2161 from internetee/2158-nameserver-bulk-addition

REPP: bulk nameservers addition
This commit is contained in:
Timo Võhmar 2021-09-29 18:41:18 +03:00 committed by GitHub
commit 61df405560
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 191 additions and 34 deletions

View file

@ -38,7 +38,7 @@ class APIDomainAdminContactsTest < ApplicationIntegrationTest
end
def test_skip_discarded_domains
domains(:airport).update!(statuses: [DomainStatus::DELETE_CANDIDATE])
domains(:airport).update!(statuses: [DomainStatus::SERVER_UPDATE_PROHIBITED])
patch '/repp/v1/domains/admin_contacts', params: { current_contact_id: @admin_current.code,
new_contact_id: @admin_new.code },
@ -61,8 +61,8 @@ class APIDomainAdminContactsTest < ApplicationIntegrationTest
end
def test_return_skipped_domains_in_alphabetical_order
domains(:shop).update!(statuses: [DomainStatus::DELETE_CANDIDATE])
domains(:airport).update!(statuses: [DomainStatus::DELETE_CANDIDATE])
domains(:shop).update!(statuses: [DomainStatus::SERVER_UPDATE_PROHIBITED])
domains(:airport).update!(statuses: [DomainStatus::SERVER_UPDATE_PROHIBITED])
patch '/repp/v1/domains/admin_contacts', params: { current_contact_id: @admin_current.code,
new_contact_id: @admin_new.code },

View file

@ -12,7 +12,7 @@ class APIDomainContactsTest < ApplicationIntegrationTest
end
def test_skip_discarded_domains
domains(:airport).update!(statuses: [DomainStatus::DELETE_CANDIDATE])
domains(:airport).update!(statuses: [DomainStatus::SERVER_UPDATE_PROHIBITED])
patch '/repp/v1/domains/contacts', params: { current_contact_id: 'william-001',
new_contact_id: 'john-001' },
@ -33,8 +33,8 @@ class APIDomainContactsTest < ApplicationIntegrationTest
end
def test_return_skipped_domains_in_alphabetical_order
domains(:shop).update!(statuses: [DomainStatus::DELETE_CANDIDATE])
domains(:airport).update!(statuses: [DomainStatus::DELETE_CANDIDATE])
domains(:shop).update!(statuses: [DomainStatus::SERVER_UPDATE_PROHIBITED])
domains(:airport).update!(statuses: [DomainStatus::SERVER_UPDATE_PROHIBITED])
patch '/repp/v1/domains/contacts', params: { current_contact_id: 'william-001',
new_contact_id: 'john-001' },

View file

@ -34,6 +34,57 @@ class ReppV1RegistrarNameserversTest < ActionDispatch::IntegrationTest
assert json[:data][:affected_domains].include? 'shop.test'
end
def test_add_nameserver_values
nameserver = nameservers(:shop_ns1)
payload = {
"data": {
"type": 'nameserver',
"domains": ['shop.test'],
"attributes": {
"hostname": "#{nameserver.hostname}.testtest",
"ipv4": ['2.2.2.2']
}
}
}
put '/repp/v1/registrar/nameservers', headers: @auth_headers, params: payload
json = JSON.parse(response.body, symbolize_names: true)
assert_response :ok
assert_equal 1000, json[:code]
assert_equal 'Command completed successfully', json[:message]
assert_equal({ hostname: "#{nameserver.hostname}.testtest", ipv4: ['2.2.2.2'] }, json[:data][:attributes])
assert json[:data][:affected_domains].include? 'shop.test'
end
def test_add_nameserver_values_to_array_of_domains
nameserver = nameservers(:shop_ns1)
airport_domain = domains(:airport)
airport_domain.update(statuses: [DomainStatus::FORCE_DELETE,
DomainStatus::SERVER_RENEW_PROHIBITED,
DomainStatus::SERVER_TRANSFER_PROHIBITED])
payload = {
"data": {
"type": 'nameserver',
"domains": ['shop.test', 'airport.test'],
"attributes": {
"hostname": "#{nameserver.hostname}.arraytest",
"ipv4": ['2.2.2.2']
}
}
}
put '/repp/v1/registrar/nameservers', headers: @auth_headers, params: payload
json = JSON.parse(response.body, symbolize_names: true)
assert_response :ok
assert_equal 1000, json[:code]
assert_equal 'Command completed successfully', json[:message]
assert_equal({ hostname: "#{nameserver.hostname}.arraytest", ipv4: ['2.2.2.2'] }, json[:data][:attributes])
assert json[:data][:affected_domains].include? 'shop.test'
assert json[:data][:affected_domains].include? 'airport.test'
end
def test_fails_to_update_if_prohibited
domain = domains(:shop)
domain.update(statuses: [DomainStatus::CLIENT_UPDATE_PROHIBITED])