mirror of
https://github.com/internetee/registry.git
synced 2025-06-09 14:14:49 +02:00
Merge branch 'remove-dev-rake-task' into registry-790
This commit is contained in:
commit
e34ef78c4d
2 changed files with 1 additions and 183 deletions
|
@ -1,183 +0,0 @@
|
||||||
namespace :dev do
|
|
||||||
desc 'Generates dummy data in development environment' \
|
|
||||||
' (options: [random] for random data generation - slowest)'
|
|
||||||
|
|
||||||
task :prime, [:random] => :environment do |t, args|
|
|
||||||
abort 'Production environment is not supported' if Rails.env.production?
|
|
||||||
|
|
||||||
include FactoryBot::Syntax::Methods
|
|
||||||
|
|
||||||
PaperTrail.enabled = false
|
|
||||||
Domain.paper_trail_on!
|
|
||||||
Contact.paper_trail_on!
|
|
||||||
|
|
||||||
with_random_data = args[:random].present?
|
|
||||||
|
|
||||||
def create_domain(name:, registrar:, registrant:, account:, price:, reg_time:)
|
|
||||||
duration = price.duration.sub('mons', 'months').split("\s")
|
|
||||||
period = duration.first.to_i
|
|
||||||
period_unit = duration.second[0]
|
|
||||||
|
|
||||||
create(:domain,
|
|
||||||
name: name,
|
|
||||||
period: period,
|
|
||||||
period_unit: period_unit,
|
|
||||||
registered_at: reg_time,
|
|
||||||
expire_time: reg_time + period.send(duration.second.to_sym),
|
|
||||||
created_at: reg_time,
|
|
||||||
updated_at: reg_time,
|
|
||||||
registrar: registrar,
|
|
||||||
registrant: registrant)
|
|
||||||
|
|
||||||
create(:account_activity,
|
|
||||||
account: account,
|
|
||||||
sum: -price.price.amount,
|
|
||||||
activity_type: AccountActivity::CREATE,
|
|
||||||
created_at: reg_time,
|
|
||||||
updated_at: reg_time,
|
|
||||||
price: price)
|
|
||||||
end
|
|
||||||
|
|
||||||
def generate_default_data
|
|
||||||
create(:admin_user, username: 'test', password: 'testtest', password_confirmation: 'testtest')
|
|
||||||
|
|
||||||
zone = create(:zone, origin: 'test')
|
|
||||||
registrar = create(:registrar, name: 'test')
|
|
||||||
registrant = create(:registrant, name: 'test', registrar: registrar)
|
|
||||||
|
|
||||||
account = create(:account, registrar: registrar, balance: 1_000_000)
|
|
||||||
api_user = create(:api_user, username: 'test', password: 'testtest', registrar: registrar)
|
|
||||||
|
|
||||||
epp_session = EppSession.new
|
|
||||||
epp_session.session_id = 'test'
|
|
||||||
epp_session.user = api_user
|
|
||||||
epp_session.save!
|
|
||||||
|
|
||||||
domain_counter = 1.step
|
|
||||||
|
|
||||||
Billing::Price.durations.each do |duration|
|
|
||||||
Billing::Price.operation_categories.each do |operation_category|
|
|
||||||
price = create(:price,
|
|
||||||
price: Money.from_amount(duration.to_i * 10),
|
|
||||||
valid_from: Time.zone.now - rand(1).months,
|
|
||||||
valid_to: Time.zone.now + rand(1).months,
|
|
||||||
duration: duration,
|
|
||||||
operation_category: operation_category,
|
|
||||||
zone: zone)
|
|
||||||
|
|
||||||
next if operation_category == 'renew'
|
|
||||||
|
|
||||||
(rand(3) + 1).times do
|
|
||||||
create_domain(name: "test#{domain_counter.next}.test",
|
|
||||||
registrar: registrar,
|
|
||||||
registrant: registrant,
|
|
||||||
account: account,
|
|
||||||
price: price,
|
|
||||||
reg_time: 1.month.ago)
|
|
||||||
end
|
|
||||||
|
|
||||||
(rand(3) + 1).times do
|
|
||||||
create_domain(name: "test#{domain_counter.next}.test",
|
|
||||||
registrar: registrar,
|
|
||||||
registrant: registrant,
|
|
||||||
account: account,
|
|
||||||
price: price,
|
|
||||||
reg_time: Time.zone.now)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
create_domain(name: 'test.test',
|
|
||||||
registrar: registrar,
|
|
||||||
registrant: registrant,
|
|
||||||
account: account,
|
|
||||||
price: Billing::Price.first,
|
|
||||||
reg_time: Time.zone.now)
|
|
||||||
end
|
|
||||||
|
|
||||||
def generate_random_data
|
|
||||||
zone_count = 10
|
|
||||||
admin_user_count = 5
|
|
||||||
registrar_count = 50
|
|
||||||
api_user_count = 10
|
|
||||||
registrant_count = 50
|
|
||||||
domain_count = 50
|
|
||||||
registrars = []
|
|
||||||
registrants = []
|
|
||||||
zones = []
|
|
||||||
registrant_names = [
|
|
||||||
'John Doe',
|
|
||||||
'John Roe',
|
|
||||||
'Jane Doe',
|
|
||||||
'Jane Roe',
|
|
||||||
'John Smith',
|
|
||||||
]
|
|
||||||
|
|
||||||
zone_count.times do
|
|
||||||
origin = SecureRandom.hex[0..(rand(5) + 1)]
|
|
||||||
zones << create(:zone, origin: origin)
|
|
||||||
end
|
|
||||||
|
|
||||||
zone_origins = zones.collect { |zone| zone.origin }
|
|
||||||
|
|
||||||
admin_user_count.times do
|
|
||||||
uid = SecureRandom.hex[0..(rand(5) + 1)]
|
|
||||||
create(:admin_user, username: "test#{uid}", password: 'testtest', password_confirmation: 'testtest')
|
|
||||||
end
|
|
||||||
|
|
||||||
registrar_count.times do
|
|
||||||
uid = SecureRandom.hex[0..(rand(5) + 1)]
|
|
||||||
registrars << create(:registrar, name: "Acme Ltd. #{uid}")
|
|
||||||
end
|
|
||||||
|
|
||||||
registrars.each do |registrar|
|
|
||||||
create(:account, registrar: registrar, balance: rand(99999))
|
|
||||||
|
|
||||||
api_user_count.times do |i|
|
|
||||||
create(:api_user, username: "test#{registrar.id}#{i}", password: 'testtest', registrar: registrar)
|
|
||||||
end
|
|
||||||
|
|
||||||
registrant_count.times do |i|
|
|
||||||
registrants << create(:registrant, name: registrant_names.sample, registrar: registrar)
|
|
||||||
end
|
|
||||||
|
|
||||||
domain_count.times do |i|
|
|
||||||
name = "test#{registrar.id}#{i}#{rand(99999)}.#{zone_origins.sample}"
|
|
||||||
period = rand(3) + 1
|
|
||||||
|
|
||||||
create(:domain,
|
|
||||||
name: name,
|
|
||||||
period: period,
|
|
||||||
period_unit: 'y',
|
|
||||||
registered_at: Time.zone.now,
|
|
||||||
expire_time: Time.zone.now + period.years,
|
|
||||||
registrar: registrar,
|
|
||||||
registrant: registrants.sample)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
zones.each do |zone|
|
|
||||||
Billing::Price.durations.each do |duration|
|
|
||||||
Billing::Price.operation_categories.each do |operation_category|
|
|
||||||
create(:price,
|
|
||||||
price: Money.from_amount(rand(10) + 1),
|
|
||||||
valid_from: Time.zone.now.beginning_of_day,
|
|
||||||
valid_to: Time.zone.now + (rand(10) + 1).years,
|
|
||||||
duration: duration,
|
|
||||||
operation_category: operation_category,
|
|
||||||
zone: zone)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
Setting.api_ip_whitelist_enabled = false
|
|
||||||
Setting.address_processing = false
|
|
||||||
Setting.registrar_ip_whitelist_enabled = false
|
|
||||||
|
|
||||||
ActiveRecord::Base.transaction do
|
|
||||||
generate_default_data
|
|
||||||
generate_random_data if with_random_data
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
1
test/fixtures/users.yml
vendored
1
test/fixtures/users.yml
vendored
|
@ -18,6 +18,7 @@ api_goodnames:
|
||||||
|
|
||||||
admin:
|
admin:
|
||||||
username: test
|
username: test
|
||||||
|
encrypted_password: <%= Devise::Encryptor.digest(AdminUser, 'testtest') %>
|
||||||
type: AdminUser
|
type: AdminUser
|
||||||
country_code: US
|
country_code: US
|
||||||
roles:
|
roles:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue