mirror of
https://github.com/internetee/registry.git
synced 2025-06-11 15:14:47 +02:00
Merge pull request #1134 from internetee/create-auction-whois-record-if-they-do-not-exist
On status update, create WHOIS records for domains in auction
This commit is contained in:
commit
26dac12b95
3 changed files with 18 additions and 3 deletions
|
@ -52,7 +52,10 @@ module Api
|
||||||
end
|
end
|
||||||
|
|
||||||
def update_whois_from_auction(auction)
|
def update_whois_from_auction(auction)
|
||||||
whois_record = Whois::Record.find_by!(name: auction.domain)
|
whois_record = Whois::Record.find_or_create_by(name: auction.domain) do |record|
|
||||||
|
record.json = {}
|
||||||
|
end
|
||||||
|
|
||||||
whois_record.update_from_auction(auction)
|
whois_record.update_from_auction(auction)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -41,7 +41,6 @@ ActiveRecord::Schema.define(version: 20181102124618) do
|
||||||
|
|
||||||
create_table "whois_records", force: :cascade do |t|
|
create_table "whois_records", force: :cascade do |t|
|
||||||
t.string "name"
|
t.string "name"
|
||||||
t.text "body"
|
|
||||||
t.json "json"
|
t.json "json"
|
||||||
t.datetime "created_at", null: false
|
t.datetime "created_at", null: false
|
||||||
t.datetime "updated_at", null: false
|
t.datetime "updated_at", null: false
|
||||||
|
|
|
@ -98,6 +98,19 @@ class ApiV1AuctionUpdateTest < ActionDispatch::IntegrationTest
|
||||||
assert_equal Time.zone.parse('2010-07-05 10:00'), @whois_record.updated_at
|
assert_equal Time.zone.parse('2010-07-05 10:00'), @whois_record.updated_at
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_creates_whois_record_if_does_not_exist
|
||||||
|
travel_to Time.zone.parse('2010-07-05 10:00')
|
||||||
|
assert_equal 'auction.test', @auction.domain
|
||||||
|
@whois_record.delete
|
||||||
|
|
||||||
|
patch api_v1_auction_path(@auction.uuid), { status: Auction.statuses[:payment_received] }
|
||||||
|
.to_json, 'Content-Type' => Mime::JSON.to_s
|
||||||
|
|
||||||
|
new_whois_record = Whois::Record.find_by(name: @auction.domain)
|
||||||
|
assert_equal Time.zone.parse('2010-07-05 10:00'), new_whois_record.updated_at
|
||||||
|
assert_equal ['PendingRegistration'], new_whois_record.json['status']
|
||||||
|
end
|
||||||
|
|
||||||
def test_inaccessible_when_ip_address_is_not_allowed
|
def test_inaccessible_when_ip_address_is_not_allowed
|
||||||
ENV['auction_api_allowed_ips'] = ''
|
ENV['auction_api_allowed_ips'] = ''
|
||||||
|
|
||||||
|
@ -113,4 +126,4 @@ class ApiV1AuctionUpdateTest < ActionDispatch::IntegrationTest
|
||||||
'Content-Type' => Mime::JSON.to_s
|
'Content-Type' => Mime::JSON.to_s
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue