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:
Timo Võhmar 2019-04-01 17:01:14 +03:00 committed by GitHub
commit 26dac12b95
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 18 additions and 3 deletions

View file

@ -52,7 +52,10 @@ module Api
end
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)
end
end

View file

@ -41,7 +41,6 @@ ActiveRecord::Schema.define(version: 20181102124618) do
create_table "whois_records", force: :cascade do |t|
t.string "name"
t.text "body"
t.json "json"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false

View file

@ -98,6 +98,19 @@ class ApiV1AuctionUpdateTest < ActionDispatch::IntegrationTest
assert_equal Time.zone.parse('2010-07-05 10:00'), @whois_record.updated_at
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
ENV['auction_api_allowed_ips'] = ''
@ -113,4 +126,4 @@ class ApiV1AuctionUpdateTest < ActionDispatch::IntegrationTest
'Content-Type' => Mime::JSON.to_s
end
end
end
end